2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【3Dゲームエンジン】Unity質問スレッド8

207 :名前は開発中のものです。:2014/03/21(金) 17:14:32.04 ID:a7pMEZ2l.net
void Update () {
if (Mathf.Abs(Input.GetAxisRaw("Vertical")) > 0.5) {
rigidbody.MovePosition(transform.position - transform.up * Input.GetAxis("Vertical") * speed);
}
if (Mathf.Abs (Input.GetAxisRaw ("Horizontal")) > 0.5) {
Quaternion nowAngle = Quaternion.Euler(
transform.rotation.eulerAngles.x,
transform.rotation.eulerAngles.y,
transform.rotation.eulerAngles.z
);
Quaternion afterAngle = Quaternion.Euler(
nowAngle.eulerAngles.x,
nowAngle.eulerAngles.y + circle_speed * Input.GetAxis("Horizontal"),
nowAngle.eulerAngles.z
);
rigidbody.MoveRotation(afterAngle);
}
}

水平方向のみに移動したいのでFreeze PositionのYとFreeze RotationのXとZをONにしています。
WASDで前進後進旋回をしたいのですが、壁にぶつかるとキーを入力していなくても勝手に旋回をしてしまいます。
どうすれば壁にぶつかっても勝手に移動しなくなりますか?

総レス数 1002
311 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200