1

仕様では、animations.samplers.inputプロパティを次のように説明しています。

時間などのキーフレーム入力値を含むアクセサーのインデックス。そのアクセサーには componentType FLOAT が必要です。値は、time[0] >= 0.0 の秒単位の時間を表し、厳密に増加する値、つまり、time[n + 1] > time[n] です。

ただし、デモ リポジトリの最初の基本的な例であるAnimated Triangleから、これを理解するのに少し苦労しています。

具体的には、animation.bin からアニメーションに関連するバイナリ データを取得し、それを にデコードするとFloat32Array、次の値のリストが得られます。

[0, 0.25, 0.5, 0.75, 1, 0, 0, 0, 1, 0, 0, 0.7070000171661377, 0.7070000171661377, 0, 0, 1, 0, 0, 0, 0.7070000171661377, -0.7070000171661377, 0, 0, 0, 1]

もちろん、これは「厳密に値を増やす」という観点からは意味がありません。

ここで私は何を誤解していますか?outputこれらの値は、時間の経過とともにローテーションを更新するために( と組み合わせて) どのように使用されるのですか?

animation.bin は、inputサンプラーから参照されるビューであることに注意してください。つまり、gltfから

  • 入力 == アクセサ 2
  • アクセサ 2 == bufferView 2
  • bufferView 2 == バッファ 1 からのバイト (0-100)
  • バッファ 1 == animation.bin
4

1 に答える 1