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

ただのメモ。

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


スポンサーリンク

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


スポンサーリンク

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

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


スポンサーリンク

関連記事

Raspberry Pi 2を買いました
PythonでMayaのShapeノードプラグインを作る
Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方
書籍『データビジュアライゼーションのデザインパターン20』読了
OpenCVでカメラ画像から自己位置認識 (Visual Odometry)
書籍『OpenCV 3 プログラミングブック』を購入
OpenCVで顔のランドマークを検出する『Facemark API』
Oculus Goを購入!
ブラウザ操作自動化ツール『Selenium』を試す
『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた
Multi-View Stereoによる3次元復元ライブラリ『OpenMVS』
Amazon EC2ログイン用の秘密鍵を無くした場合の対処方法
ヘッドマウントディスプレイとビジュアリゼーションの未来
WordPressプラグインの作り方
複数画像から3次元形状を再構築するライブラリ『Multi-View Environment』
ニューラルネットワークで画像分類
Faster R-CNN:ディープラーニングによる一般物体検出手法
Mean Stack開発の最初の一歩
ニューラルネットワークの構造を可視化するフレームワーク『TensorSpace.js』
C#で使えるNumPyライクな数値計算ライブラリ『NumSharp』
オープンソースの3Dメッシュデータライブラリ『OpenMesh』
バージョン管理の履歴を可視化するツール『Gource』
Webサイトのワイヤーフレームが作成できるオンラインツール
人体モデリングできるBlenderアドオン『ManuelBastioniLAB』
UnityでLight Shaftを表現する
Russian3DScannerのトポロジー転送ツール『WrapX』
IronPythonを使ってUnity上でPythonのコードを実行する
UnityのuGUIチュートリアル
チャットツール用bot開発フレームワーク『Hubot』
『Deep Fluids』流体シミュレーションをディープラーニングで近似する
UnityのGameObjectの向きをScriptで制御する
konashiのサンプルコードを動かしてみた
法線マップを用意してCanvas上でShadingするサンプル
スクラッチで既存のキャラクターを立体化したい
ROSの薄い本
AndroidもopenGLも初心者さ (でもJavaは知ってるよ)
2D→3D復元技術で使われる用語まとめ
Raspberry Piでセンサーの常時稼働を検討する
ROMOハッカソンに行ってきた
SONY製のニューラルネットワークライブラリ『NNabla』
OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...
iOSデバイスと接続して連携するガジェットの開発方法

コメント