内部でロードした際のリアルタイム表示について

Forum rules
Here is the forum to do the questions about how to use to Arbor developer.
Attention point:
  • We can not answer your questions about your project specific issues.
  • We can not answer your questions on Unity's specification issues.
  • Please check Arbor Documentation and ask a question if you still don't know how to use it. If the desired function is not described in the document, it is highly possible that the function does not exist from the beginning, so go to the request forum.

ここは、Arbor開発者へ使い方に関する質問を行うフォーラムです。
注意点:
  • ユーザー様のプロジェクトの仕様上の問題や設計に対する質問には答えられません。
  • Unityの仕様上の問題に対する質問には答えられません。
  • Arbor Documentationを確認の上、それでも使い方がわからない場合にご質問ください。欲しい機能の記載がドキュメントにない場合は機能が元から存在しない可能性が高いので要望フォーラムへ。

Post a reply

Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: 内部でロードした際のリアルタイム表示について

Re: 内部でロードした際のリアルタイム表示について

by caitsithware » 2019/01/25 10:17

ゲスト wrote: 2019/01/25 10:13 private GameObject loadObject = /*AssetBundles.AssetBundleManager.LoadAssetAsync を利用して、オブジェクトを読み込み*/
public GameObject instObj = Instantiate(loadObject);
public ArborFSM testFSM = instObj.GetComponent<ArborFSM>();
testFSM.Play();

↑の状態で Hierarchy の instObj をクリックすると、挙動が表示されます。
こちらの使用方法が正式ということなのですね。
そうですね。
Arborに限らず、Unityでは「PrefabはInstantiateでシーンに配置して初めて正常に動作するもの」と覚えていただければ大丈夫です。

Re: 内部でロードした際のリアルタイム表示について

by Guest » 2019/01/25 10:13

現在下記のように使用しております。

private GameObject loadObject = /*AssetBundles.AssetBundleManager.LoadAssetAsync を利用して、オブジェクトを読み込み*/
public ArborFSM testFSM = loadObject.GetComponent<ArborFSM>();
testFSM.Play();

↑の状態で Inspector の testFSM をクリックしても、挙動が表示されないという状況です。

private GameObject loadObject = /*AssetBundles.AssetBundleManager.LoadAssetAsync を利用して、オブジェクトを読み込み*/
public GameObject instObj = Instantiate(loadObject);
public ArborFSM testFSM = instObj.GetComponent<ArborFSM>();
testFSM.Play();

↑の状態で Hierarchy の instObj をクリックすると、挙動が表示されます。
こちらの使用方法が正式ということなのですね。

Re: 内部でロードした際のリアルタイム表示について

by caitsithware » 2019/01/25 09:51

状況が若干よくわからないのですが……

まず最初に、ArborFSMはGameObjectに追加して動作するので、一般的なGameObjectと同じようにPrefabを扱う必要があります。

例えば以下のような流れ
  1. ArborFSMをつけたGameObjectプレハブを、ResourcesやAssetBundleなどを利用してロード、あるいは直接プレハブを参照
  2. Instantiateしてシーンに配置
  3. Play()で実行。
この流れであれば、Hierarchyウィンドウにも配置したオブジェクトが表示されているはずなので、従来通りHierarchyから該当オブジェクトを選択すればArborEditorウィンドウで見れるようになります。
そもそも、もしこの流れに従っていなくシーンに配置できていなければGameObjectとしても正常に動作しません。

また、InstantiateしたあとでGameObjectにHideFlags.HideInHierarchyを設定した場合は、
Hierarchyに表示されなくなり選択できないため、自前でArborEditorウィンドウで開くエディタ拡張を書くことになります。

コード例

Code: Select all

if( GUILayout.Button("Open Editor") )
{
    ArborEditor.ArborEditorWindow.Open(グラフインスタンス);
}
上記のことがよくわからなかったり見当違いでしたら
もう少し詳細(できればGIFやスクリーンショット、コードなど)も教えていただけるとよりサポートしやすいです。

内部でロードした際のリアルタイム表示について

by wendy » 2019/01/25 09:19

各キャラクターごとにArborFSMを設定し、Prefab化して、必要に応じてロードして使用しています。
その場合、実行時にArboaEditorウィンドウで、リアルタイムの挙動を見る方法はありますでしょうか?

Hierarchy上にオブジェクトが存在していて、それを使用している場合は、オブジェクトをクリックすれば挙動が表示されます。
publicな内部変数にFSMをロードしてPlay()で実行させた場合、動いてはいるのですが変数をクリックしても挙動を見れなくて困っております。

Top