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
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. –
"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
@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