Unityで前回、簡単なボールとバーの3Dゲームを作りました。 今回はその続編というかおまけ編です。
ボールがモノにぶつかったら「跳ね返る」っていう 跳ね返り要素の実装方法について解説です。
今回の主な学習のテーマは Rigidbodyと、Physic Material (物理マテリアル) です。
▼BallScript
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BallScript : MonoBehaviour
{
//2)Rigidbodyが扱える変数を用意
private Rigidbody rb;
// Start is called before the first frame update
void Start()
{
//3)Rigidbodyを取得して代入
rb = GetComponent<Rigidbody>();
//4)手前方向に力を加える(z軸)
//[4-1]力を加える方向を決める
Vector3 myDirection = new Vector3(0f, 0f, -5f);
//rb.AddForce(力を加える方向, 力を加えるモード);
rb.AddForce(myDirection, ForceMode.Impulse); // [4-2]インパルスモードで瞬間的に力を加える
}
// Update is called once per frame
void Update()
{
//1)移動の呪文(位置情報の変更)
//transform.position += new Vector3(x, y, z);
//transform.position += new Vector3(0f, 0f, -5f)*Time.deltaTime;
}
}