(今回はこんなことを学びます)
・オブジェクトに「画像」を貼り付ける方法
・オブジェクトに触れると「加速」する方法
(1)オブジェクトに画像を貼り付ける方法
・まず、「Hierarchy」→「Create」→「3D Object」→「Cube」で新たにオブジェクトを1つ作成してください。
・名前は「AccelPoint」に変更してください。
・Position(位置)は「X=0, Y=0.005, Z=3」にします。
・Scale(大きさ)は「X=3, Y=0.01, Z=2」にします。
次に、AccelPointに貼り付ける画像をUnityにインポートします。
・「Assets右クリック」→「Import New Asset….」で画像をインポートしてください。
・オブジェクトに色を付ける時に使用する「Material」を作成してください。
・「Material」の名前も「AccelPoint」に変更します。
・インポートした画像を「Material(名前;AccelPoint)」の「Albedo横の四角」にドラッグ&ドロップしてください。
2箇所に絵柄が入れば成功です。
・「Material(名前;AccelPoint)」を「オブジェクト(名前;AccelPoint)」にドラッグ&ドロップしてください。
オブジェクトに画像が付いたことを確認してください。
この画像を微調整しましょう。
・「AccelPoint」の「Rotation」を「Y=90」にしてください。
画像の向きが変わります。
・「MateriaのAccelPoint」を選択します。
・「Tiling」の「XとY」の数値を変えると、画像を細かく配置することができます。(床にタイルを敷き詰めるようなイメージです。)
*数値を自分で好きなように変更してみましょう。
これで画像の準備ができました。
次は、スクリプト(台本)の準備です。
(2)加速装置のスクリプト
・まず「C# Script」を作成し、名前を「AccelPoint」に変更します。
・作成した「AccelPoint」スクリプトをダブルクリックします。
・下記のお手本を参考にコードを書いてみましょう。
*横スクロールするとコード全体を見ることができます。↓
using UnityEngine; using System.Collections; public class AccelPoint : MonoBehaviour { // ★このメソッド(命令ブロック)を記載する void OnTriggerEnter(Collider other){ other.gameObject.GetComponent<Rigidbody>().AddForce(new Vector3(0,10,30), ForceMode.VelocityChange); } }
・コードが書けたら、スクリプト(台本)をオブジェクトにドラッグ&ドロップしましょう。
・「Hierarchy」で「AccelPoint」を選択
・(重要!)「is Trigger」にチェックを入れます。
*これで、AccelPoint に他のオブジェクトがぶつかった時、「OnTriggerEnter」の命令ブロックが実行されるようになります。
さあ、これで準備が整いました。
「再生ボタン」を押して確認してみましょう。
BallがAccelPointに触れた瞬間、加速すれば成功です。