2011年10月30日日曜日

Unityの3Dショットゲームサンプルを試す

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

公式のチュートリアルにあるサンプルです。

3rd Person Shooter
3人称視点でのショットゲームのサンプル閉じる
http://www.unity3d.com/support/resources/example-projects/3rdpersonshooter

NPC相手に1対1のショットゲーム
マウスでaimをターゲットにあわせてクリックするとGUNがショットされる。
HPが設定されており、GUIでHPバーが表示されている。
HPがなくなるとゲームオーバー

















こっちはちょっとカスタムされたyoutubeの動画





リアルな表現をするためには細かいアニメーションが重要ですが
このサンプルではそれを表現するのに多くのアニメーションスクリプトが実装されています。
Unityではその辺が扱いやすくなっているとはいえ
ここまでくるとコードがそれなりに複雑になってきて作り上げるのもかなり苦労しそう。

2011年10月29日土曜日

UnityのCharacter Animationを試す

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
まだまだUnityに慣れていない自分は公式にあるサンプルが勉強になります。
まずはキャラクターを自由に動かしてみたいということでアニメーション部分をさぐる。
Unityの標準?についているThirdpersonAnimationでも十分くらい動いているんですが
animationの理解のためにいろいろ探る。

●Character Animation 公式
http://unity3d.com/support/resources/example-projects/character-animation
zipの中には4つのシーンでデモを見ることができる。

・シーン1 Goober
シンプルなマリオアクションとアニメーション




・シーン2 Robot Crossfade

画面がゆっくりと移り変わりゆく技法

・シーン3 Robot Simple Mixing

動作をミックスする。動きながら銃を構えるなど




・シーン4 Soldir Blend Advanced

ちょっと複雑な歩くアニメーションのブレンド





各種デモに含まれているアニメーションのスクリプトを参考にして
複雑なアニメーションを作っていけたら。
しかしJavascriptは慣れないなあ。

2011年10月19日水曜日

Rails PandaStreamをちょっとだけ試してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

小規模の動画サイトかライブ放送サイトが作れないかいろいろ探っています。
その中でherokuでアドインとして追加できるPandaStreamをちょっと試してみました。
(ただ、自分は動画のエンコード関係は全然わかりません)

・PandaStream
クラウド型で動画エンコードのサービスをしてくれるという
amazonS3のストレージと連携して使うらしい。
エンコードの特徴としてH.264へのエンコードなどができる。
動画圧縮規格の一つで高画質を保ちつつ圧縮して転送。

エンコードは画質と保ったまま圧縮する技術で
転送容量を減らしユーザーの待ち時間を減らす効果となるらしい。メモメモ

Pandastream 公式のrailsでの使い方
http://www.pandastream.com/docs/integrate_with_rails

ここに使い方がのっている。

実装サンプルがそのままあるらしいので以下

https://github.com/pandastream/panda_example_rails

gemの説明はここに載っている
https://github.com/pandastream/panda_gem

アップロード制限10MBのFree版があるので試してみた。

・準備として
amazonS3のアカウント登録 http://aws.amazon.com/jp/s3/
Bucketsを作っておく

PandaStreamのアカウント登録 http://www.pandastream.com/
ログインしてcreate new cloudでエンコードクラウドを作る
その際にamazons3のアクセスキーと、シークレットキーとBucket名が必要。

準備おわり

・gemファイル インストール

gem 'panda' (落としたサンプルはすでにソースに書かれている)
bundle installして 実行
rake db:migrateしておく

・config/panda.ymlファイルを修正
サンプルではpanda.yml.exampleになっていたのでそれをpanda.ymlとした
中身の api_host: access_key:  secret_key:  cloud_id:を埋める
amazonS3ではなくPandaのアクセスキーやシークレットキーを使う。
各キーはPandaのAPIAccessから確認できる。
クラウドIDは作ったクラウドに書かれている

