From eb84bb298d2b95aec7b2ae12cbf25ac64f25379a Mon Sep 17 00:00:00 2001 From: tylermurphy534 Date: Sun, 6 Nov 2022 15:12:42 -0500 Subject: move to self host --- .../MB2_UpdateSkinnedMeshBoundsFromBounds.cs | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 VRCSDK3Worlds/Assets/MeshBaker/scripts/MB2_UpdateSkinnedMeshBoundsFromBounds.cs (limited to 'VRCSDK3Worlds/Assets/MeshBaker/scripts/MB2_UpdateSkinnedMeshBoundsFromBounds.cs') diff --git a/VRCSDK3Worlds/Assets/MeshBaker/scripts/MB2_UpdateSkinnedMeshBoundsFromBounds.cs b/VRCSDK3Worlds/Assets/MeshBaker/scripts/MB2_UpdateSkinnedMeshBoundsFromBounds.cs new file mode 100644 index 00000000..e48e98af --- /dev/null +++ b/VRCSDK3Worlds/Assets/MeshBaker/scripts/MB2_UpdateSkinnedMeshBoundsFromBounds.cs @@ -0,0 +1,38 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using DigitalOpus.MB.Core; + +public class MB2_UpdateSkinnedMeshBoundsFromBounds : MonoBehaviour { + public List objects; + SkinnedMeshRenderer smr; + + void Start () { + smr = GetComponent(); + if (smr == null){ + Debug.LogError("Need to attach MB2_UpdateSkinnedMeshBoundsFromBounds script to an object with a SkinnedMeshRenderer component attached."); + return; + } + if (objects == null || objects.Count == 0){ + Debug.LogWarning("The MB2_UpdateSkinnedMeshBoundsFromBounds had no Game Objects. It should have the same list of game objects that the MeshBaker does."); + smr = null; + return; + } + for (int i = 0; i < objects.Count; i++){ + if (objects[i] == null || objects[i].GetComponent() == null){ + Debug.LogError("The list of objects had nulls or game objects without a renderer attached at position " + i); + smr = null; + return; + } + } + bool origVal = smr.updateWhenOffscreen; + smr.updateWhenOffscreen = true; + smr.updateWhenOffscreen = origVal; + } + + void Update () { + if (smr != null && objects != null){ + MB3_MeshCombiner.UpdateSkinnedMeshApproximateBoundsFromBoundsStatic(objects,smr); + } + } +} -- cgit v1.2.3-freya