由滑鼠點擊后發出一條射線,射線碰到正方體后,正方體不停的旋轉,射線碰到球后不停地移動。然后有一個恢復鍵,點擊恢復鍵后球和正方體恢復最初的位置。下邊是我扒拉半天,湊的代碼,也不對,求幫忙,謝謝
uj5u.com熱心網友回復:
你這個代碼看不清呀uj5u.com熱心網友回復:
代碼 我已經成功讓他復原了,但是我想讓小球一直運動,不是射線碰到一下動一下,而是一直運動。謝謝
ublic class c00 : MonoBehaviour { // Use this for initialization
public float speed;
private Camera _camera;
private GameObject ob;
private bool MovementPosition;
private Vector3 spherePosition;
void Start () {
_camera = GetComponent<Camera>();
} // Update is called once per frame void Update () {
if (Input.GetMouseButton(0)) {
Ray rays = _camera.ScreenPointToRay(Input.mousePosition);//創射線 Debug.DrawRay(rays.origin, rays.direction * 100, Color.blue);//一條藍線 RaycastHit hit; //創建一個RaycastHit變數用于存盤反饋資訊 if (Physics.Raycast(rays, out hit)) { if (hit.collider.name == "sphere") { ob = hit.collider.gameObject; ob.GetComponent<Rigidbody>().MovePosition(ob.transform.position + Vector3.right * speed * Time.deltaTime); } }
uj5u.com熱心網友回復:

要學會看API,你用的MovePosition,這個方法是移動到某一個position,你想要一直運動應該用ob.GetComponent<Rigidbody>().velocity = transform.forward * Time.deltaTime * 100;這里我是物體前方向,移動方向和速度你自己調
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/37575.html
標籤:Unity3D
上一篇:Vue學習—深入剖析JSX
下一篇:spyder
