Unity3d物体运动到指定位置

int smooth = 2;
Quaternion target = Quaternion.Euler(0, 0, 0);//目标
// Dampen towards the target rotation
transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth);

 

《《《《《《《《《《《《《《鼠标左键地形  物体移动至点击位置》》》》》》》》》》》》》

 

             var moveSpeed:int=5;//player移动速度   
  1. var player:Transform;//定义一个人物的Transform   
  2. private var endposition : Vector3;  
  3.   
  4. function Start()  
  5. {  
  6.     endposition = player.transform.position;  
  7. }  
  8.   
  9. function Update ()   
  10. {  
  11.       
  12.    if(Input.GetButtonUp("LeftMouse")){ //LeftMouse是在inputManager中设置的,左键值为mouse 0   
  13.        PlayerMove();  
  14.    }  
  15.    var targetposition=player.TransformPoint(Vector3(0,48.8,-30));  
  16.    transform.position=targetposition;//相机的目标位置,这两句代码的作用是让人物一直处于相机的视野下   
  17.    if(endposition != player.transform.position){  
  18.        player.position=Vector3.MoveTowards(player.position,endposition,Time.deltaTime*moveSpeed);  
  19.    }  
  20. }  
  21.   
  22.   
  23. function PlayerMove()  
  24. {  
  25.     var cursorScreenPosition:Vector3=Input.mousePosition;//鼠标在屏幕上的位置   
  26.     var ray:Ray=Camera.main.ScreenPointToRay(cursorScreenPosition);//在鼠标所在的屏幕位置发出一条射线(暂名该射线为x射线)   
  27.     var hit:RaycastHit;  
  28.     if(Physics.Raycast(ray,hit)){  
  29.        if(hit.collider.gameObject.tag=="Terrain"){//设置地形Tag为Terrain   
  30.            endposition = hit.point;  
  31.        }  
  32.     }  
  33. }     

 

你可能感兴趣的:(U3D技术)