production:
  api_host: (pandaのapi_host)
  access_key:(pandaのアクセスキー)
  secret_key:  (pandaのシークレットキー)
  cloud_id: (pandaのクラウドid)
  # Uncomment the line below if your account is in the EU
  # api_host: api-eu.pandastream.com
development:
  access_key: (pandaのアクセスキー)
  secret_key:  (pandaのシークレットキー)
  cloud_id: (pandaのクラウドid)
  # Uncomment the line below if your account is in the EU
  # api_host: api-eu.pandastream.com
test:          
  api_host: (pandaのapi_host)
  access_key:(pandaのアクセスキー)
  secret_key:  (pandaのシークレットキー)
  cloud_id: (pandaのクラウドid)

で実行。

newでは画像をアップロードができる




画像を選択してuploadをクリック
プログレスバーが表示されて完了したらshowページに移動
(自分の場合はなぜか更新しないとうまく表示されなかった)
以下のようにhtml5用とflv用の動画プレイヤーで動画が表示される。
(動画サンプルはGOMプレイヤーのサンプルより拝借)
























実装が非常に簡単。動画サイトであれば特に問題なさそうではある。
ただFree版は1回のアップロード制限10MBだと約1分ちょいくらいの動画までか・・・。
Pandaの有料版のSoloの場合だとその制限が解除されて月99ドル。(8000円くらい?)
これに加えてA3のストレージ容量と転送費用もある。
うーんちょっと厳しい。

・補足
RTMPによるStreamingもあるみたいだ。
ダウンロードしながら再生する。メモメモ
http://www.pandastream.com/docs/video_streaming



2011年10月17日月曜日

Ruby DxRubyでテトリスを作ってみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Rubyの勉強がてらテトリスを作ってみました。
ついでにRailsでスコアランキングのサイトも作ってみました。

テトリスR






















