New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[1.0] Expression、ignore系の名称変更およびblendの提案 #189
Comments
実際にその設定が有効に働いているスクリーンショットとかあれば説得力が上がると思いまうす。 |
やってみまうす 🐭 |
設計思想としては BlendShpaeProxy にはロジックを入れずに 単なるセッター
ただ現状だと、Blinker, Aioueo, Lookat などが BlendShapeProxy(1.0はVrmController) に直接ささっていたりするので、ここら辺整理は必要そうです。 |
以下、日本語がかなりとっちらかっていますが、伝わることを願います。 どちらかというと私の意図は、アプリケーションごとに実装が違う状態を作りたくなかったです。 そもそも、それをわざわざアプリケーションに実装させる仕組みにして、ほんとうにそれをわざわざ実装してくれるアプリケーション開発者が多数を占めるとは思いません。 なお、本当にここを自前で調整したいアプリケーション向けに、実装側でここをかんたんにオーバーライドできるようにするのはありかと思います。 こちらは提案したもののデモです。 |
口頭で議論をしました。
|
意図は理解しますし、やりたいことも理解します。 overrideされる側' = overrideされる側 * (1.0 - overrideする側 とありますが、任意の表情 weight を設定する時に、この動作は決定的ではありません。同時に有効になる表情はかならず1つとは限らないからです。 0/1 で制御するのはうまくいくことが多いですが、中間値を許すととたんに破綻してしまいます。 中間値は「任意の表情 weight をとったときに、特定の表情が想定と違って破綻しないようにする」上ではかなりの「作者の意図しない崩壊」が多発すると思います。 |
あ、勘違いしてました。 blink (来る方) を減衰させるのかと思ってました。 たとえば
一個でも
口は比較的早く動きので表情が高速で変わって変になりそうな。 |
原則としては、
は守るべきと思います。 |
複数のoverrideする表情が0より大きい値の場合に、どのように値をブレンドするか、を定義すればよいでしょうか?
ここが理解できていないです。具体的には、どのような場合に破綻が発生するでしょうか?
来る方・受ける方という単語が理解できていないですが、 |
概念
オーバーライドも言葉として誤解を誘発してそう。
|
これ、なんでPendingに入ったかど忘れしてしまった…… ごめんなさい…… |
口頭で議論を行いました。 名前は継続的に検討しつつ、実装を試みてみます。 |
返答気づかず、すみません。
はい、この場合の挙動についての考慮がなされていなさそうだったのが懸念点だったので、こちらで問題ないと思われます。
こちらは私の言葉足らずですね、すみません。これは「実際的な 3D モデル製作において、線形補間を前提に Blend された中間値を取る BlendShape の設計を考慮に入れるのは難しいのではないか」ということです。 というわけで、自分としては疑問点は解消しているので、全体的に同意します。 |
block と blend が先頭2文字が同じで、コード補完の邪魔になる(しまったー)以外は特に問題ない感じです。 |
blockしっくりきてきました |
昨日、akiraさんに #185 の件でヒアリングを行った中で出た話題なのですが、
例えば、目を閉じる動作を伴うHappyにおいてignoreBlinkでblinkを無視すると、目を閉じた状態で0.5だけ笑うという処理ができなくなるのではないかという指摘がありました。
ignore系にもう少し柔軟性をもたせても良いのではないかと思いました。
また、"ignore"という名前も少しミスリードを招き、良くないかもと思いました。
具体的には、
overrideBlink
という名称に変更し、none
nullify
blend
という選択肢から選べるようにすると良いのかと思いました。none
nullify
が従来のignoreBlink
に相当する処理です。blend
の場合、overrideされる側' = overrideされる側 * (1.0 - overrideする側)
という数式を用いてblendを行うとよいかと思います。The text was updated successfully, but these errors were encountered: