1.在地图上添加球体
2.为球体添加地面及围栏
3.添加其他小球作为碰撞体
4.为小球添加碰撞体插件
5.添加c#文件,将碰撞检测代码写入后拖入球体文件
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour
{
public Rigidbody rg;
// Start is called before the first frame update
void Start()
{
rg = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
rg.AddForce(new Vector3(h, 0, v));
}
private void OnCollisionEnter(Collision collision)
{
Debug.Log("开始发生");
}
private void OnCollisionStay(Collision collision)
{
Debug.Log("持续发生");
}
private void OnCollisionExit(Collision collision)
{
Debug.Log("结束碰撞");
}
}
6.添加小球移动脚本代码也拖入球体文件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CamMove : MonoBehaviour
{
public GameObject Cube;
public Vector3 offset;
// Start is called before the first frame update
void Start()
{
offset = transform.position - Cube.transform.position;
}
// Update is called once per frame
void Update()
{
transform.position = Cube.transform.position + offset;
}
}
7.然后再将摄像机跟随小球视角移动也一并拖入球体模型
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour
{
public Rigidbody rg;
// Start is called before the first frame update
void Start()
{
rg = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
rg.AddForce(new Vector3(h, 0, v));
}
}
8.所有步骤完成后点击运行即可以进入游戏控制小球移动