用unity来写小球转向后向目标移动 +c#脚本

来源:互联网 发布:在阿里申请域名和 编辑:程序博客网 时间:2024/06/06 10:42

1.创建场景:

如图所示,在场景中加载一个cube、sphere、plane,

2.写脚本:主要脚本加在cube上,


主要本如下:

  

public class Move : MonoBehaviour {public Transform bbb; public float t=0;public Quaternion aaa;void Update ()
           {mouseClick ();//cubeRotate ();cubeYidong ();    }
void mouseClick(){if (Input.GetMouseButtonDown (0)){Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hit;if (Physics.Raycast(ray,out hit)){if(hit.collider.gameObject.name=="Plane"){t=0;aaa = this.transform.rotation;bbb.position=new Vector3(hit.point.x,this.gameObject.transform.position.y,hit.point.z);}}}}
void cubeRotate(){t += Time.deltaTime;this.transform.rotation = Quaternion.Slerp (aaa,Quaternion.LookRotation(bbb.position-this.transform.position),t);}
void cubeYidong (){if (Quaternion.Angle(this.transform.rotation,Quaternion.LookRotation (bbb.position-this.transform.position))<0.05f) {this.transform.position = Vector3.Lerp(this.transform.position,bbb.position,Time.deltaTime);}     }}

0 0
原创粉丝点击