(ゲーム置場サイトホーム マイゲームカフェ


よくあるテトリスですがタイムアタックモードを追加してちょっと難易度もあげています。
興味ある方はやってみてください。
パッドにデフォルトで対応しているのでもっている方はそちらをおすすめします。
ベストスコアがでるとランキングサイトにスコアを登録できるので
自信のある方はとことん上を狙ってもいいとおもいます。


・作るにあたって
ゲームライブラリはDxrubyという2D用のゲームライブラリを使わせてもらっています。

DXruby公式
http://dxruby.sourceforge.jp/
こっちも公式?
http://dxruby.sourceforge.jp/cgi-bin/hiki.cgi

Sceneクラスのサンプルもチュートリアルにあるので
それを使いながら画面遷移をすれば簡単なゲームはすぐ作ることができます。
SFCやFCという昔のゲームでも良作は今やっても非常に良くできてるしおもしろい。
そういったものを目指す場合はDxrubyといった2Dライブラリで十分かとおもいます。

テトリスのRubyのコードを見ようとする方は参考にしないほうがいいかもしれません(笑
モジュールや継承を使って綺麗にまとめて作らないとねえ・・・

2011年10月15日土曜日

急にgit pushができなくなった件

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
はまってしまったのでメモ。

git push heroku  masterで以下のエラー

fatal: The remote end hung up unexpectedly

よくある鍵の問題か?前までは普通にできていたのに
鍵を確認したらちゃんと存在する。

以下もやってみた。
git remote show heroku

同じように以下のエラー
fatal: The remote end hung up unexpectedly

なんでなん!エラーの原因探そうにもこれ以上のログがない・・・


6時間くらいググりまくったり、いろいろ試した挙句
使っているウイルスセキュリティーZEROを一時的に無効にしてやるとその間はpushできた。

そういうことかよ~。どっと疲れた・・・。

2011年10月7日金曜日

Unity Locomotion System歩行運動をちょっと試してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

リアルな歩行運動のアニメーションをさせることができる機能を実装
をちょっとだけ試してみました。(というか動画見て、サンプルをちょっと動かしただけ)

Locomotion System (歩行運動)
公式の http://unity3d.com/support/resources/unity-extensions/locomotion-ik
からダウンロードできる

Unity 3D Locomotion System 日本語チュートリアル動画
すばらしい日本語のチュートリアル解説




ボーンつきのモデルにスプリクトを追加して
足の各種部分にアニメーションを設定する感じ。
(Blenderでモデルを作っている)
機能の紹介+オリジナルのモデルに歩行運動を追加する順序が説明されている

実際にパッケージを取り込んで中にあるサンプルを試してみた。

中には4つのサンプルのシーンがある
・StepWalk
段差のある床を自然な感じでアニメーションさせて歩かせる
人、犬、鳥のサンプルがある

・Planetwalk
鉄アレイをつなげたような小さな惑星の上を歩いてる感じに歩く
中心に重力が働いて逆さまになっても落ちない

・MotionAnalysis
足の動きのアニメーションタイムライン的なものが見ることができる。
人、犬、鳥のサンプルがある

・Crate climbing 木枠を登る
積み木の上を登って歩くアニメーション























ドキュメントがhtmlファイルで中にある。
英文なので理解するには訳が必要(時間があれば)

リアルな歩行運動を表現できてすごいんだけど
まだ自分には早いところかな。

Unity 爆発エフェクトDetonatorExplosionを試してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

Unityで爆発のエフェクトを作成することができるサンプルがいくつか用意されている。もとある素敵なサンプルを使うか、カスタムして使う。

youtubeにある参考動画


ここでブラウザでテストできる。(見れない場合はUnityプレイヤー必要?)

Asset storeからDetonatorExplosionで検索してダウンロードインポート
パッケージ内にすでにプレハブとして数種類用意されているのでそれを使うのがよさそう




うーん、爽快。

Unity Lens Flaresを試してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

輝くようなエフェクト、閃光や太陽の光などを表現するためのエフェクトセット
Lens Flaresを試してみました。

Lens Flares http://unity3d.com/support/resources/assets/lens-flares


Asset storeでLens Flaresをダウンロードインポート

1.Gameobject作成してComponet→Rendering→Lens Flare
2.InspecterのFlareに好きなフレアをセットする。





うーん まぶしい。

2011年10月5日水曜日

Netbeansでruby-debug19を試してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク


今までデバッグツールを使わず puts などでエラー箇所を探していたのですが
エラー箇所を特定するのに時間がかかるようになったので
デバッグツールを使ってみようということで。

gem はruby-debug19を使います。ruby1.9はこれ系じゃないと駄目?
Netbeansはデバッグ機能がついていて使いやすいらしい。


以下参考です。

github
https://github.com/denofevil/ruby-debug19

インストール方法
https://github.com/mark-moseley/ruby-debug/wiki/Installation%3A-IDE-version
参考ブログ
http://d.hatena.ne.jp/touhu-bjs/20110106/1294281778
(英語)
http://noteslog.com/post/netbeans-6-9-1-ruby-1-9-2-rails-3-0-0-debugging/


Netbeansでruby1.9のデバッグ
①gemのインストール
gem install ruby-debug19 --platform=ruby
gem install ruby-debug-ide19 --platform=ruby

②コードを修正が必要
ruby-debug-ide19-0.4.12\lib\ruby-debug-ide.rbの中142行目くらい
#replace code ruby-debug-ide19-0.4.12
#          $stderr.printf "Fast Debugger (ruby-debug-ide 0.4.9) listens on #{host}:#{port}\n"
          $stderr.printf "Fast Debugger (ruby-debug-ide19 0.4.12) listens on #{host}:#{port}\n"


ruby-debug-ide19-0.4.12\bin\rdebug-ide.rbファイルの中 78行目くらい
# replase code ruby ruby-debug-ide19-0.4.12
#Debugger::PROG_SCRIPT = ARGV.shift
script = ARGV.shift
Debugger::PROG_SCRIPT = (script =~ /script([\\\/])rails/ ? Dir.pwd + $1 : '') + script

で早速実行。


あれ、エラーエラー
Uncaught exception: undefined method `run_init_script' for Debugger:Module

require 'ruby-debug'
を追加したらいけた。
railsだとgemにかいてあるからいらないのかもしれない。

シンプルテストコード
require 'ruby-debug'

@x=5
5.times {
  @x+=1 #例えばここにブレークポイント
}
















変数をウォッチ登録すると中の値の変化がみれる。
便利すぎ、最初から使うべきでしたね・・・。

Unity 地形を作るTerain toolkitを試してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

UnityにはデフォルトでTerainを作って加工する機能があるのですがちょっと手間がかかるので
公式にある拡張のツールをUnityExtensionのTerrain toolkitを使ってみた。

以下
・ドキュメント http://www.sixtimesnothing.com/terraintoolkit/
・こっちもドキュメント(フル)http://www.sixtimesnothing.com/terrain-toolkit-manual/
・チュートリアル動画 http://www.youtube.com/watch?v=YnO9RtarzHE

以下の動画を参考にしつつやってみました。




用意されているメニューを選択するだけでだいたいの地形が作れる感じですね
岩の形状、地面の凸凹加減、さらにそこから熱、水圧、風などの浸食効果も加えることができる。
また、テクスチャーを地形の高さごとに割り当てて自動で張ってくれるので見た目もいい感じにしてくれます。各種微調整も数値でできるようです。

公式にはこういった便利な拡張機能やチュートリアルがあるので
ちょっとずつやっていこうかな

Terrain toolkitを試してみたときのメモをまとめてみたので
興味のある方は見て見てください。

Terrain Toolkit お試しメモ

2011年10月2日日曜日

簡単に無料で3Dゲーム開発ができるUnityを試してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
業界では1年くらい前から話題らしいんですが
1ヶ月くらい前のニュースではソーシャルゲームのGreeへの開発環境の提供が発表されてたので
気になって試してみました。

公式はこちら

Unity
http://unity3d.com/unity/

以下はyoutubeさんからの動画



・公式デモはこちら
横アクションゲーム http://unity3d.com/gallery/

こっちは実際にプレイきるがプレイヤーがないとできないかもしれない
ショットアクションぽい感じの http://unity3d.com/gallery/live-demos/index.html#angrybots


入門書を買って一通りためしてみました。

Unityの特徴として
・コードを書かずに3Dモデルの移動、配置ができる。
・3Dモデルの振る舞いも便利な機能がメニューとしてあるので
それを追加するだけで結構いろんなことができる。
(ないものは自分でscriptを書く)
・3DモデルやテクスチャーがWEBから落とせる。Freeもある。
・動かせるプラットフォームが多くてしかもビルドが簡単
スタンドアロン、Webプレイヤーを試しましたが、メニューをちょといと選択するだけ。
iosやandroidは有料ライセンスで対応。(未確認ですが、xbox、ps3にも対応?)

Webプレイヤーにビルドして再生してみましたがちゃんと動いていました。
3Dゲームをブラウザ上で簡単に動かせるのには驚きました。

公式にはチュートリアルが豊富にあり、その中のカーレースを試してみました。
完成品をすぐに試しましたがちょっと前のメジャーなゲームくらいの3Dレースゲームな感じです。
同じ完成品の動画がyoutubeにあります。以下のような感じです。



3Dゲームといえば、x、y、z座標を射影変換してあたり判定をコードでごちゃごちゃ書いてというイメージが強かったのですが、グラフィック部分は簡単に実現できるようになったんですね。

あと。Cartutorialをやりつつ英語勉強がてら訳しながらやってましたが
メモとしておいてるのでUnityに挑戦してみようという方に参考になればとおもいます。
(結構適当な訳しかたですが)

Unityの資料倉庫