Page 1 of 1

リスト要素数変更の前後でList.Count演算ノードが同じ値を返す

Posted: 2022/01/05 11:50
by ooee
いつもお世話になっています。

件名の不具合に遭遇したので、ご報告いたします。

OS: Windows10
Unityバージョン: 2021.2.7f1
Arborバージョン: 3.8.9
再現方法:
1. List.Countで値を取得
2. 1で値を取得したリストをList.ClearやList.AddElement等で要素数を変更する
3. 1と同じList.Count演算ノードで値を取得しても、値が変わっていないことを確認

Re: リスト要素数変更の前後でList.Count演算ノードが同じ値を返す

Posted: 2022/01/05 12:21
by caitsithware
ご報告ありがとうございます。

List.Countが同じ値を返すとのことですが仕様の可能性もあるため、念のため以下の点を確認してください。
  • Inputフィールドへの接続線上のデータ値を表示し、正しく変更されているか。
  • 演算ノードの演算モードが適切に変更されているか。
    スロットへ受け渡されたインスタンスが異なる場合は再演算されますが、そうでなければ演算モードに従って再演算するかが決定されます。
    詳しくはマニュアルの演算モードを参照してください。
    デフォルトはフレームであるため、インスタンスは同じだが同一フレームで演算結果が異なる場合は「常時」などに変更してみてください。

Re: リスト要素数変更の前後でList.Count演算ノードが同じ値を返す

Posted: 2022/01/05 12:37
by ooee
返信ありがとうございます。

>デフォルトはフレームであるため、インスタンスは同じだが同一フレームで演算結果が異なる場合は「常時」などに変更してみてください。
List.Count演算ノードは、Transform.Position演算ノードとかと同じで毎回演算していると勘違いしていました。
List.Countの再演算モードを常時に変更したところ、期待した結果が得られるようになりました。ありがとうございます。