[VRChat] myxyLiquidGlass
- ¥ 3,000
English version readme→https://www.dropbox.com/s/kg02y9z8wbggkds/Readme_en.md?dl=0 # 概要 VRChat向け飲み物アセットです。 グラスに液体を注ぐことができます。 サンプルワールドを公開してます(https://vrchat.com/home/launch?worldId=wrld_b85ae69f-28d6-48bc-ba87-afa5c8cc137a) # 更新履歴 2022-02-06 v1.0.0 公開 2022-02-06 v1.0.1 泡等の補間処理を修正 2022-02-07 v1.0.2 日本酒がテッカテカになってたのを修正、規約を一部修正 2022-02-08 v1.0.3 ライティング処理を修正 2022-02-08 v1.0.4 グラス描画更新スクリプトを修正(@dotdotwさんにご指摘いただきました。) 2022-02-09 v1.0.5 ライティング処理を修正 2022-02-19 v1.1.0 試験的にQuest対応 2022-02-22 v1.2.0 ドリンクバー機構実装 2022-02-25 v1.2.1 墨汁化対策 2022-02-27 v1.2.2 英語版Readme追加、グラス追加 2022-03-12 v1.2.3 SPS-I対応, ポスター追加 2022-03-21 v1.2.4 同期の問題を修正 2022-05-11 v1.2.5 泡の描画を修正 2022-08-06 v1.2.6 体積計算と反射を修正 2022-09-05 v1.2.7 UdonSharp 1.1.1へのmigrationに際してコンパイルエラーとなっていた部分を修正 2024-02-26 v1.2.8 非表示時の同期で発生していたエラーを修正 # 使い方 Unity 2022.3.6f1及びVRChatSDK3.5.1で動作を確認しています。 同梱のunitypackageをインポートする前に最新版のVRCSDK3とUdonSharpをインポートしてください。 Assets/myxyLiquidGlass/Prefab内の各prefabがグラスやボトルに対応し、シーンに配置することで動作します。 ふたが付いているボトルはクリックで開閉し、閉じると液体が回復します。 シェーカーとフラスコは開いているときに注いだ液体を記憶します。 全てのグラスは長押しでこぼさずに飲むことができます。 # 操作上の注意点 * 不明な原因によりなんらかの操作で描画が消える場合があります。オブジェクトを移動したりシーンを再生したら再描画されます。 * シーン上にReflectionProbeがあった方が見栄えが良いです。 * Prefabの位置調整する際にシーン上でクリックすると中のGlassオブジェクトを選択しやすいです。Glassオブジェクトの親オブジェクトごと移動・回転してください。 # パラメータ説明 各種パラメータを変更することで様々なグラスを作成できます。 グラスの構造は概ね * Pickup用オブジェクト - キャップオブジェクト - Glass - Stream のようになっています。 Glassオブジェクトに紐付いたUdonBehaviourとマテリアルのパラメータでグラスの色や形状や振る舞いを設定できます。 一から全パラメータを設定してグラスを作るのは大変なので既存のPrefabを改造するのをおすすめします。 ## 重要そうなとこだけ説明 UdonBehaviourのCapにキャップを設定します。 IsPourableで他のグラスから注ぐことができ、IsRecoverableでキャップを閉めたときに回復します。 マテリアルのColor->WaterColor (Alpha is opacity)で液体の色が変わります。 Water surface transformaの項目は初期液体量や最大回復液体量を決定します。 ## UdonBehaviour (Glassスクリプト) * Pendulum Mass - 水面の動きのパラメータです。仮想的な振り子の質量です。 * Pendulum Viscosity - 水面の動きのパラメータです。仮想的な振り子の粘性抵抗です。 * Pendulum Spring - 水面の動きのパラメータです。仮想的な振り子のばね定数です。 * Height Scale Pendulum Length - 水面の動きのパラメータです。仮想的な振り子の高さで、グラスの高さでスケールします。 * Cap - キャップのオブジェクトです。 * Is Open - グラスの開放状態の制御です。基本的に自動で動くのであまり気にしないでください。 * Is Pourable - 他のグラスから液体を注ぐことができるか設定します。 * Height Scale Full Open Speed - 水流の速さの基本的な値で、グラスの高さでスケールします。 * Whole Volume Scale Recovery Volume Speed - 回復速度です。全体の体積でスケールします。 * Whole Volume Scale Drink Volume Speed - 飲む速度です。全体の体積でスケールします。 * Gravity - 重力ベクトルです。 * Long Press Interval - 長押し判定の長さです。 * Is Static Glass - チェックで何も動作しないグラスになります。シェーカーのキャップに使っています * Is Recoverable - ふたを閉めたときに回復するか設定します。 * Is Disable Sparkling And Foam When Close - ふたを閉めたときにスパークリング的な泡とビール的な泡を消滅させます。 * Is Infinite - 液体が減らなくなります。重くなる要因になるのでおすすめしません。 * Stream Object - 水流オブジェクトへの参照です * Action Counter Reset Time - 手を離したあとこの秒数以上は動作します * Is Close On Exhaust - グラスが空になったときに自動でふたを閉じます * Is Interactable By Pickup - Glassを参照しているGlassPickupがインタラクトされたときにふたを開閉します。Is Close On Exhaustがチェック入っている場合はふたを開けるだけです。 ## Material ### Bottle shape * Shape - グラス形状が記録されたテクスチャです。Templateフォルダ内のシーンで作成できます。 * Thickness - グラスの厚みです * Bottom - グラスの底の高さです * BottomBottom - グラスの底の底の高さです * EdgeShape - グラスの縁の形状を調整するつもりでしたがあまり機能してません * NGon - グラスの形状を部分的に角柱にしたい場合に使います。2が円柱、3以上が角柱です。 * CornerRadius - 角柱の角の丸みです。 * Poly-Round Threshold - 角柱部分の長さです。 * Poly-Round Height - 角柱部分の高さです。 * Poly-Round Contrast - 角柱部分と円柱部分のスムージングです。 ### Label * Label - ラベルテクスチャです。アルファが透明度です。 * LabelPos - ラベルの高さ位置です * LabelWidth - ラベルの幅です * LabelHeight - ラベルの高さです * IsTransparentLabel - ラベルの半透明・不透明を切り替えます。 * Cutout Threshold - 不透明時のアルファカットアウトの閾値です。 ### Color * BottleColor - ボトルの色です。 * WaterColor (Alpha is opacity) - 液体の色です。アルファ値が不透明度になります。 * WaterOpacity - 液体厚みによる不透明度を調整します。 * Bottle Transparency - グラスの不透明度です。 ### Lighting * Reflectance - グラスの反射率です。 * WaterReflectance - 液体の反射率です。 * WaterRefraction - 液体の屈折率です。 * GrabDiff - グラスの背景の歪みの強さです * GrabDiffWater - 液体の背景の歪みの強さです。 ### Water surface shape * SurfaceTension - 表面張力表現の影響範囲です。 * SurfaceTensionHeight - 表面張力表現の高さ変位です。 * WaveScale - 波の空間的細かさです * WaveTimeScale - 波の時間的細かさです * WaveHeightScale - 波の高さです ### Sparkling and foam * SparklingScale - スパークリングの密度です。 * SparklingSize - スパークリングの大きさです。あまり大きくすると粗が目立ちます。 * SparklingSpeed - スパークリングが上昇する速さです。 * SparklingDensity - スパークリングが単位空間内に発声する確率です。 * Foam Thickness - ビール泡の厚みです。 ### Water surface transform * Initial Height - 初期状態の液体量です。シーン上で反映されます。 * Maximum Height - 液体の最大量です。 * Maximum Height On Cap - キャップを閉めた際の液体最大量です。コルクの高さ分減らすのに使ってます。 ### Other * IsDisplayBottle - ボトル部分の表示非表示を切り替えます * IsDisplayStream - 水流部分の表示非表示を切り替えます # Dispenserについて サンプルシーンにドリンクバー機構のサンプル(DispenserTypeOpenClose, DispenserTypeExhaust)を配置しています。参考にしてください。 通常のボトルとの違いはGlassオブジェクトのIs Close On ExhaustとIs Interactable By Pickupのオプションのチェックで、またヒエラルキー構成が便宜上若干異なっていますが本質的な違いではないです。 Is Close On Exhaustにチェック入っている場合完全にボトルが空にならないと蓋が閉まらないので逆さにするのをおすすめします。 ドリンクバー等として用いる場合ボトルが邪魔なのでマテリアルのIsDisplayBottleのチェックを外してください。 水流太さや液体量を変えたい場合はGlassオブジェクトのスケールを変更してください。 # Quest対応について ver1.2.0以前のアセットではQuestワールドでスクリプトが無効化された状態かつQuestユーザがMasterの状態でPCユーザが入ると液体が真っ黒になる問題がありました。 現状問題は解決されている認識なので普通に無効化していただいて大丈夫です。 # Templateについて Templateフォルダ内Templateシーン中TemplateオブジェクトのTemplateスクリプトの値を変更してGenerateボタンを押すとTemplateフォルダ内にグラス形状用テクスチャが生成されます。 Read/Write Enabledにチェックを入れて使用してください。 # 規約 製作者:myxyの許可なく本アセット及び本アセットを用いた制作物を再配布することを禁止します。 ## 禁止される行為: * 本アセットのソースコードを閲覧可能な状態で配布する * 本アセットやその改造データを用いて制作したソフトウェアを許可なく頒布する ## 禁止されない行為 * 本アセットを用いて制作、アップロードしたVRChatワールドを複数人で使用可能な状態にする 本アセットを用いることによって生じたいかなる損害の責任も製作者:myxyは負わないものとします。 本規約は予告なく変更されることがあります。 # 謝辞 ボトルのラベルはqchan949氏(@qchan949)に描いていただきました。 サンプルシーンのSkyBoxは(https://polyhaven.com/a/sepulchral_chapel_rotunda)のCC0テクスチャを使用しています。 # 連絡先 なにかありましたらBoothのメッセージか以下までご連絡ください: Twitter@3405691582 Mail: m.myxomatosis@gmail.com