Closed tsgcpp closed 1 month ago
報告ありがとうございます!
inputMaxValue
が0の場合の挙動を仕様内で定義し、実装をそのように変更する方針で対応を検討します。
具体的には、blenderの実装が max(0.001, inputMaxValue)
を取るような実装になっているようですので、それに準じた方針で仕様を追記予定です。
ご回答ありがとうございました。
inputMaxValue が0の場合の挙動を仕様内で定義し、実装をそのように変更する方針で対応を検討します。 具体的には、blenderの実装が max(0.001, inputMaxValue) を取るような実装になっているようですので、それに準じた方針で仕様を追記予定です。
こちらの方針で対応されるとのこと、承知しました!
よろしくお願いします。
(#488 の件については別途質問をさせていただきます。)
@0b5vr #488 の件も併せて質問をさせていただければと思います (必要であれば別途Issueを発行します)。
もともと必須パラメータでなかったプロパティ
上記とのことなので、lookAt.rangeMapの outputScale
も任意パラメータのため指定されていないパターンが考えられますが、もし outputScale
がVRMのJSON部分で指定されていない場合はどのような対応をするのが好ましいでしょうか?
inputMaxValue
と異なりoutputScale
にはminimumやdefaultの指定されていないため、もし推奨される対応があればご教授をお願いできればと思います。
lookAt.rangeMapの outputScale も任意パラメータのため指定されていないパターンが考えられますが、もし outputScale がVRMのJSON部分で指定されていない場合はどのような対応をするのが好ましいでしょうか? inputMaxValueと異なりoutputScale にはminimumやdefaultの指定されていないため、もし推奨される対応があればご教授をお願いできればと思います。
すいません、こちらの観点拾い忘れておりました!outputScaleについて、何かしらデフォルト値を設けるのが自然とは思いますが、具体的な値が自明でないため、対応方針について一度コンソーシアムに持ち帰らせてください。
概要
VRM1.0のlookAtの仕様に従うとゼロ除算が発生するパターンがあるのではと思ったので報告します。
経緯
まず、VRMC_vrm.lookAt.rangeMap.schema.json を確認すると、
inputMaxValue
のminimumとして0が明記されているため、0は有効な値であると認識しております。一方で、lookAt.md#interpretation-when-type-is-boneに記載されている以下の数式を
inputMaxValue
が0の場合に実施するとゼロ除算が発生するのではないかと思います。参考としてlookAtの項目が以下のように設定されているVRM1.0を、UniVRM v0.126.0のVRM10Viewerでロードするとエラーが発生します。
発生するエラーログは以下となります。
要望
VRM1.0のlookAtのrangeMapのinputMaxValueが0指定の場合の扱いを定義していただければと考えております。