
- 1 : 2026/04/28(火) 15:11:08.322 ID:0YYcxJiz0
- Rigitbody2D rbody = this.GetComponent
;
って書いてエラーになり2時間さまよう・・・ - 2 : 2026/04/28(火) 15:11:43.086 ID:GkWyCRGn0
- ゲットコンポーネントはつかうな
- 4 : 2026/04/28(火) 15:13:34.474 ID:0YYcxJiz0
- >>2
使わなかったらどうやってコンポーネントいじればいいんだよ・・・ - 7 : 2026/04/28(火) 15:14:23.058 ID:GkWyCRGn0
- >>4
追加したときに取得できるだろ - 11 : 2026/04/28(火) 15:16:55.538 ID:0YYcxJiz0
- >>7
Componentを追加するけど・・・数値の変更の時にGetComponent<型>();使うだろ! - 14 : 2026/04/28(火) 15:17:53.781 ID:GkWyCRGn0
- >>11
追加したら取っておけ
あとはそれを使え - 15 : 2026/04/28(火) 15:20:01.169 ID:0YYcxJiz0
- >>14
追加はゲームオブジェクトに追加するだろ!! - 3 : 2026/04/28(火) 15:13:20.640 ID:CTaCrDmw0
- あーそれね
初心者は陥りがちよな - 5 : 2026/04/28(火) 15:14:04.911 ID:0YYcxJiz0
- >>3
しらねーよカッコなんて・・・細かい事は良いじゃねえかよ!! - 6 : 2026/04/28(火) 15:14:17.030 ID:lhnHQY6oM
- GetComponentなんてガキしか使わんぞ
- 8 : 2026/04/28(火) 15:15:48.696 ID:0YYcxJiz0
- >>6
俺はガキだわ!! - 9 : 2026/04/28(火) 15:16:38.123 ID:GkWyCRGn0
- ゲットするてことは見失ってるてことだ
そんなことあっちゃいかん - 12 : 2026/04/28(火) 15:17:26.167 ID:0YYcxJiz0
- >>9
ポケモンゲットしてポケモンを使うんだよ!! - 10 : 2026/04/28(火) 15:16:51.613 ID:FrwG5IYN0
- 今どきチャッピーが全部解決してくれんじやねーの
- 13 : 2026/04/28(火) 15:17:43.952 ID:0YYcxJiz0
- >>10
それなんてポケモン? - 16 : 2026/04/28(火) 15:20:42.235 ID:GkWyCRGn0
- 結論から言うと、Unity の GetComponent はそれなりにコストがかかる処理です。ただし「絶対に使ってはいけないほど重い」わけではなく、使い方次第です。
■ なぜコストがかかるのか
GetComponent
() は内部的に
「そのGameObjectに付いているコンポーネント一覧を探して一致するものを見つける」
という処理をします。つまりイメージとしては:
配列やリストを毎回検索
型チェックも行う
見つかるまで走査
→ O(n)(コンポーネント数に比例)になります
■ どれくらい重い?
1回ならほぼ無視できるレベルですが、
Update()で毎フレーム呼ぶ
大量のオブジェクトで呼ぶ
ネストして何度も呼ぶ
こうなると普通にパフォーマンス劣化の原因になります。
- 18 : 2026/04/28(火) 15:22:32.924 ID:0YYcxJiz0
- >>16
つまりループ処理で使うなと言う事か - 17 : 2026/04/28(火) 15:22:02.713 ID:GkWyCRGn0
- 追加したとき参照を得られる
- 19 : 2026/04/28(火) 15:23:01.828 ID:0YYcxJiz0
- >>17
ポケモンゲットしたらポケモン使えるみたいなもんよ - 20 : 2026/04/28(火) 15:23:52.983 ID:GkWyCRGn0
- >>19
追加してないポケモンはゲットできない - 21 : 2026/04/28(火) 15:25:58.380 ID:0YYcxJiz0
- >>20
そりゃそうだろ - 22 : 2026/04/28(火) 15:26:29.163 ID:GkWyCRGn0
- >>21
じゃあゲットはいらないな - 24 : 2026/04/28(火) 15:29:56.078 ID:0YYcxJiz0
- >>22
いるだろ!! - 23 : 2026/04/28(火) 15:27:34.536 ID:HyRpcZDL0
- 最後に()つけないと
- 25 : 2026/04/28(火) 15:30:25.209 ID:0YYcxJiz0
- >>23
なんでエラーになるんだ?で2時間画面を見続けていました・・・ - 26 : 2026/04/28(火) 15:32:02.091 ID:GkWyCRGn0
- ゲットしないで済む方法を見つけろ
でないと死ぬと思え
以上だ
もう十分ヒントはやった - 27 : 2026/04/28(火) 15:32:21.891 ID:0YYcxJiz0
- >>26
ゲットさせろ!! - 28 : 2026/04/28(火) 15:37:33.023 ID:0YYcxJiz0
- いつになったらゲーム完成するんだよこれ・・・
- 29 : 2026/04/28(火) 15:39:19.400 ID:mGKJarhW0
- public変数を使うか宣言のときに[SerializeField]付ければいいんじゃ
publicは使いたくないから後者で - 30 : 2026/04/28(火) 15:41:51.928 ID:0YYcxJiz0
- >>29
SerializeFieldってなんぞ? - 31 : 2026/04/28(火) 15:43:20.870 ID:GkWyCRGn0
- これからはAIプログラミンゴの時代だからインスペクタ使うのはやめた方がいいぞ
今のAIはインスペクタ触れないからな - 33 : 2026/04/28(火) 15:44:50.059 ID:0YYcxJiz0
- >>31
全部インスペクタ登録してたら
コンテナにした瞬間エラーが山ほど出て死んだ・・・ - 32 : 2026/04/28(火) 15:44:37.006 ID:mGKJarhW0
- 変数をprivateにしつつインスペクターの表示させられる
インスペクターに表示されたならそこにコンポーネントをドラッグ&ドロップでその変数にコンポーネントを代入できる
って感じ
動的にコンポーネントを取得したい場合は使えない - 35 : 2026/04/28(火) 15:45:49.706 ID:0YYcxJiz0
- >>32
へえ・・・ - 34 : 2026/04/28(火) 15:45:47.492 ID:GkWyCRGn0
- インスペクタは情報を失うリスクもあるしな


コメント