【無料】アニメーション同期システム【UdonGraph】
- ダウンロード商品通常版(Free)¥ 0
- ダウンロード商品支援用[受付停止中]【内容物は同じです】([Closed for now] Donation / Boost)¥ 0
The English description is at the bottom. 【概要】 本システムは「アニメーション同期機能」と「イベント発火機能」を持っています。 UdonSharp等は利用していないため、 VRChat SDK - World 以外に必要なアセットはありません。 支援版の購入やBoost等していただけるとかなり喜びます。(無料版で動作確認してからの購入を推奨します) ご意見やご要望、不具合、不明な点などがございましたらBOOTHやTwitterなどからご連絡ください。 【動作確認を行った環境】 Unity 2019.4.31f1 VRChat SDK - World 3.2.2 【配布物内容】 ・unitypackage ・LICENSE ・説明書_Readme.txt ・Instruction manual_Readme(English).txt ・Inspector設定(共通).PNG 【unitypackage内容物】 ・アニメーション同期システム用のUdonプログラム2種(Udon Graph) ・prefab2種 ・version(テキストファイル) ・LICENSE ・説明書_Readme.txt ・Instruction manual_Readme(English).txt 【利用規約】 例外条項を追加したMITライセンスを利用しています。 MITライセンスは制約の緩いライセンスです。 内容の一部を大雑把に説明すると以下の通りです。 ・使用用途に制限は無く、商用利用や改変などを自由に行うことが出来ます。 ・再配布する場合は著作権表示と許諾表示(今回はLICENSEファイル)を含める必要があります。 ・現状有姿で提供されるため一切の保証が無く、いかなる問題が生じても作者は責任を負いません。 追加した例外条項の内容は、以下の様な場合にライセンスファイルの同梱と著作権表示が無くても良いというものです。 ・ワールドや他のアセット等の一部として利用/配布する場合 ・アセットの主要な部分を改変した場合 なお、バグ等に関しては可能な範囲で対応するつもりです。 本条件は配布物を更新する際に変更される可能性があります。 その場合は、Misskey等での告知、商品ページへの追記などを行いますが、利用しているバージョンで与えられた利用規約に従うよう、お願いいたします。 【使い方】 prefabを置き、InspectorでAnimator等をセットすることで使用出来ます。 以下の説明は商品画像の2枚目を参考にご覧下さい。 [アニメーション同期機能について] syncIntervalは自動同期の周期です。あまり短く設定しても、UdonのManual同期の仕様上効果が無いかもしれません。 各prefabについての説明は以下の通りです。 ・Light版(AnimationSynchronizer_Light) Inspectorで与えられたAnimator内の全レイヤーのアニメーションについて時間が同期されます。 ただし、アニメーションはレイヤー1つに対して1つまでです。(パラメーターや再生中のステートが同期されないため) ・Full版(AnimationSynchronizer_Full) Inspectorで与えられたAnimator内の全レイヤーについて、パラメーター、再生中のステート、時間が同期されます。 (Animationの設定で、Speed項目のMultiplier Parameterを設定することにより速度も同期可能になります) もし後からプレイヤーがjoinした場合は、その時にも自動で同期が行われます。 [イベント発火機能について] 同期完了時に"OnAnimationSynced"イベントを発火させる事が出来ます。 イベントを発火させたいUdon Behaviour Componentを持つGameObjectを、Inspector内の"eventListenerObjects"にセットして下さい。 なお参考までに、Udon Behaviour Componentを持たないGameObjectをセットした場合、VRChatのログにエラーメッセージが表示されるようになっています。 [手動同期と同期主の変更について] 本システムに対し"ManualAnimationSync"イベントを発火させることで、任意のタイミングでの同期が行えます。 また、本システムのGameObjectのOwnerが同期主(同期元となるプレイヤー)を担当するため、Ownerを変更することで同期主を変える事が出来ます。 SetOwnerやインスタンス退出などによってOwnerが変更された場合は、自動で次のOwnerを同期主として同期が実行されます。 【備考】 普段は、Udon Sharpを用いないギミックや、Udon Graphの情報が少ないと感じているため、プログラムを無料で配布したり、入門記事を投稿したりしています。 今後、もっと情報が増えるなどして、VRCユーザーがUdonをもっと手軽に扱えるようになることを望みます。 【更新履歴】 2022/02/10 v1.0.0 配布 2022/02/11 v1.0.1 Readme更新 2023/08/27 v1.0.2 Readme更新。ライセンス変更(旧バージョンの方は遡及適用しなくて良いですが、殆ど同じだと思います。) loopしないAnimationを使用し、再生終了後もそのStateに留まり続けると、同期主以外のユーザーの側で勝手にAnimationが動いてしまうバグを修正。 【作者】 さやまめ - Booth: https://sayamame-beans.booth.pm/ - Misskey(ActivityPub): https://misskey.niri.la/@Sayabeans - Twitter(非推奨): https://twitter.com/Sayabeans_0011 - GitHub: https://github.com/Sayamame-beans - Qiita: https://qiita.com/Sayamame - Zenn: https://zenn.dev/sayamame
English description
This description was written using machine translation. [Summary] This system has "Animation synchronization function" and "Event firing function". Since it does not use UdonSharp, etc., there are no assets required other than VRChat SDK - World. I will be very happy if you purchase the support version, Boost, etc. (I recommend checking the behavior with the free version before purchasing.) If you have any comments, requests, problems, or questions, please contact me through BOOTH or Misskey. The following environment was tested. Unity 2019.4.31f1 VRChat SDK - World 3.2.2 [Contents of the distribution] Unitypackage LICENSE Instruction manual_Readme(English).txt 説明書_Readme.txt (Japanese version of this) Inspector setting(共通).PNG *"共通" means "common". [Contents of unitypackage] - Two Udon programs for animation synchronization system (Udon Graph) - Two types of prefabs - version (text file) - Instruction manual_Readme(English).txt - 説明書_Readme.txt (Japanese version of this) [Terms of use] The MIT License with license exceptions applies. The added license exception allows the use of the asset without the license file and copyright notice in the following cases - distribute the asset as a part of other assets, including, but not limited to, world or prefab OR - modified any part of the substantial portions of the asset I will respond to bug reports, etc. as much as possible. These conditions are subject to change when the distribution is updated. In that case, I will make announcements via Misskey, etc., and add a note to the product page, but please follow the terms of use given in the version you are using. [How to use] You can use this by placing a prefab and setting the Animators and other parameters in Inspector. Please refer to the second product image for the following explanation. <About the Animation synchronization function> syncInterval is the period for automatic synchronization. Even if you set it too short, it may not be effective due to the limitation of Udon's manual synchronization. The explanation of each prefab is as follows. - Light version(AnimationSynchronizer_Light) Time is synchronized for animations of all layers in the Animator given by Inspector. However, only one animation is allowed per layer (because parameters and states being played are not synchronized). - Full version(AnimationSynchronizer_Full) Parameters, playing states, and time will be synchronized for all layers in the Animator given by Inspector. (Speed can also be synchronized by setting the Multiplier Parameter in the Speed item in the Animation settings.) If some player joins later, the synchronization will also be automatically executed at that time. <About the Event firing function> The "OnAnimationSynced" event can be fired when synchronization is complete. Set the GameObject that has the Udon Behaviour Component you want to fire the event to "eventListenerObjects" in the Inspector. For your reference, if you set a GameObject that does not have the Udon Behaviour Component, an error message will be displayed in the VRChat log. <About manual synchronization and changing the synchronization master> By firing the "ManualAnimationSync" event to this system, you can synchronize the animation at any timing. Since the Owner of the GameObject of this system is the synchronization master (the player who is the source of synchronization), you can change the synchronization master by changing the owner. When the Owner is changed by SetOwner or leaving the instance, the next Owner is automatically selected as the synchronization master and the synchronization is executed. [Remarks] I usually distribute the program for free and post introductory articles because I feel that there is a lack of gimmicks that do not use Udon Sharp and information about Udon Graph. I hope that more information will become available in the future so that VRC users can handle Udon more easily. [Update history] 2022/02/10 v1.0.0 Distributed 2022/02/11 v1.0.1 Readme updated 2023/08/27 v1.0.2 Readme updated. License changes (older versions do not have to be applied retroactively, but they are almost the same.) Fixed a bug that caused unintended animations for users other than the synchronization master when using a non-looping AnimationClip and staying in the same state after playback ended. [Author] Sayamame - Booth: https://sayamame-beans.booth.pm/ - Misskey(ActivityPub): https://misskey.niri.la/@Sayabeans - Twitter(Not Recommended): https://twitter.com/Sayabeans_0011 - GitHub: https://github.com/Sayamame-beans - Qiita: https://qiita.com/Sayamame - Zenn: https://zenn.dev/sayamame