▶
【Unity連載】プレハブの使い方①(作成・複製)
▶
【Unity連載】プレハブの使い方②(編集)
▶
【Unity連載】BGM・SE(効果音)の付け方
▶
【Unity連載】uGUI(Scrollbar)の使い方を詳しく解説
▶
【Unity連載】uGUI(InputField)の使い方を詳しく解説
▶
【Unity連載】uGUIのCanvasとRenderModeについて詳しく解説
▶
【Unity連載】GetComponentを具体例付きで解説
▶
【Unity連載】GameObject.Findを具体例付きで解説
▶
【Unity連載】Instantiateを具体例付きで解説
Unityを初めて1週間の人に読んでほしいC#のQ&A
何かが解決できない時の確認用に(随時追加予定)
※ 元ネタは実際に生徒からよく受ける質問が多め。
Q:C#スクリプトはどうやって作ればいいの?
A:プロジェクトビューで右クリックして、Create → C# Script
Q:エラーは出てないのにスクリプトをゲームオブジェクトにアタッチできない!
A:スクリプトに書かれてるクラス名とファイル名が違う可能性あり。
大文字小文字も含めて一致させましょう。
Q:スクリプトからコンポーネントを取得したい
A:gameObject.GetComponent<コンポーネント名>(); で、そのスクリプトがアタッチされたゲームオブジェクトのコンポーネントを取得できます。
このとき「gameObject.」の部分は省略可。
※ 原則は「ゲームオブジェクト.ゲットコンポーネント」と覚えておくと↓のケースで迷わないで済むかも。
Q:スクリプトから別のゲームオブジェクトのコンポーネントを取得したい
A:まずは目当てのゲームオブジェクトを取得しましょう。
ゲームオブジェクトは GameObject.Find(“ゲームオブジェクト名”) で検索取得できます。
(変数を宣言してゲームオブジェクトを格納しておくなどもっとパフォーマンスの良い方法もありますが、変数とかよくわからんって人はひとまずこれ)
最終的には、GameObject.Find(“ゲームオブジェクト名”).GetComponet<コンポーネント名>()で、スクリプトがアタッチされているゲームオブジェクトとは別のゲームオブジェクトのコンポーネントが取得できます。
Q:コンポーネントが取得できたら何ができるの?
A:コンポーネントが取得出来ると、そのコンポーネントの各プロパティが参照できます。
例えばTransformならpositionやrotationなどの値が取得できる感じですね。
プログラムからコンポーネントを取得すると、インスペクターで表示されているプロパティだけでなく、コンポーネントが内部で保持しているプロパティも参照できたりします。
(例えばRigidbodyのvelocityなどは、インスペクターには表示されていませんが非常に利用頻度の高いプロパティです。)
▶
【Unity連載】プレハブの使い方①(作成・複製)
▶
【Unity連載】プレハブの使い方②(編集)
▶
【Unity連載】BGM・SE(効果音)の付け方
▶
【Unity連載】uGUI(Scrollbar)の使い方を詳しく解説
▶
【Unity連載】uGUI(InputField)の使い方を詳しく解説
▶
【Unity連載】uGUIのCanvasとRenderModeについて詳しく解説
▶
【Unity連載】GetComponentを具体例付きで解説
▶
【Unity連載】GameObject.Findを具体例付きで解説
▶
【Unity連載】Instantiateを具体例付きで解説