一、小球的移动
1.在右边层级(Hierarchy)右键找到并点击3D对象(3D Object)选择球体(Sphere)和平面(Plane)双击创建。自己调好球体和平面位置,给球体添加刚体(Rigidbody)可以让球体掉落。
2.给小球移动:在项目中找到创建(Create)中点击创建C#脚本(C# Script)命名move并打开。输入以下代码(别看错)。
public class move : MonoBehaviour
{
public Rigidbody RD;//用于小球刚体
private bool isground= false;//用于小球的接触值
private Transform player;//移动值
void Start()
{
//通过关键语句获取相应类型的组件
RD = GetComponent<Rigidbody>();
player = transform;
}
void Update()
{
//设置L Shift健这里想的是只有向前给小球加速
if (Input.GetKey(KeyCode.LeftShift))
{//嵌套判断
if (Input.GetKey(KeyCode.W))//设置W健
{
player.Translate(Vector3.forward * 4.0f * Time.deltaTime);//设置移速和方向
}
}
else
{
if (Input.GetKey(KeyCode.W))
{
player.Translate(Vector3.forward * 2.0f * Time.deltaTime);
}
}
if (Input.GetKey(KeyCode.S))//设置S健
{
player.Translate(Vector3.back * 2.0f * Time.deltaTime);
}
if (Input.GetKey(KeyCode.A))//设置A健
{
player.Translate(Vector3.left * 2.0f * Time.deltaTime);
}
if (Input.GetKey(KeyCode.D))//设置D健
{
player.Translate(Vector3.right * 2.0f * Time.deltaTime);
}
//设置空格=space
if (Input.GetKeyDown(KeyCode.Space) && isground)
{
RD.AddForce(Vector3.up * 200);//高度
}
}
回到U3D界面把C#脚本move按住鼠标左键拖入球体(Sphere),在右边找到脚本在RD中选择球体(Sphere)的刚体。好像不弄也行
3.视野判断反向:创建C#脚本(C# Script)命名fov并打开。输入以下代码。
public class fov : MonoBehaviour
{
public GameObject Sphere;//目标
public Vector3 offset;
// Start is called before the first frame update
void Start()
{
offset = transform.position - Sphere.transform.position;
}
// Update is called once per frame
void Update()
{
transform.position = Sphere.transform.position+offset;
}
}
把C#脚本fov按住鼠标左键拖入摄像机(Camera),调好摄像机位置和方向,然后在右边找到脚本在中Sphere选择球体(Sphere)。
试试看吧!