Unityに関連する記事です

間違えやすい点

 これは同時に、わかりにくい点であるとも言い換えられます。

スクリプトにおけるGameObjectとgameObjectの違い(Transformとtransformの違い)


 最初の文字が大文字のGameObjectは、intやstringなどと同じで「GameObject型」という型の種類になります。
 最初の文字が小文字のgameObjectは、このスクリプトがアタッチされているゲームオブジェクトが代入されている「変数」になります。
 
 特にはじめのうちは、この使い方がよくわからないと思いますが、大文字のGameObjectは型なので、基本的には変数と合わせて宣言しないと使えないと覚えてください。
 小文字の gameObject は変数ですので、中の値にはスクリプトがアタッチしているゲームオブジェクトが代入されていると覚えてください。

 なお、Transformとtransformも同様です。

 最初の文字が大文字のTransformは、intやstringなどと同じで「Transform型」という型の種類になります。
 最初の文字が小文字のtransformは、このスクリプトがアタッチされているゲームオブジェクトの持つ、Transformコンポーネントの値が代入されている「変数」になります。

プレファブのアサイン情報について

 public 修飾子で宣言した型の変数には、ヒエラルキー上にあるゲームオブジェクトの情報(クラスやコンポーネント)をアサインしておくことが出来ます。
ただしこれは、ゲーム実行時に、アサイン元のゲームオブジェクトがヒエラルキー上に存在していることと
アサイン先であるゲームオブジェクトとが、ヒエラルキー上に同時に存在している必要があります。

アサインできる場合


 この例の場合ですと、インスペクターの表示されているGameManager(Script)はMapDataのアサインを取得出来ています。
何故ならばMapDataの情報を持つゲームオブジェクトがヒエラルキー上にあり、かつ、このGameManagerのゲームオブジェクトもヒエラルキー上に存在しているからです。

アサインできない場合


 この例の場合では、PlayerというプレファブにGameManagerのアサイン情報を取得したいのですが、残念ながらアサインは出来ません。
何故ならば、Playerというゲームオブジェクトはヒエラルキー上にない設計図の状態であり、アサインしたい情報であるGameManagerは
ヒエラルキー上に存在しているためです。


 そのため、プレファブ化してヒエラルキー上に存在していないゲームオブジェクトには、ヒエラルキー上にあるゲームオブジェクトの情報を事前にアサインすることはできません。

 よってプレファブのアサイン情報は、プレファブが生成された後にアサインを行う必要があります。

 例外として、プレファブ自身やプレファブの子オブジェクトの持つ情報(クラスやコンポーネント)については、事前のアサインが可能です。

アサインについて

 ゲームオブジェクトに事前にアサインできる情報とは、いずれかのゲームオブジェクトにアタッチされてるコンポーネント、あるいはクラス、あるいはゲームオブジェクトそのものだけです。
 スクリプトの情報が欲しいからといって、スクリプトのファイル自体をアサイン情報にアサインすることはできません。
必ずゲームオブジェクトにアタッチされているスクリプトをアサインする必要があります。

 スクリプトをゲームオブジェクトにアタッチする動作と、アサインできる情報をアサインする動作はどちらもドラッグアンドドロップで操作できますが
異なる処理であることを忘れないでください。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3Dレールガンシューティング(応用編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます