ParameterCheckでParameterがintしか選べない

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のベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。
  • 他アセット導入による不具合は原則サポート対象外です。不具合を見つけた場合はどのアセットの問題であるか切り分けた上でのご報告をお願いいたします。
Guest

ParameterCheckでParameterがintしか選べない

Post by Guest »

Unity 2018 3.13.f1
Arbor3.5.1
Windows 10 Home
ビルドプラットフォーム PC,Mac&Linux Standalone

ParameterCheckにfloatやbool(ほかの型は試してませんがおそらくint以外)を選ぶと
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.ThrowHelper.ThrowArgumentOutOfRangeException (System.ExceptionArgument argument, System.ExceptionResource resource) (at <d7ac571ca2d04b2f981d0d88
とエラーがでて選択することができないです。

再現方法
1.Unity 2018 3.13.f1でTestという名前で3DのUnityProjectを作成
2.Asset StoreウィンドウからArborをインポート
3.CubeをCreateしBehavior Treeコンポーネントをアタッチ
4.OpenEditorでエディターを開く
5.CubeにparameterContainerをアタッチ New Floatという名前のFloatパラメーターを追加
6.Rootからノードを伸ばしてAgentEscapeFromPositionアクションを作成
7.ParameterCheckデコレーターを追加しParameterContainerをドラッグアンドドロップしNew Floatを選択しようとするとエラー発生

お忙しいとは思いますが確認をお願いいたします。
User avatar
caitsithware
管理人
Posts: 493
Joined: 2015/08/17 12:41

Re: ParameterCheckでParameterがintしか選べない

Post by caitsithware »

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

再現確認取れましたので修正いたします。

不具合の影響範囲:

ParameterConditionListを使用している箇所で、参照するパラメータのタイプが変更されたときに発生します(内部的にデフォルトはint型扱い)

【ParameterConditionListを使用している組み込みスクリプト】
  • ArborFSM
    • ParameterTransition
  • BehaviourTree
    • ParameterCheck
    • ParameterConditionalLoop
暫定対処方法:

暫定対処として、以下のようにコードを変更していただければint型以外のパラメータも設定できました。
  • Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Common/ParameterConditionListPropertyDrawer.csをコードエディタで開く。
  • 134行目あたりを以下のコードに変更。

    Code: Select all

    OnChangeParameterType(conditionProperty, oldParameterType, parameterType);
    return; // 追加
    
ご不便おかけして申し訳ございません。
修正までの間、一時的に上記暫定対処方法をお試しください。
Guest

Re: ParameterCheckでParameterがintしか選べない

Post by Guest »

素早いご対応ありがとうございます。
仰った対処方法をこちらでも適応したところ不具合がなおりました。
User avatar
caitsithware
管理人
Posts: 493
Joined: 2015/08/17 12:41

Re: ParameterCheckでParameterがintしか選べない

Post by caitsithware »

ご確認ありがとうございます。

追記となりますが、関連不具合として、ParameterContainerの参照タイプをDataSlotにし、ParameterTypeを変更した場合も同様の例外が発生しております。

暫定対処方法:

こちらにつきましても、以下暫定対処方法で一時的に回避できます。
  • Assets/Plugins/Arbor/BuiltInBehaviours/Editor/Common/ParameterConditionListPropertyDrawer.csをコードエディタで開く。
  • 150行目あたりを以下のコードに変更。

    Code: Select all

    OnChangeParameterType(conditionProperty, oldParameterType, parameterType);
    
    conditionProperty.referenceType = null;
    
    return; // 追加
    
ご不便おかけして申し訳ございませんが、修正までしばらくお待ちください。
Locked