Download - Making of ユニティちゃんステージデモ in ComicMarket 86
![Page 1: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/1.jpg)
Making ofユニティちゃんステージデモ in ComicMarket 86Unity Technologies Japan合同会社!コミュニティエバンジェリスト!
小林 信行"ゲーム未来学研究会01"
「Oculusを最前列で遊ぶ冴えたやり方」"セミナー資料"2014/10/04
![Page 2: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/2.jpg)
本日のテーマ• コミケ86で公開しました『ユニティちゃんステージデモ』制作にあたってのポストモーテムを、主にキャラクター制御の観点から行います!
• デモの組み込み自体は約2日間で終了しましたが、その高速組込を可能にしたMecanimでのキャラクター制御や、その前段階でのデータ整理のやり方等を説明します!
• プロジェクト公開と共に参加型イベントを予定してます。今日の講演が参考になることを祈りつつ…(*^_^*)
![Page 3: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/3.jpg)
本日のお品書き
C86『unity-chan!』ポストモーテムⅠ.MotionBuilderを使ったモーションキャプチャデータの調整Ⅱ.Unity上でのセットアップⅢ.完成プロジェクトのひも解き方Ⅳ.
![Page 4: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/4.jpg)
C86『unity-chan!』ポストモーテムⅠ.
![Page 6: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/6.jpg)
3Dキャラ制作
楽曲制作 モーション制作 モーション調整
ダイナミクス設定
ステージエフェクト作成
Mecanim組込 リソース結合
キャラコントロール用コンポーネント作成
3Dステージ制作(カメラポイントの設定も含む)
デモ制作の大まかな流れ
8/14 4:37 ~ 22:43 Ver1.0 Release
8/13
最終調整
ステージコントロール用コンポーネント作成
![Page 7: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/7.jpg)
何故、高速組込が可能だったのか?• Mecanim/Humanoidの柔軟性⇒本番モデル(CandyRockStar)が完成する前から、ユニティちゃんVer1.2で、モーションキャプチャデータの調整の他、音合わせを含む必要なキャラクター制御の組込自体は終了していた!
• 二人のエキスパートプログラマの手を極力止めない開発環境⇒gitを使った同時開発環境。開発開始前にgitリポジトリを準備、そこにリソース納品。!
• リソース担当が、プログラマがどのような「手」で組み上げてくるか理解した上での、リソースの準備⇒複数のDCCツールを使って時間をかけなければければクオリティアップができない部分と、Unityで楽してクオリティアップができる部分を分けて、リソースを作成
手戻りがほぼない実装を実現できた
![Page 8: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/8.jpg)
MotionBuilderを使ったモーションキャプチャデータの調整Ⅱ.
![Page 9: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/9.jpg)
モーションキャプチャとは?
• アクターのモーションを直接アニメーションデータとして取り込むシステムのこと。!
• 主な方式として、光学方式、磁気センサー方式、映像解析方式などがある。
![Page 10: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/10.jpg)
モーションキャプチャ収録風景
![Page 11: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/11.jpg)
モーションキャプチャ収録時のポイント
• 収録データの冒頭で必ずアクターさんに5秒ほどTスタンスをとってもらう"
• ダンスの場合、収録時の音楽スタートのフレームを記録しておく"
• FPSはMotionBuilder上で最終調整ができる。最低30fpsあれば問題ないが、可能なら高レートで収録しておく
![Page 12: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/12.jpg)
Unity上のモデルにMocapデータを流し込むだけ
なら、モーションデータがFBX化されていれば、Mecanim/Humanoidの標準機能だけで十分なんだよっ!
ここからは、クオリティアップのための調整ノウハウのお話になるよっ!
あまり公開されないお話なので、やり方よりも
考え方(作業の目的)に注目してねっ!
![Page 13: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/13.jpg)
キャプチャデータの調整例
手が胸に突っ込んでいるのを調整 ポーズのずれの調整し、より人間らしくする
![Page 14: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/14.jpg)
キャプチャデータの調整例
元のダンサーとの体格の違いによる、手足の先の方向ずれ(肘膝のフリップ)の調整 (C86ダンスの場合にはなかった)
![Page 15: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/15.jpg)
キャプチャデータの調整ワークフローMocapデータ
Mocapデータのキャラクタライズ
ユニティちゃんVer1.2モデル
モデルのキャラクタライズ
Mocapデータをユニティちゃんモデルに流し込み
リターゲットパラメタ(Reach/Pull)の調整
ユニティちゃんコントロールリグへMocapデータをプロット
アニメーションレイヤーを使った調整
ユニティちゃんスケルトンへアニメーションをベイク
Storyツールによるカット調整 完成
![Page 16: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/16.jpg)
キャラクタライズとは?
• 『キャラクタライズ』とは、MotionBuilder/Maya上で、HumanIK用コントロールリグを設定することを言います。!
• モデルおよびモーションをそれぞれキャラクタライズをすることで、任意のモーションをモデルに流し込めるようになります。!
• Mecanim/HumanoidでのFBXデータのRig/Animation設定と同じ考え方です。
モーションをキャラクタライズすることで、キャラクター名からモーションにアクセスできるようになります
![Page 17: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/17.jpg)
ユニティちゃんVer1.2のスケルトン階層
キャラクタライズの結果、作成されたコントロールリグ階層
ユニティちゃんVer1.2のメッシュ階層
スケルトンとリグとメッシュ
対応
バインド
キャラクタライズ
![Page 18: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/18.jpg)
Mocapデータの流し込み
こちらに変更する
![Page 19: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/19.jpg)
ユニティちゃんVer1.2のスケルトン階層
ユニティちゃんVer1.2のコントロールリグ階層
ユニティちゃんVer1.2のメッシュ階層
Mocapデータのスケルトン階層
Mocapデータのコントロールリグ階層
キャラクタライズ
Mocapアニメーションデータ
ソース変更
スケマティックで見てみると
キャラクタライズ
バインド
![Page 20: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/20.jpg)
リターゲットパラメタの調整
主にReachでモデルの各関節の位置をMocapデータ側の関節の位置になるべく近づける。 L/R Elbow Reach、L/R Hand Reach T、L/R Hand Reach R、Chest Reach Tなど。 必要に応じてPullもReach同様に調整する。
![Page 21: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/21.jpg)
リターゲットパラメタの調整
![Page 22: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/22.jpg)
コントロールリグへのMocapデータのプロットCharacter Controlsメニューより Bake(Plot) to Control Rig実行 ⇒Sourceが、ユニティちゃんモデルのコントロールリグ側に変わる。
この結果、Mocapデータのアニメーションが、モデルのコントローラ側の値に移し変えられた(リプロットされた)ことになります。
Character Controlsメニュー
![Page 23: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/23.jpg)
ユニティちゃんVer1.2のスケルトン階層
ユニティちゃんVer1.2のコントロールリグ階層
ユニティちゃんVer1.2のメッシュ階層
Mocapデータのスケルトン階層
Mocapデータのコントロールリグ階層
キャラクタライズ
Mocapアニメーションデータ
コントロールリグへプロット
スケマティックで見てみると
キャラクタライズ
バインド
Mocapアニメーションデータ
![Page 24: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/24.jpg)
アニメーションレイヤーを使った調整
アニメーションレイヤー
タイムライン
必ずSnap & Play on Framesにする
現在編集中のレイヤー元のアニメーションのレイヤー
修正キーを打つレイヤーは Additiveにしておく
![Page 25: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/25.jpg)
アニメーションレイヤーを使った調整
随時クリップを送りながら、腕が身体に突っ込んでいるような不具合部分を修正する。手の置き位置などの修正は、修正したい箇所を挟むようにまずフルボディで2つキーを打っておき、その後で修正したいコントローラをなるべく少ないキーで修正する。
![Page 26: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/26.jpg)
アニメーションレイヤーを使った調整•初期位置(Tスタンス)での手や頭の角度などの最終調整。オリジナルアニメーションにアニメーションレイヤーを追加し、レイヤー上でモーションを微調整する。 •大きめの修正はIKで、細かい修正はローテーションでやるとよい。 •モーションによっては手足がフリップすることもある。その場合はフリップする直前にフルボディモードでキーを追加してやるとよい。 •フリップ確認には、元のモーションを横にずらして一緒に再生してやるとわかりやすい •細かいコントローラの使い方や、フルボディIKの使い方は、
http://www.slideshare.net/nyaakobayashi/bd-maya-ltcharaanime131128
![Page 27: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/27.jpg)
ユニティちゃんスケルトンへアニメーションをベイク
• コントロールリグでのモーションの修正が終わったら、モデルのスケルトンへモーションをベイクする • Character ControlsメニューよりBake(Plot) to Skelton実行 • ここまで終わったらFBXセーブし、MotionBuilderのStoryでモーションのカット調整に進める。
スケルトンへのベイクが終了するとSorceはNoneに、アニメーションレイヤーはBaseAnimationになる。
![Page 28: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/28.jpg)
Mocapデータを調整する「意味」
• 本番に近いモデルに割り当てることで、動きを再確認する"
• よりキャラにあった動きやポーズに修正する"• コントロールリグに30fpsでリプロットすることで、結果Mocapデータが、いわゆるヌルヌルの状態から、適宜サンプリングされることになる"
• 調整キーを追加することで、ポーズやアクションにメリハリが生まれる
![Page 29: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/29.jpg)
ダンスアニメーションFBXの組込用仕様
0 1 60 61 7221
Tスタンス
ウォームアップ ダンスモーション本編(30fps)
音楽IN
ダイナミクスが落ち着くまでの予備時間
このフレームは、MecanimのAnimation設定側で切り落とす
![Page 30: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/30.jpg)
Storyツールによるカット調整
Storyツールのタブ
新たにシーンに読み込んだアニメーションデータを含むFBXファイルをカットしたり、繋いだりして編集します
ここでアニメーションを流し込むキャラクターと、ボディマスクを選択します
新たにシーンに読み込んだアニメーションデータを持たないキャラクタライズ済みのユニティちゃんモデル
![Page 31: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/31.jpg)
Storyツールによるカット調整• MBで新規シーンを開き、Storyパネルに編集をしたいアニメーションの含まれているFBXをD&Dする • さらに割り当てるキャラクターモデルをアニメーションなしでシーンにマージし、Storyパネル上のCharacterに指定する。キャラクターモデルのソースがNoneならば、Storyに読み込まれているアニメーションで動く。 • シザーツールなどを使いながら、アニメーションクリップのカット(尺)調整をする。 • アニメーションのカット調整が終わったら、Story上で出力したいアニメーションを指定し、右メニューより Plot Whole Scene To Current Take で、空のTake1に出力する。
シザーツール
![Page 32: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/32.jpg)
残る作業 = Mocapでは出来ない作業
• ダイナミクス(揺れ物)設定"• 手の表現(エクスプレッション)"• 表情変化の指定"• 楽曲とシンクロする口パク合わせ
全部Unity上でやってしまう!
![Page 33: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/33.jpg)
Unity上でのセットアップⅢ.
![Page 34: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/34.jpg)
ダイナミクスの設定
• ユニティちゃんVer.1.2に付属する、SpringManager.cs、SpringCollider.cs、SpringBone.csを使う。基本設定は付属ドキュメントを参照。 • 今回のセッティングでは、ユニティちゃんを一定の場所から大きく動かさないので、胸周りのスプリングは柔らかめにしてあります(ntnyさんのこだわり) • 他、上着の裾周りのスプリング設定にこだわりがあります(ntnyさんのこだわり) • SpringBoneは全部で68個入っています
![Page 35: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/35.jpg)
Mecanim:アニメーションレイヤーを使った手のエクスプレッションの追加
• 手のエクスプレッション(表情)は、Mocapで撮るのは大変なので、こちらは3dsMax上で手付けをしています(ntnyさん) • Tスタンスで手のエクスプレッションのみが変化するアニメーション入りFBXファイルを作成し、Unity上でMecanimのアニメーションレイヤーで合成します。手はボディマスクでその部分のみ、アニメーションがOverrideされるようにします • ダンスが3種類あるので、ダンスのステート変移に合わせて同じモーションを別ステートとして登録してあります
![Page 36: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/36.jpg)
Mecanim:アニメーションイベントを使った顔のエクスプレッションの追加
• ユニティちゃんVer.1.2に収録されている、FaceUpdate.csに含まれている表情切り替え用イベントコールOnCallChangeFace()メソッドを、Mecanimのアニメーションイベントで呼び出します • 手のエクスプレッションを収録しているHandExpression.fbx内でアニメーションイベントを設定することで、同じFBXファイルで手と表情のエクスプレッションを同時変更します
![Page 37: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/37.jpg)
Mecanim:アニメーションイベントを使った音楽再生のタイミング合わせ
• こちらも同様にCandyRockStarモデルにアタッチされているMusicStarter.csのOnCallMusicPlay()メソッドをMecanimのアニメーションイベントからコールします • このアニメーションイベントは、ダンスモーションに合わせる必要があるので、ダンスモーションが含まれているFBXに、音楽開始のタイミングと停止のタイミングでイベントコールが設定されています
![Page 38: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/38.jpg)
楽曲とシンクロした口パク
• シーン内にLipSyncControllerというゲームオブジェクトがあり、それにアタッチされているLipSyncController.csが担当します。 • この手の演出は、楽曲と口パクをシンクロさせるデータをどれだけ正確に作るかがキモなんですが… • 今回はかなり力業で作りました(^_^;)。その代わり綺麗です(ntnyさんのこだわり)
![Page 40: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/40.jpg)
Advanced:IKによるLookAtシステム• C86後に実装された機能です。Mecanim/Humanoidの Animator.SetLookAtWeight()と連動して、視線追従に基づく眼球ジョイントのローテーション変化を、ユニティちゃんモデルの瞳テクスチャのUVオフセットに変換して実現します • 使い方は簡単で、Mecanim/Humanoidのアバター設定(Rig/Configure)でLeft EyeおよびRight Eyeに割り当てたロケータに、各々DeltaLookAtAxis.csをアタッチし、それぞれのDeltaLookAtAxisコンポーネントから、左右の瞳オブジェクトを参照します • あとは、Animator.SetLookAtWeight()の眼球ウェイトを大きくすれば、自動で瞳のUV移動を伴う視線追従を行います • TGS用OculusRiftデモで使われているようです
![Page 41: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/41.jpg)
Unityでの実装/DCCツールでの作業仕分けのポイント
• Unityで実装したほうが楽なデータは、Unity上でやってしまう!"
• 特に使い回しが多そうなデータは、DCCツール上で組み込んでしまうよりは、Unity上で合成したほうが楽"
• Mecanim/Humanoidは、極めて強力。モーション流し込みの柔軟性はMotionBuilder以上
![Page 42: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/42.jpg)
完成プロジェクトのひも解き方Ⅳ.
![Page 43: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/43.jpg)
Unityではシーン内のゲームオブジェクトに様々な コンポーネントをアタッチすることで、機能を実現します
ひとつのCandyRockStarゲームオブジェクトに たくさんのコンポーネントがアタッチされている。 これらの各コンポーネントが、それぞれに 指定された機能を実現している。 ⇒各コンポーネントがどのようにお互いを参照しあっているかの方法を理解すると、シーン構成がわかりやすくなる
![Page 44: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/44.jpg)
ポイントは各コンポーネント間の参照関係をどうやって知るか?
•詳しくはこちらの資料を参照。http://www.slideshare.net/nyaakobayashi/how-toinspectcompletescenes130618
•プラス、今回はアニメーション関連のコンテンツなので、各LateUpdate()イベントにも注意する。細かいキャラクターの追加制御は、LateUpdate()内で行ってます
![Page 45: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/45.jpg)
クラスとコンポーネントをガレージキットで例えてみよう!
原型 シリコンゴム型 キャスト注入 製品
画像は、Wonder Festival オフィシャルサイト『ガレージキットとは』よりhttp://wf.kaiyodo.net/knowledge/garagekit/
上が超簡単に説明した、ガレージキットの製作の流れ
![Page 46: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/46.jpg)
Class / type / Instantiate / Componentの関係
原型 シリコンゴム型 キャスト注入 製品
クラス オブジェクトインスタンス化
GameObjectにアタッチすることで実体(インスタンス)化できるクラス
⇒コンポーネント
コード本体 タイプ(型)
画像は、Wonder Festival オフィシャルサイト『ガレージキットとは』よりhttp://wf.kaiyodo.net/knowledge/garagekit/
※自分で書いたスクリプトも、もちろん含まれる
![Page 47: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/47.jpg)
ポストとメモリのカンケイ??
?
![Page 48: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/48.jpg)
ポストとメモリのカンケイ??ポスト •ポストには目的に応じて様々なタイプがある •各々のポストには、住所がひも付けられている •ポストを使いたい場合、まずポストを設置し、郵便局に住所登録をしておく必要がある •ポストに何か届けたい時には、届けものに正確に住所を指定する必要がある
ポスト⇒メモリと読み替えてみると…?
![Page 49: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/49.jpg)
コンポーネント (GameObjectにアタッチされて
実体化したクラス)
ポストの用途やサイズ等(タイプ)を事前に決めて、設置する⇒「コンポーネント参照用変数を宣言する」
ポストの住所を指定して、郵便物等を送る/受け取る/利用する⇒「コンポーネントを参照する」
コンポーネント参照のための手順
![Page 50: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/50.jpg)
他にも、「カプセル化」「多態性」「継承」「オーバーライド関数」「ドットシンタックス」「名前空間」「スコープ」とか、いろいろあるけど、それはまたどこかで(^_^;)
UnityのC#コーディングで、ビギナーが迷いやすい
のは、「Unity向けのスクリプトをC#の文法で書い
ている」というトコじゃないかなっ?そこを「Unityならではのライブラリ機能」と、
「C#が元々持っている文法やライブラリ機能」を 意識して区別する練習をしてみると、コーディング
が急に楽になるよっ!
![Page 51: Making of ユニティちゃんステージデモ in ComicMarket 86](https://reader031.vdocuments.net/reader031/viewer/2022020101/54826902b4af9f496b8b4652/html5/thumbnails/51.jpg)
Q&A