サイドパネルへのSetParameterにVariableのスロットを接続できない

Here is a forum for reporting failure to Arbor developer.
Please read the forum rules carefully and enter the information necessary to confirm the problem.

Note:
  • Please read the "Update Guide" carefully when updating Arbor.
  • The bugs that we already know are summarized in "Known Issues", so please check once.
  • Please check ReleaseNote and use the latest version if possible before reporting a bug.
  • Unity beta and alpha versions are not supported. Please use the official release version.
  • In principle, defects caused by the introduction of other assets are not supported. If you find a defect, please report it after isolating which asset is the problem.

ここは、Arbor開発者へ不具合を報告するためのフォーラムです。
フォーラムルールをよく読み、不具合確認に必要な情報を記載するようお願いします。

注意点:
  • Arborを更新する際は「アップデートガイド」をよく読み行ってください。
  • 既に把握している不具合は「既知の問題」にまとめてありますので一度確認してみてください。
  • 不具合報告をする前にReleaseNoteを確認し、なるべく最新バージョンを使用して下さい。
  • Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。
  • 他アセット導入による不具合は原則サポート対象外です。不具合を見つけた場合はどのアセットの問題であるか切り分けた上でのご報告をお願いいたします。

Forum rules
The items necessary for reporting are as follows.
  • OS(Required)
  • Unity version(Required)
  • Arbor version(Required)
  • How to reproduce(Required)
    The reproduction method should be described accurately so that anyone can read the same procedure.
    If you do not know the exact reproduction procedure, as long as you can remember it, so please tell us what you were doing immediately before and the last time you edited it.
  • Build platform
  • Reproduction project (Minimum configuration not including Arbor and other assets) or video

Note:
  • Please read the "Update Guide" carefully when updating Arbor.
  • The bugs that we already know are summarized in "Known Issues", so please check once.
  • Please check ReleaseNote and use the latest version if possible before reporting a bug.
  • Unity beta and alpha versions are not supported. Please use the official release version.
  • In principle, defects caused by the introduction of other assets are not supported. If you find a defect, please report it after isolating which asset is the problem.

報告に必要な項目は以下の通りです。
  • OS(必須)
  • Unityバージョン(必須)
  • Arborバージョン(必須)
  • 再現方法(必須)
    再現方法については、誰が読んでも同様の手順を行えるよう正確に記述するようにお願いいたします。
    もし正確な再現手順が不明な場合、覚えている限りで構いませんので直前に行っていたことや最後に編集した時のことを教えてください。
  • ビルドプラットフォーム
  • 再現プロジェクト(Arborや他アセットなどを含まない最小構成)もしくは動画

注意点:
  • Arborを更新する際は「アップデートガイド」をよく読み行ってください。
  • 既に把握している不具合は「既知の問題」にまとめてありますので一度確認してみてください。
  • 不具合報告をする前にReleaseNoteを確認し、なるべく最新バージョンを使用して下さい。
  • Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。
  • 他アセット導入による不具合は原則サポート対象外です。不具合を見つけた場合はどのアセットの問題であるか切り分けた上でのご報告をお願いいたします。
Yumineko

サイドパネルへのSetParameterにVariableのスロットを接続できない

Post by Yumineko »

・Unity 2018 3.5f1
・Arbor 3.4.2
・WIndows10 64bit


variableを作成してサイドパネルのパラメータへ登録。
Drug to placeでビヘイビアツリーへドロップしてSet Parameterアクションノードを作成。

別のアクションノードから
・FlexibleXXXX
・OutputSlot<XXXX>
・OutputSlot<FlexibleXXXX>
・OutputSlotAny
のいずれを使っても、SetParameterのInputスロットへ繋げません。
FlexibleXXXXのみ、一度リルートするとつなげます。2つ目と3つ目はpublicにしようと、エディタに表示すらされません。

なお、VariableのフィールドはpublicのListを登録しています。
User avatar
caitsithware
管理人
Posts: 493
Joined: 2015/08/17 12:41

Re: サイドパネルへのSetParameterにVariableのスロットを接続できない

Post by caitsithware »

ご報告ありがとうございます。

FlexibleXXXX
Yumineko wrote: 2019/02/11 16:27 FlexibleXXXXのみ、一度リルートするとつなげます。
FlexibleXXXが持つデータスロットは入力専用ですので、SetParameterにつなげられること自体が問題ですね(お互い入力スロット同士)
詳しく検証して修正いたします。

OutputSlot<XXXX>
Yumineko wrote: 2019/02/11 16:27 2つ目と3つ目はpublicにしようと、エディタに表示すらされません。
ジェネリック型はシリアライズ対象とならないためUnityの仕様となっています。
マニュアル : スクリプティング / Variableのサンプルコードにあるように、出力したい型専用のOutputSlotクラスを定義するようお願いいたします。

また、OutputSlot<FlexibleXXXX>はFlexible型を出力する事になってしまうため、想定外の動作になる恐れがあります。
OutputSlotに指定する型はFlexibleXXXX以外の通常の型を指定するようにお願いいたします。

コード例:

Code: Select all

// 自作の型
[System.Serializable]
public class TestData
{
	public int intData;
}

// 自作の型TestData用出力スロット
[System.Serializable]
public class OutputSlotTestData : OutputSlot<TestData>
{
}
OutputSlotAny

OutputSlotAnyは、SlotTypeAttributeの属性で出力型を指定しない限りInputSlotAnyにのみ接続できる特殊な出力スロットであるため、こちらも仕様となっています。
特定の型を出力したい場合は以下のように型指定してください。

コード例:

Code: Select all

// 自作の型TestDataを出力するスロット
[SlotType(typeof(TestData))]
public OutputSlotAny outputSlotTestData = new OutputSlotAny();
※SlotType属性付きOutputSlotAnyを使う場合はOutputSlot<XXXX>の型定義は不要です。

Variableや入出力スロットの使用方法に関してのマニュアルが不足しておりました。
マニュアルについても今後の更新で改善していきます。

ご不便おかけして申し訳ございませんがよろしくお願いいたします。
Yumineko

Re: サイドパネルへのSetParameterにVariableのスロットを接続できない

Post by Yumineko »

迅速な回答をありがとうございます。Variable C# Scriptを生成した際に、OutputXXXX型も作られていたんですね。見落としていました。
解決しました。
User avatar
caitsithware
管理人
Posts: 493
Joined: 2015/08/17 12:41

Re: サイドパネルへのSetParameterにVariableのスロットを接続できない

Post by caitsithware »

caitsithware wrote: 2019/02/12 00:09 FlexibleXXXが持つデータスロットは入力専用ですので、SetParameterにつなげられること自体が問題ですね(お互い入力スロット同士)
詳しく検証して修正いたします。
検証してみましたが、入力スロット同士がデータの流れ的に接続されてしまう不具合は確認できませんでした。
出力スロットは複数の入力スロットに接続できるため、リルートノードに関しても出力サイドが複数の入力スロットに接続できるのは正常動作になります。

例:
DataSlotMultiOutput.png
DataSlotMultiOutput.png (60.56 KiB) Viewed 4300 times
このような接続であれば正常です。

もし入力スロット同士が不正に接続されているようでしたら、その再現方法やスクリーンショットもいただけると助かります。
Locked