Skip to content
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

Fix SwapMeshes. Apply vertex color to the correct mesh. #39

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

yw-kwon
Copy link

@yw-kwon yw-kwon commented Mar 11, 2020

お世話になっております。
CubismRenderのColor値を変更した後、
SwapMeshesを呼び出しても色が直ちに反映されない問題を修正しました。

@itoh-at-live2d-com
Copy link
Contributor

@Gokio
ご提供ありがとうございます🙇‍♂️
こちらの修正コードについてチーム内で確認を行いますので、しばらくお待ちくださいませ。

@wada-at-live2d-com
Copy link
Contributor

@Gokio
修正コードのご提供ありがとうございます。内容・動作を確認させていただきました。

概ね問題がないかと思われますが、1点懸念があります。
当該修正を適用すると、CubismRenderのColor値を変更後にSwapMeshesを呼び出すと頂点カラーが反映されますが、頂点の更新と頂点カラーの更新タイミングが1フレームずれ、モーションと頂点カラーの同期が取れない現象が発生することが考えられます。
仕様として、Cubism SDK for Unityではレンダリングに使用するMeshを2つ用意しており、これらを頂点の更新と描画で交互に処理しています。
これはUnity側でレンダリングステータスの更新を並列処理することで描画の処理負荷を軽減できるようにするためです。2つのMeshはレンダラへ渡す処理とパラメータ更新処理を毎フレーム交互に入れ替えて使用しております。

また、現在チーム内でより良い形での修正検討をしておりますが、gokio 様の環境で現在の実装によるご不便・不具合等ございましたらお聞かせ願いますでしょうか。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants