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

ただのメモ。

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

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

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

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

関連記事

シフトカーを改造してラジコン化する人達

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

ArUco:OpenCVベースのコンパクトなARライブラリ

C++始めようと思うんだ

Google Colaboratoryで遊ぶ準備

Live CV:インタラクティブにComputer Visi...

株式会社ヘキサドライブの研究室ページ

pythonの機械学習ライブラリ『scikit-learn』

Perfumeのライブパフォーマンスのビジュアル

東京オリンピックと案内表示

SVM (Support Vector Machine)

Theia:オープンソースのStructure from M...

Manim:Pythonで使える数学アニメーションライブラリ

Google Chromecast

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

ポイントクラウドコンソーシアム

ヒーローに変身なりきりアーケードゲーム『ナレルンダー』

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

組み込み向けのWindows OS 『Windows Emb...

スクラッチで既存のキャラクターを立体化したい

BlenderのPython環境にPyTorchをインストー...

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

libigl:軽量なジオメトリ処理ライブラリ

Amazon EC2ログイン用の秘密鍵を無くした場合の対処方...

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

BlenderProc:Blenderで機械学習用の画像デー...

viser:Pythonで使える3D可視化ライブラリ

TensorSpace.js:ニューラルネットワークの構造を...

OpenCVの顔検出過程を可視化した動画

Multi-View Environment:複数画像から3...

3DCG Meetup #4に行ってきた

Google App Engine上のWordPressでA...

openMVG:複数視点画像から3次元形状を復元するライブラ...

UnityのuGUIチュートリアル

オープンソースの物理ベースGIレンダラ『appleseed』

SONYの自律型エンタテインメントロボット『aibo』

Maya LTのQuick Rigを試す

フィクションに登場するUIデザインのまとめサイト

ZScript

機械学習で遊ぶ

定数

WebGL開発に関する情報が充実してきている

コメント