unityのコードレビューしてくれ。 (105レス)
unityのコードレビューしてくれ。 http://mevius.5ch.net/test/read.cgi/tech/1678963741/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
9: デフォルトの名無しさん [] 2023/03/17(金) 07:40:46.47 ID:aeVIJ/KU >>7 全然違うが? ころすぞ? http://mevius.5ch.net/test/read.cgi/tech/1678963741/9
10: デフォルトの名無しさん [] 2023/03/17(金) 07:42:27.72 ID:aeVIJ/KU アップデートに毎回GetConponentやってるのがだめなんじゃね? Start()に入れてみろ http://mevius.5ch.net/test/read.cgi/tech/1678963741/10
20: デフォルトの名無しさん [] 2023/03/17(金) 15:24:52.91 ID:aeVIJ/KU >>12 ちゃう private void FixedUpdate()の上に private void Start() { RigidBody ~ } って感じ http://mevius.5ch.net/test/read.cgi/tech/1678963741/20
21: デフォルトの名無しさん [] 2023/03/17(金) 15:25:39.75 ID:aeVIJ/KU ホントだドットになってるのか… http://mevius.5ch.net/test/read.cgi/tech/1678963741/21
22: デフォルトの名無しさん [] 2023/03/17(金) 15:30:41.59 ID:aeVIJ/KU このカンマは区切りって意味だ Vector3っていうベクトル情報を作成するメソッドにX方向の値、Y方向の値、Z方向の値を与えているという意味 Input.GetAxsisで横方向("Horizontal"Xの値)縦方向("Vertical"Zの値)を求めて X方向にXの値、Y方向に0、Z方向にZの値を渡してベクトルを作ってるという意味 http://mevius.5ch.net/test/read.cgi/tech/1678963741/22
26: デフォルトの名無しさん [] 2023/03/17(金) 15:39:18.40 ID:aeVIJ/KU >>23 いや初心者ならよくあることだと思うから別に問題はない 頑張って身につけてくれ ちなみにGetConponent<>をなぜFixdUpdateの中に入れるとダメなのかというとこのFixdUpdateってのは毎フレームに実行されるからすでにGetConponent<>でコンポーネントを取得していても次のフレームでもまた取得してきて、そのまた次のフレームでも取得してきて~ってのを繰り返しちゃってめちゃくちゃ無駄が多くなっちゃうから Start()は最初の一回だけ呼び出されるから一回取得したらもうずっとこのコンポーネントを使いますよ~って感じで無駄な処理が走らなくなる http://mevius.5ch.net/test/read.cgi/tech/1678963741/26
27: デフォルトの名無しさん [] 2023/03/17(金) 15:40:27.35 ID:aeVIJ/KU >>25 FixdUpdateのRigidbodyをStartの中のやつに入れ替える感じ http://mevius.5ch.net/test/read.cgi/tech/1678963741/27
29: デフォルトの名無しさん [] 2023/03/17(金) 15:47:46.83 ID:aeVIJ/KU これが正解 using System.Collections; using UnityEngine; public class MakeRigidAddForceChara: MonoBehaviour { private Rigidbody rigidBody;//ここでrigidbodyの宣言をしておく void Start() { rigidBody = GetComponent<Rigidbody>();//Start()でコンポーネントを1回コッキリで取得 } void FixedUpdate() { float x = Input.GetAxis("Horizontal"); //横軸 float z = Input.GetAxis("Vertical"); //縦軸 //ベクトルに変換 Vector3 vec = new Vector3(x, 0, z); //力を加える rigidbody.AddForce(vec); } } http://mevius.5ch.net/test/read.cgi/tech/1678963741/29
31: デフォルトの名無しさん [] 2023/03/17(金) 15:50:27.32 ID:aeVIJ/KU いやたしかに調べたら色んなところでFixdUpdateの中にGetConponent<>が来てるの見つけたわ 例題的に簡単なやつとして用意したんだろうが回り回ってクソコードが蔓延っちゃったった感じだろうな GetComponentはStart();{}の中に入れておくのが正解 http://mevius.5ch.net/test/read.cgi/tech/1678963741/31
33: デフォルトの名無しさん [] 2023/03/17(金) 15:53:01.82 ID:aeVIJ/KU >>32 👍 http://mevius.5ch.net/test/read.cgi/tech/1678963741/33
35: デフォルトの名無しさん [] 2023/03/17(金) 15:54:53.90 ID:aeVIJ/KU Unityの公式で移動の基礎みたいなことやってるから参考にしてみるといい https://youtu.be/VqS1dTiVLFA http://mevius.5ch.net/test/read.cgi/tech/1678963741/35
36: デフォルトの名無しさん [] 2023/03/17(金) 15:59:38.79 ID:aeVIJ/KU rigidbodyって物理エンジンになってるから物体が重いと動かないのかもしれん Vector3 vec =new Vector3(x,0,y) のところを Vector3 vec =new Vector3(x*1000,0,z*1000)とかに変えてみて? ちなみにこれは今の力に1000をかけてるという形 http://mevius.5ch.net/test/read.cgi/tech/1678963741/36
37: デフォルトの名無しさん [] 2023/03/17(金) 16:03:41.63 ID:aeVIJ/KU すまんタイプミスしてたわ 最後のrigidbodyはrigidBodyで大文字じゃないといけない http://mevius.5ch.net/test/read.cgi/tech/1678963741/37
41: デフォルトの名無しさん [] 2023/03/17(金) 16:24:33.62 ID:aeVIJ/KU >>40 いやID変わってないけど http://mevius.5ch.net/test/read.cgi/tech/1678963741/41
42: デフォルトの名無しさん [] 2023/03/17(金) 16:25:13.90 ID:aeVIJ/KU >>39 これでとりあえずやってみよう http://mevius.5ch.net/test/read.cgi/tech/1678963741/42
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.029s*