Unityを勉強中なのですが、オブジェクトをx軸に左右移動をしたく、下記コードを設定しました。
ですが、「w,a,s,d」にてaキーを押下すると右に移動、dキーを押下すると左に移動と逆のx軸方向に移動してしまいます。
調べてみたところ下記コード内の「transform.right」が(-1.0,0,0)となっておりもともとのx軸がマイナスになっているため逆に動いている様です。
ですが、なぜここの値がマイナスになるかがわからず困っております。
こういった現象が起きた時どこかの設定を見たほうがいいなどありますでしょうか。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PaddleController : MonoBehaviour { public float accel = 1000; private Rigidbody rb; public GameObject bullet; void Start() { rb = GetComponent<Rigidbody>(); } private void Update() { var force = transform.right * Input.GetAxisRaw("Horizontal") * accel; rb.AddForce(force, ForceMode.Impulse); } }
■該当オブジェクトのRigidbodyの数値
Mass:50
Drag:30
Angular Drag:0.05
必ずそうなるなら、-1を乗算すれば出来ますよ。
回答1件
あなたの回答
tips
プレビュー