diff --git a/Assets/Scenes/witwics.unity b/Assets/Scenes/witwics.unity index c8bb9ec..da5ce40 100644 --- a/Assets/Scenes/witwics.unity +++ b/Assets/Scenes/witwics.unity @@ -17035,6 +17035,12 @@ Transform: type: 3} m_PrefabInstance: {fileID: 413014351} m_PrefabAsset: {fileID: 0} +--- !u!23 &413014353 stripped +MeshRenderer: + m_CorrespondingSourceObject: {fileID: -7511558181221131132, guid: 0adb3a9b1c6f25347b09f0a1c344b07b, + type: 3} + m_PrefabInstance: {fileID: 413014351} + m_PrefabAsset: {fileID: 0} --- !u!1001 &414428781 PrefabInstance: m_ObjectHideFlags: 0 @@ -44084,6 +44090,12 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1286934915} m_PrefabAsset: {fileID: 0} +--- !u!23 &1286934917 stripped +MeshRenderer: + m_CorrespondingSourceObject: {fileID: -7511558181221131132, guid: 3b9e171cd9a05f4409116211d956033a, + type: 3} + m_PrefabInstance: {fileID: 1286934915} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1288293805 PrefabInstance: m_ObjectHideFlags: 0 @@ -61009,6 +61021,12 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1587075297} m_PrefabAsset: {fileID: 0} +--- !u!23 &1587075299 stripped +MeshRenderer: + m_CorrespondingSourceObject: {fileID: -7511558181221131132, guid: 0adb3a9b1c6f25347b09f0a1c344b07b, + type: 3} + m_PrefabInstance: {fileID: 1587075297} + m_PrefabAsset: {fileID: 0} --- !u!1 &1588248285 stripped GameObject: m_CorrespondingSourceObject: {fileID: 7878072632459685956, guid: 40955da061a841841a91c845049f1e11, @@ -65293,6 +65311,12 @@ Transform: - {fileID: 1148878837} m_Father: {fileID: 938262255} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1726472163 stripped +MeshRenderer: + m_CorrespondingSourceObject: {fileID: -7511558181221131132, guid: 0adb3a9b1c6f25347b09f0a1c344b07b, + type: 3} + m_PrefabInstance: {fileID: 1481802713} + m_PrefabAsset: {fileID: 0} --- !u!1 &1727329393 stripped GameObject: m_CorrespondingSourceObject: {fileID: 4573100096097885528, guid: 899ce13087fd5974f88dcbccaea2df85, @@ -75733,7 +75757,11 @@ MonoBehaviour: _BlankScreenMesh: {fileID: 1123331149} _VideoScreenMesh: {fileID: 1123331146} _MapScreenMesh: {fileID: 1123331148} - _MapScreenMaterial: {fileID: 0} + _AuxiliaryMapMeshes: + - {fileID: 1286934917} + - {fileID: 413014353} + - {fileID: 1587075299} + - {fileID: 1726472163} _PlaceholderMapTexture: {fileID: 2800000, guid: 44aab33f67dfa2949a8bd0a7e20d40e7, type: 3} _VideoLoadIndicators: diff --git a/Assets/UdonSharp/Video Players/CaseVideoSyncPlayer.asset b/Assets/UdonSharp/Video Players/CaseVideoSyncPlayer.asset index 57292a5..1e8355c 100644 --- a/Assets/UdonSharp/Video Players/CaseVideoSyncPlayer.asset +++ b/Assets/UdonSharp/Video Players/CaseVideoSyncPlayer.asset @@ -293,19 +293,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _MapScreenMaterial + Data: _AuxiliaryMapMeshes - Name: $v Entry: 7 Data: 18|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _MapScreenMaterial + Data: _AuxiliaryMapMeshes - Name: k__BackingField Entry: 7 Data: 19|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: UnityEngine.Material, UnityEngine.CoreModule + Data: UnityEngine.MeshRenderer[], UnityEngine.CoreModule - Name: Entry: 8 Data: diff --git a/Assets/UdonSharp/Video Players/CaseVideoSyncPlayer.cs b/Assets/UdonSharp/Video Players/CaseVideoSyncPlayer.cs index cf6f73a..bbdbd58 100644 --- a/Assets/UdonSharp/Video Players/CaseVideoSyncPlayer.cs +++ b/Assets/UdonSharp/Video Players/CaseVideoSyncPlayer.cs @@ -27,7 +27,7 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour [SerializeField] private MeshRenderer _MapScreenMesh; [Header("Materials")] - [SerializeField] private Material _MapScreenMaterial; + [SerializeField] private MeshRenderer[] _AuxiliaryMapMeshes; [SerializeField] private Texture2D _PlaceholderMapTexture; [Header("Video Status")] @@ -69,8 +69,6 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour _MapDownloader = new VRCImageDownloader(); _UdonEventReceiverThis = (IUdonEventReceiver)this; - _MapScreenMesh.sharedMaterial = _MapScreenMaterial; - _UpdateMap(); } @@ -273,19 +271,27 @@ public class CaseVideoSyncPlayer : UdonSharpBehaviour private void _UpdateSubMap(int MapPage = -1) { int SubmapIndexWrapped = SubMapIndex % IMAGES_PER_MAP_ATLAS; + _UpdateMapMaterial(_MapScreenMesh.material, MapPage, SubmapIndexWrapped); + foreach (MeshRenderer AuxiliaryMap in _AuxiliaryMapMeshes) + { + _UpdateMapMaterial(AuxiliaryMap.material, MapPage, SubmapIndexWrapped); + } + } + private void _UpdateMapMaterial(Material MapMaterial, int MapPage, int SubmapIndexWrapped) + { switch (SubmapIndexWrapped) { - case 0: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.66666666f)); break; - case 1: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.66666666f)); break; - case 2: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.33333333f)); break; - case 3: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.33333333f)); break; - case 4: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.0f)); break; - case 5: _MapScreenMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.0f)); break; + case 0: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.66666666f)); break; + case 1: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.66666666f)); break; + case 2: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.33333333f)); break; + case 3: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.33333333f)); break; + case 4: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.0f, 0.0f)); break; + case 5: MapMaterial.SetVector("_MainTex_ST", new Vector4(0.5f, 0.33333333f, 0.5f, 0.0f)); break; } if (MapPage >= 0) { - _MapScreenMaterial.SetTexture("_MainTex", _MapImages[MapPage]); + MapMaterial.SetTexture("_MainTex", _MapImages[MapPage]); } }