Unityの各コンポーネント間でのやり取り

ただのメモ。

UnityのScriptは未だにどういう設計が良いのかよくわからない。変な挙動を起こさないためにMonobehaviorを継承しないでクラスを作ったりもしたんだけど、Monobehaviorの恩恵に与るとしたらどんな方法があるのか最近調べている。

1つの制御クラスから他のクラスへ処理を伝搬させたい時、Unityの機能を駆使すると以下の4つ方法があるらしい。
コンポーネント間のメソッド呼び出しとパフォーマンス

1. GetComponent() + TargetMethod()
2. SendMessage(“TargetMethod”)
3. BroadcastMessage(“TargetMethod”)
4. static TargetMethod() な感じで静的メソッドを使用する。

システム屋的な発想だと4しか思いつかないんだけど、ゲーム開発系の人はまた違う発想なのかな。1の処理が重そうなのはなんとなく分かるので、2,3を検証してきたいところ。

関連記事

ミニ四駆を赤外線制御したりUnityと連携したり

Gource:バージョン管理の履歴を可視化するツール

Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『...

Swark:コードからアーキテクチャ図を作成できるVSCod...

Unityからkonashiをコントロールする

OpenVDB:3Dボリュームデータ処理ライブラリ

書籍『仕事ではじめる機械学習』を読みました

KelpNet:C#で使える可読性重視のディープラーニングラ...

映像ビジネスの未来

OpenSfM:PythonのStructure from ...

インターフェイスは世界を規定する

PythonでBlenderのAdd-on開発

Unity MonoBehaviourクラスのオーバーライド...

Caffe:読みやすくて高速なディープラーニングのフレームワ...

Unity ARKitプラグインサンプルのドキュメントを読む

AndroidもopenGLも初心者さ (でもJavaは知っ...

Arduinoで作るダンボーみたいなロボット『ピッコロボ』

GAN (Generative Adversarial Ne...

COLMAP:オープンソースのSfM・MVSツール

Polyscope:3Dデータ操作用GUIライブラリ

PGGAN:段階的に解像度を上げて学習を進めるGAN

書籍『データビジュアライゼーションのデザインパターン20』読...

ManimML:機械学習の概念を視覚的に説明するためのライブ...

『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハ...

Verilog HDL

Open3D:3Dデータ処理ライブラリ

UnityでTweenアニメーションを実装できる3種類の無料...

NumSharp:C#で使えるNumPyライクな数値計算ライ...

ブログのデザイン変えました

WordPressのサーバ引っ越し方法を考える

WordPressプラグインによるサイトマップの自動生成

Mitsuba 3:オープンソースの研究向けレンダラ

Kornia:微分可能なコンピュータービジョンライブラリ

Google App Engine上のWordPressでA...

SDカードサイズのコンピューター『Intel Edison』

科学技術計算向けスクリプト言語『Julia』

Arduinoで人感センサーを使う

C#で使える遺伝的アルゴリズムライブラリ『GeneticSh...

SONY製のニューラルネットワークライブラリ『NNabla』

ブログをGoogle App EngineからAmazon ...

Maya LTのQuick Rigを試す

CGレンダラ研究開発のためのフレームワーク『Lightmet...

コメント