(今回はこんなことを学びます)
・ある物体に触れるとBallが加速する方法
・物体に画像を貼り付ける方法
(物体に画像を貼り付ける方法)
・まず、「Hierarchy」→「Create」→「3D Object」→「Cube」で新たに物体を1つ作成してください。
・名前は「AccelPoint」に変更してください。
・Scale(大きさ)は「X=3, Y=0.01, Z=2」にします。
・Position(位置)は「X=0, Y=0.005, Z=0」にします。
次に、AccelPointに貼り付ける画像をUnityにインポートします。
・「Assets右クリック」→「Import New Asset….」で画像を取り込んでください。
・物体に色を付ける時に使用する「Material」を作成してください。
・「Material」の名前も「AccelPoint」に変更します。
・インポートした画像をMaterialの「Albedo」横の四角にドラッグ&ドロップしてください。
・「Material(名前;AccelPoint)」を物体(名前;AccelPoint)にドラッグ&ドロップしてください。
物体に画像が付いたことを確認してください。
この画像を微調整しましょう。
・「AccelPoint」の「Rotation」を「Y=90」にして、上むきの矢印画像にします。
(ちょっとポイント!)
・MateriaのAccelPointを選択します。
・「Tiling」の数値を変えると、画像を細かく配置することができます。(床にタイルを敷き詰めるようなイメージです。)
これで画像の準備ができました。
次は、スクリプト(台本)の準備です。
(加速装置のスクリプト)
・まず「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,0,10),ForceMode.VelocityChange); } }
・コードが書けたら、スクリプト(台本)を物体に適用します。
・物体のAccelPointを選択
・「is Trigger」にチェックを入れます。
*これで、AccelPoint に他の物体が触れた時、「OnTriggerEnter」の命令ブロックが実行されるようになります。
さあ、これで準備が整いました。
「再生ボタン」を押して確認してみましょう。
BallがAccelPointに触れた瞬間、加速すれば成功です。