[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild4 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
235(2): 弟子 ◆rZPPjYuxmQ 2020/04/22(水)13:37 ID:kYRnjPG5(1) AAS
>>225
画像リンク[png]:i.gyazo.com
まずこれがオブジェクトにスクリプトをアタッチし、public変数に設定した例
画像リンク[png]:i.gyazo.com
こちらがProject欄にあるスクリプトのPublic変数、ここへは「シーン上」のオブジェクトは設定できない
画像リンク[png]:i.gyazo.com
こちらが同じスクリプトにPrefabを設定した例、Prefabなら設定できる
まずpublic変数は外部からの設定が出来る変数で、シーンのobjectにアタッチすれば、インスペクタで設定できる。
prefabというのは特殊なオブジェクト。これはシーン上に即反映できるものでシーンに無いスクリプトにもアタッチできる。
という事。
違いは、シーン上にあるものか、そうでないか。シーン上のobjectはProject欄には置けないですうよね?
それがPrefabという事。Prefabの詳細については、公式の説明参照で。
>>230
公式の説明見ると分かると思うけど
外部リンク[html]:docs.unity3d.com
(2番目の例が分かりやすい)
InstantiateはGameObjectを返すので、位置など設定する場合には、そのオブジェクトを指定する
GameObject obj = (GameObject)Resources.Load("Prefab");
Instantiate(obj, new Vector3(1.0f, 1.0f, 0.0f);, Quaternion.identity, parent);
obj.transform.localPosition = new Vector3(100.0f, 100.0f, 0.0f);
この場合、「obj 」はResourcesにあるObjectで、Instantiateで生成した物ではないです
だからobj.transform.localPositionをしても意味が無い。
公式の例のように返りを指定して
clone = Instantiate(projectile, transform.position, transform.rotation);
それの値をいじります。
clone.velocity = transfor…
上下前次1-新書関写板覧索設栞歴
あと 767 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.012s