前提・実現したいこと
重力を自然に行いたい
ジャンプさせたい
発生している問題・エラーメッセージ
前後左右には普通に移動できるが上下きちんとに力が働いていない
落ちるスピードがかなりゆっくりになっている
エラーは出ていません
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5 6public class PlayerMove : MonoBehaviour 7{ 8 float movespeed=10.0f; 9 10 Rigidbody rb; 11 GameObject playercamera; 12 13 private void Start() 14 { 15 playercamera = this.transform.Find("PlayerCamera").gameObject; 16 rb = GetComponent<Rigidbody>(); 17 } 18 19 private void FixedUpdate() 20 { 21 Walk(); 22 Jump(); 23 } 24 25 void Walk() 26 { 27 var hori = Input.GetAxis("Horizontal"); 28 var vert = Input.GetAxis("Vertical"); 29 30 Vector3 movevactor= Vector3.zero; 31 32 Vector3 forward = playercamera.transform.forward; 33 Vector3 right = playercamera.transform.right; 34 35 movevactor = movespeed * (forward.normalized * vert + right.normalized * hori); 36 37 rb.AddForce(100*(movevactor - rb.velocity)); 38 } 39 40 void Jump() 41 { 42 if (Input.GetAxis("Jump") != 0) 43 { 44 rb.AddForce(new Vector3(0, 5, 0), ForceMode.Impulse); 45 } 46 } 47}
試したこと
ジャンプする為の力を変えても解決しなかったりそもそも上に上がりませんでした
重力を変えると落ちる速度は変わりますがその速度自体は一定です
Walk()の部分をコメント化して実行すると改善されました
補足情報(FW/ツールのバージョンなど)
Unity 2019.4.12f1 Personal
Microsft Visual Stadio
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。