Diary/2024-6-14
Unity 入門
何度か目の入門.Linux版でチャレンジ.
マンガでわかる Unityゲーム開発入門の写経+δ.
適度に達成感を感じられるゴール設定と,丁寧な説明がよかった.
GameObject → UI → Legacy → Text で作ったテキストが表示されなくてドハマりしたけど,
それは,Canvas の Render Mode を World Space にして解決.
Screen Space の Overlay や Camera でも適切に設定した*つもり*だったんだけどなあ...
とりあえず,最後まで一通りやってみて,
クリアとかゲームオーバとか追加してみるなど,ちょこちょことした要素を追加してみるなど.
しかし,これ,しばらくやらないと忘れそうだな.
ざっとメモしておくと...
- キャラクタを用意する
- 何か素材を用意する
- 素材をAssetsに追加する
- Assetsに追加したものをSceneに追加する.
- サイズとか変える
- Assets -> Create -> C# Script でスクリプト書く
- public 変数は,Add Component時に Inspector で設定できる
- Hierarchyでキャラクタのインスタンスを指定.
- InspectorのAdd Componentでスクリプトを指定
- ゲーム全体のロジックを用意する
- GameObject → Create Emptyで空のAssetを用意.GameManagerと名付ける
- Assets -> Create -> C# Script でスクリプト書く.GameManager.csとかにしとく
- GameManagerのインスタンスにGameManager.csのクラスをAdd Componentする
- ゲーム起動後にインスタンスを生成したい
- HierarchyのインスタンスをAssetsにもっていてPrefab化する
- Hierarchyからインスタンスを削除する
- これでSceneからなくなる
- スクリプトで適切に生成する.
- public GameObject obj; とかって定義するとInspectorで紐付けできる
- Instance(obj, 場所,Quaternion.identity)で生成
- 消すときはDestroy.生成したインスタンス側で消したければ Destroy(this,gameObject) でよい.
- アニメーションが欲しい
- 複数画像を一度にScene上にインスタンス化する
- 三角アイコン(Animation Clip)をOpenしてタイムチャートを表示.
- AnimationEventを追加
- 追加したAnimationEventの終了時のFunctionを設定
- C#スクリプトでFunctionの実体を定義
- テキスト
- GameObject → UI → Legacy → Text
- すごく大きいオブジェクトがSceneに追加される
- CanvasのRender Mode を World Space にする
- ビルド
- File -> Build Settings で Build
- ビルド先は新規にディレクトリ作成しておいた方がいい
- WebGLではくとき
- Build Settings -> Player Settings...
- Player -> publishing Settings の Compression Format を Disabled にする
- 音を追加したい
- 追加したいPrefabやGameObjectで Add Component で Auido → Audio Source
- Audio Sourceに音ファイルを指定
- 起動時から流したくなければ,Play On Awake のチェックをはずす
- 音を再生したいところで this.GetComponent<AudioSource>().Play(); とする.
- GitHubでコード管理する
- リポジトリ作成時に .gitignore を Unity 用に作成しとくと便利
- git init → git remote add origin git@github.com:ほげほげ → git pull origin main
- あとは add して commit して push
- cloneした側で,Sceneがない!!ってなったときは,File → Open Scene でファイルを開く
- Assets/Scenes/ほげ.unity
参考