2016-03-28 18 views
0

Birliğe gerçekten çok yeni geldim, böylece bir küpü taşıyabileceğiniz basit bir 2d projesi yapmak istedim. Bu yüzden küpü hareket ettirmek için bir betik yaptım ama oyunu oynadığımda Z X ile birlikte değişir, böylece haritanın düşmesine sebep olur.Bu küpü taşıdığımda neden z değişiyor? [C#] [Unity]

video: https://www.youtube.com/watch?v=M9oHSc6dN2A&feature=youtu.be

betik kullandığım:

using UnityEngine; 
using System.Collections; 

public class PlayerMovement : MonoBehaviour { 
    private Vector2 input; 

    public float movementSpeed = 50f; 
    private float horizontal; 

    // Use this for initialization 
    void Start() { 

    } 

    // Update is called once per frame 
    void FixedUpdate() { 
     horizontal = Input.GetAxis ("Horizontal"); 

     rigidbody.AddForce ((Vector2.right * movementSpeed) * horizontal); 
    } 
} 

kullanıyorum Kişisel rijit cisim Use Gravity kontrol etti 4

+0

Sürtünme veya daha fazla fizik var mı? Katıların kendilerine bağlı bazı fizik materyalleri var mı? 'AddForce()' çağrısını 'transform.position = transform.pozition + movementSpeed ​​* Time.deltaTime * horizontal * Vector2.right;' ile deneyebilir ve değiştirebilirsiniz. Hem zeminin hem de küpün dönüşü sıfırlandı mı? Sertlikten güç uygulayan fizikteki yanlışlıklar gibi görünüyor. –

+0

"Rigidbody" türü (ripidbody) (http://docs.unity3d.com/ScriptReference/Rigidbody.html) veya [Rigidbody2D] (http://docs.unity3d.com/ScriptReference/Rigidbody2D.html) türü nedir? [Bu] 'ya göre (http://docs.unity3d.com/ScriptReference/Vector2-operator_Vector2.html) Vector2, 3'üncü' Rigidbody 'kullanırken' Z 'yönünde istenmeyen davranışlara neden olabilecek Vector3'e dolaylı olarak dökülebilir. ve kuvvetler ekleyerek. – Quantic

+0

@Quantic Hmm ... 'Vector3' bir 'Vector3' dosyasına dökülebilir olsa da, dokümanlar z değerinin sıfıra ayarlandığını belirtir (böylece z ekseni boyunca uygulanan bir kuvveye yol açmamalıdır)). Bunun niçin gerçekleştiğine dair pek bir fikrim yok - OP için bir çözüm, hala gizemi çözülmemiş olsa da, Rigidbody'de Z çevirisini dondurmak olacaktır. – Serlite

cevap

1

birlik. Romove bunu ve istediğin şekilde çalışmalı. [Yanlış eksen]

Düzenleme:

bir rijit cisim bir kısıtlama özelliğine sahiptir. Orada z konumunu dondur.

enter image description here

+0

arasında geçiş yapmasını istiyor Evet biliyorum ama yerçekimi olmayacaktım: p – Gewoo

+1

Ah, eksenin yanlış izlenimini alıyordu. Düzenlememe bak. –

+1

@GunnarB. "Önizleme" kahrında "bendy okları" nı kullanarak harika cevaplarınıza çok cazibe kattırabilirsiniz - burada yerel oylama okunun taklidi rengiyle eşleştirdim. – Fattie