トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

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


参考