summaryrefslogtreecommitdiff
path: root/VRCSDK3Worlds/Assets/MeshBaker/scripts/MB2_UpdateSkinnedMeshBoundsFromBounds.cs
diff options
context:
space:
mode:
authortylermurphy534 <tylermurphy534@gmail.com>2022-11-06 15:12:42 -0500
committertylermurphy534 <tylermurphy534@gmail.com>2022-11-06 15:12:42 -0500
commiteb84bb298d2b95aec7b2ae12cbf25ac64f25379a (patch)
treeefd616a157df06ab661c6d56651853431ac6b08b /VRCSDK3Worlds/Assets/MeshBaker/scripts/MB2_UpdateSkinnedMeshBoundsFromBounds.cs
downloadunityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.gz
unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.bz2
unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.zip
move to self host
Diffstat (limited to 'VRCSDK3Worlds/Assets/MeshBaker/scripts/MB2_UpdateSkinnedMeshBoundsFromBounds.cs')
-rw-r--r--VRCSDK3Worlds/Assets/MeshBaker/scripts/MB2_UpdateSkinnedMeshBoundsFromBounds.cs38
1 files changed, 38 insertions, 0 deletions
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<GameObject> objects;
+ SkinnedMeshRenderer smr;
+
+ void Start () {
+ smr = GetComponent<SkinnedMeshRenderer>();
+ 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<Renderer>() == 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);
+ }
+ }
+}