CrossRoadスマートフォン用の表示で見るCrossRoadAR、MR、VR、Babylon.jsを中心とした技術ブログ。EditorはGUIベースでオブジェクトの配置ができます。スクリプトを追加してソースコードでも制御できます。公式HPにはごく簡単な例しか書いてなかったので、今回はスクリプト制御したときに使いたい例をいくつか紹介します。終わりに動作確認環境は下記の通りです。Editorを選択します。Viewに相当)でスクリプトをアタッチしたいオブジェクトを選択します。Script」をクリックします。新しいスクリプトの名前を設定する画面が出るので、適当に名前をつけます。上の画像ではParticleという名前をつけたファイルが追加されています。Editor」をクリックすると、Editorが開きます。"GameObject.Find"です。これがないとスクリプト制御はほとんどできません。APIである"getMeshByName"を使います。前回も使ったswordモデルの柄の部分のオブジェクトを取得する例です。オブジェクトの名称はGardeなので、このように書きます。C#と同じ使い方です。これで、下記の動画のように、柄が刃と同じ軸方向に回転します。Editorで追加したParticleSystemをスクリプトから取得する本当はUnityのGetComponentに相当する仕組みを見つけたかったのですが、今のところ見つかってません。PartcleSystemについては個別に方法を見つけたので記載します。EditorでParticleSystemを追加すると、そこにはIDが振られます。getParticleSystemByIDメソッドを使うと、指定したIDのParticleSystemを取得することができます。以下のように書きます。ここでは、swordから出ている炎のParticleSystemのIDを"flareId-1"と変更しています。}IDはParticleSystemのInspectorを見ると上の方に書いてあります。最初はgofi1f9rhgb-fedhjgirのようなランダムな文字列が設定されています。最初は、これをコードにコピペしようと思ったのですが、なぜかctrl+Pしてもペーストされなかったので、わかりやすい文字列に変えました。下記の動画では、stop()を呼ぶことでParticleSystemをスクリプトから停止させています。Debugを使うとよいです。スクリプトをアタッチされたオブジェクト自身を制御したい場合、"mesh"を使うことができる公式HPではSphereにスクリプトをアタッチして、update()の中で以下を呼ぶことで、Sphereを回転させていました。meshという言葉がUnityのthis.gameObjectに相当しているようです。関数をまたがって変数を宣言するには、publicをつけるまた、同じスクリプトの中で使用するときは、thisをつけます。Editorでエラーが出ます。終わりに今回の内容は、UnityでのGameObject.FindとGetComponentに近いので基本的な内容です。これらがうまく見つけられなかったので整理してみました。Unityに慣れているともどかしいことも多いですが、新しい技術を探索するのは楽しいものですね。Editorで書くスクリプトの書式は、普通にindex.htmlなどに書くときの書式と異なっています。この辺り、どういうやり方であればよいかがまだ理解できてないので引き続き調べてみようと思っています。»ProfileAR、MR、VR、Babylon.jsを中心とした技術ブログです。広く色々な技術を勉強するのが好きで、あれこれ書いています。詳細なプロフィールはこちらをご確認ください。2020)■プライバシーポリシー■こちらに記載しておりますのでご確認ください。■お問い合わせ■こちらよりお願いいたします。月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。