2013年1月24日木曜日

Unity使ってみた

PlayもそこそこにUnityもいじってみた.
…意外とコード書かないなぁこれ(感想)


はじめてのUnity


ここを参考にまずはイロイロいじってみた. ただまだ第1回しかなく第2回は近日公開…
近日っていつですか(・ω・`)

そんな中でまずは基礎的なところをメモメモφ(・ω・ )

1. プロジェクトとシーン

プロジェクトはゲーム本体, シーンはそのステージ, といった関係. なので1プロジェクトの中にたくさんのシーンを持つことができます. もちろんシーンから別シーンの遷移も可能. ただし編集していられるのはシーン1つずつのみ. 別シーンを開くときはセーブを忘れずに.
共同開発時のネック. シーンの衝突だけは避けましょう. 泣けます. なにいじっても衝突するので素直に声掛け合って編集するのは一人だけにする, のが一番かと.

チラッと見た話では一つのシーンを分割して作り, 後で合成して一つのシーンにするなんてやり方も…

2. ホイールボタン

3D系ツール(Blender等)をつかってて感じたホイールボタンの重要性. Unityのシーンビュー内ではホイールボタンを転がしてズーム, 右ドラッグで回転ですが, ホイールボタンドラッグで画面を平行移動ができます. ホイールボタンドラッグとかこのマウス買ってから初めて使った( ´_ゝ`)

3. asset

光, 空, 地形や水など, 普通に作ったらそれだけで製作期間が楽しいことになりそうなものは, Unityが標準で用意しているものからユーザーが作ったものまでイロイロ用意されています.
どこかの記事では「既にあるものは最大限利用しましょう」なんて書かれているほど. 特に車なんかはめんどくさいそうなので慣れるまではこちらを流用しましょう, らしい.
標準のものは
[Asset] → [Import Package] → からいろいろ選べます.
ただし中には素敵に重いものもあるので, スマホ向けを考えているなら容量に注意, いろいろ眺めて必要なものだけ入れましょう.

4. ライセンス

もっと先にメモすべきことだったorz 無料版でも十分に作れるUnity. ただしAndroid, iPhone向けにビルドしたい, 欲張って箱○やらPS3やらでやりたい!なんて考えると, それぞれにビルドするために, それぞれ別々のライセンスが必要です. なのでAndroidだけやりたいならAndroid用ライセンスが別途必要ですお客様. 無料版でできるのはhtml版の書き出しだけ. 往年のFlashゲーム時代を彷彿とさせます.

5. オブジェクトの配置(床と壁)

3. の通り地形用assetもあるけれど, まずは基本.

Hierarchyビューの左上の [Create] か
[GameObject] → [CreateOther]

からCubeを選択. これをシーンから選択してやるとInspectorビューにそのオブジェクトの情報がいろいろ出てきます.
まずはそのオブジェクトの位置や回転などを表すTransformの項目をいじって原点付近にあわせましょう. Scaleをいじれば大きさも変更可能. 基本はこれで平べったくして床を生成する. 部屋の床など平らなところは基本これでOK.
同様に縦に伸ばしてやれば柱や壁の完成. 色についてはまた別のところで.
これをPositionをいじって並べてやればフィールドの完成.

6. プレハブ化

かなーり大事なところ1号. 要するに作ったオブジェクトを登録しておき, 複製などをしやすくするための機能.

 一番シンプルなやり方は, Hierarchyビューにある, プレハブ化したいオブジェクトを, ProjectビューのASSETディレクトリの中にドラッグ&ドロップ. これでASSETの中にHierarchyの中にあったオブジェクトがASSETの中にコピーされるはず.
このASSETの中のオブジェクトを今度はSceneビューにドラッグ&ドロップ. これでOK, シーンにオブジェクトが追加されたはず. 5. の壁などや大砲の弾など, シーン中で同じものをたくさん使うなら是非こちらを.
名前はそれっぽいのを付けておきましょう. Cubeが立ち並ぶASSETとか泣けます.
ちなみにスクリプトから動的に作成するときなどは, プレハブ化しておかないと動的に作成とかできないので, 弾丸みたいなものは設定がすんだらプレハブ化しておきましょう.

7. 親子

かなり大事なところ2号. 例えば5. で作った床と壁, 今はバラバラにしか動かせないので, いざ床の位置を変えたくなったら全部変えないといけません. そこで親子化.
これまた設定は楽で, Hierarchyビューの子にしたいオブジェクトを親にしたいオブジェクトにドラッグ&ドロップ. これだけ. これでHierarchyビューではディレクトリの階層構造のようになっているはず.

このとき 親 のほうをSceneビューから動かすと, 子にあたるオブジェクト全ての位置が変更されます. 子だけを選択してInspectorを見ると, なにやら表示が太線に. これは
親のオブジェクトの基準点
から見た相対的な座標が表示されています.
これにより親のTransformの変更に紐付けた子のTransformも同時に変更されます.
もちろん子だけを選択した状態なら選択中のオブジェクトの位置を変更できる.
部屋の全景の作成や, 複数のオブジェクトがまとまってできる一つのオブジェクト, なんてものを作るのに便利.

ちなみに
[GameObject] → [Create Empty]
で空のオブジェクトが作れます.
ここに床, 壁とそれぞれ放り込んでやるとフィールドの管理とかしやすいとか, そういった使い方.
カメラもこれで管理すると楽…かも?



ほんとにただのメモ書きだぁ・・・('A`)


0 件のコメント:

コメントを投稿

AWS CDKで立てたEC2インスタンスのTimeZoneとかいじりたかった話

EC2を立てることはできたけど、立てたインスタンスは UTCのままだし設定ファイルとかいちいちscpしてくるのはダルい。 当初UserDataでなんとかしようとしたものの、「書く量がヤバいしメンテしにくい」と悩んでいたところ見かけたのが  AWS::CloudFormation:...