ぶつかれば、くっつくオブジェクトを作ってみましょう。
Sphereに触れたタイミングで、親子関係が作られて、Cubeにくっついて動きます。
関連記事:
Hingi Jointを使った振り子の動き
取ったオブジェクトを前で持ち続ける
プレーヤー操作
まずはプレーヤー操作の仕組みを作りましょう。
平面とCubeを作成し、CubeのY座標を0.5にします。
わかりやすいように色をつけます。
リジッドボディを追加します。
PlayerMove.csを作成し、Cubeに追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour { void Update() { if(Input.GetKey("up")) { transform.position += transform.forward * 0.03f; } if(Input.GetKey("down")) { transform.position += transform.forward * -0.03f; } if(Input.GetKey("right")) { transform.Rotate(0,2,0); } if(Input.GetKey("left")) { transform.Rotate(0,-2,0); } } } |
くっついてくるSphereの作成
Sphereを作成します。
Y座標を0.5にして、X座標とZ座標を触って、Cubeから少し距離をとります。
わかりやすいように色をつけました。
TouchObject.csを作成し、Sphereに追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class TouchObject : MonoBehaviour { public GameObject gameObject; void OnCollisionEnter(Collision col) { if (col.gameObject.name == "Cube") { transform.SetParent(gameObject.transform); } } } |
ゲームオブジェクトのフィールドに、Cubeを入れます。
ゲームプレイして、十字キーでCubeを操作しましょう。
Sphereにぶつかれば、親子関係が作られて、Cubeにひっついて動いていきます。