// TODO: Put this into Misc class? private void CreateBlendMesh(SkinnedMeshRenderer skinnedMeshRenderer, Mesh skinnedMesh, string name, bool convex) { // Detecting how many BlendShapes we have. int blendShapeCount = 0; blendShapeCount = skinnedMesh.blendShapeCount; Debug.Log("BlendShape count bottom: " + blendShapeCount); // Applying BlendShapes. if (blendShapeCount != 0) skinnedMeshRenderer.SetBlendShapeWeight(0, size * 100); // Creates a snapshot of the SkinnedMeshRenderer and stores it in the mesh. // That skinned mesh renderer should have the shape with the BlendShapes applyied. Mesh bakedMesh = new Mesh(); skinnedMeshRenderer.BakeMesh(bakedMesh); // Recalcultate the bounding volume of the mesh from the vertices. bakedMesh.RecalculateBounds(); Debug.Log("Baked mesh bounds: " + bakedMesh.bounds.ToString()); // Selecting part and destroying MeshCollider in case there is one. GameObject child = transform.FindChild(name).gameObject; DestroyImmediate(child.GetComponent<MeshCollider>()); // Adding MeshCollider and assigning the bakedMesh. MeshCollider meshCollider = child.AddComponent<MeshCollider>(); meshCollider.sharedMesh = bakedMesh; meshCollider.convex = convex; }
static public int SetBlendShapeWeight(IntPtr l) { try { #if DEBUG var method = System.Reflection.MethodBase.GetCurrentMethod(); string methodName = GetMethodName(method); #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.BeginSample(methodName); #else Profiler.BeginSample(methodName); #endif #endif UnityEngine.SkinnedMeshRenderer self = (UnityEngine.SkinnedMeshRenderer)checkSelf(l); System.Int32 a1; checkType(l, 2, out a1); System.Single a2; checkType(l, 3, out a2); self.SetBlendShapeWeight(a1, a2); pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } #if DEBUG finally { #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.EndSample(); #else Profiler.EndSample(); #endif } #endif }
// Use this for initialization void Start() { mySwitchMesh = GetComponent<SkinnedMeshRenderer>(); myMaterial = mySwitchMesh.material; myAudioSource = GetComponent<AudioSource>(); if (state == true) { myMaterial.color = Color.green; mySwitchMesh.SetBlendShapeWeight(0, 100); } if (state == false) { myMaterial.color = Color.red; mySwitchMesh.SetBlendShapeWeight(0, 0); } }
static int QPYX_SetBlendShapeWeight_YXQP(IntPtr L_YXQP) { try { ToLua.CheckArgsCount(L_YXQP, 3); UnityEngine.SkinnedMeshRenderer QPYX_obj_YXQP = (UnityEngine.SkinnedMeshRenderer)ToLua.CheckObject <UnityEngine.SkinnedMeshRenderer>(L_YXQP, 1); int QPYX_arg0_YXQP = (int)LuaDLL.luaL_checknumber(L_YXQP, 2); float QPYX_arg1_YXQP = (float)LuaDLL.luaL_checknumber(L_YXQP, 3); QPYX_obj_YXQP.SetBlendShapeWeight(QPYX_arg0_YXQP, QPYX_arg1_YXQP); return(0); } catch (Exception e_YXQP) { return(LuaDLL.toluaL_exception(L_YXQP, e_YXQP)); } }
static public int SetBlendShapeWeight(IntPtr l) { try { UnityEngine.SkinnedMeshRenderer self = (UnityEngine.SkinnedMeshRenderer)checkSelf(l); System.Int32 a1; checkType(l, 2, out a1); System.Single a2; checkType(l, 3, out a2); self.SetBlendShapeWeight(a1, a2); return(0); } catch (Exception e) { return(error(l, e)); } }
static int SetBlendShapeWeight(IntPtr L) { try { ToLua.CheckArgsCount(L, 3); UnityEngine.SkinnedMeshRenderer obj = (UnityEngine.SkinnedMeshRenderer)ToLua.CheckObject <UnityEngine.SkinnedMeshRenderer>(L, 1); int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); float arg1 = (float)LuaDLL.luaL_checknumber(L, 3); obj.SetBlendShapeWeight(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public static int SetBlendShapeWeight_wrap(long L) { try { long nThisPtr = FCLibHelper.fc_get_inport_obj_ptr(L); UnityEngine.SkinnedMeshRenderer obj = get_obj(nThisPtr); int arg0 = FCLibHelper.fc_get_int(L, 0); float arg1 = FCLibHelper.fc_get_float(L, 1); obj.SetBlendShapeWeight(arg0, arg1); } catch (Exception e) { Debug.LogException(e); } return(0); }
static int SetBlendShapeWeight(IntPtr L) { #if UNITY_EDITOR ToluaProfiler.AddCallRecord("UnityEngine.SkinnedMeshRenderer.SetBlendShapeWeight"); #endif try { ToLua.CheckArgsCount(L, 3); UnityEngine.SkinnedMeshRenderer obj = (UnityEngine.SkinnedMeshRenderer)ToLua.CheckObject <UnityEngine.SkinnedMeshRenderer>(L, 1); int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); float arg1 = (float)LuaDLL.luaL_checknumber(L, 3); obj.SetBlendShapeWeight(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public void SetValue(float _value, SkinnedMeshRenderer smr) { value = _value; smr.SetBlendShapeWeight (index, value); }
/// <summary> /// Read the data into the specified value. /// </summary> /// <param name="value">Value.</param> /// <param name="reader">Reader.</param> public override void ReadInto(object value, ISaveGameReader reader) { UnityEngine.SkinnedMeshRenderer skinnedMeshRenderer = (UnityEngine.SkinnedMeshRenderer)value; foreach (string property in reader.Properties) { switch (property) { case "blendShapeWeights": List <float> blendShapeWeights = reader.ReadProperty <List <float> > (); for (int i = 0; i < skinnedMeshRenderer.sharedMesh.blendShapeCount; i++) { skinnedMeshRenderer.SetBlendShapeWeight(i, blendShapeWeights [i]); } break; case "bones": skinnedMeshRenderer.bones = reader.ReadProperty <UnityEngine.Transform []> (); break; case "rootBone": if (skinnedMeshRenderer.rootBone == null) { skinnedMeshRenderer.rootBone = reader.ReadProperty <UnityEngine.Transform> (); } else { reader.ReadIntoProperty <UnityEngine.Transform> (skinnedMeshRenderer.rootBone); } break; case "quality": skinnedMeshRenderer.quality = reader.ReadProperty <UnityEngine.SkinQuality> (); break; case "sharedMesh": if (skinnedMeshRenderer.sharedMesh == null) { skinnedMeshRenderer.sharedMesh = reader.ReadProperty <UnityEngine.Mesh> (); } else { reader.ReadIntoProperty <UnityEngine.Mesh> (skinnedMeshRenderer.sharedMesh); } break; case "updateWhenOffscreen": skinnedMeshRenderer.updateWhenOffscreen = reader.ReadProperty <System.Boolean> (); break; case "skinnedMotionVectors": skinnedMeshRenderer.skinnedMotionVectors = reader.ReadProperty <System.Boolean> (); break; case "localBounds": skinnedMeshRenderer.localBounds = reader.ReadProperty <UnityEngine.Bounds> (); break; case "enabled": skinnedMeshRenderer.enabled = reader.ReadProperty <System.Boolean> (); break; case "shadowCastingMode": skinnedMeshRenderer.shadowCastingMode = reader.ReadProperty <UnityEngine.Rendering.ShadowCastingMode> (); break; case "receiveShadows": skinnedMeshRenderer.receiveShadows = reader.ReadProperty <System.Boolean> (); break; case "material": if (skinnedMeshRenderer.material == null) { skinnedMeshRenderer.material = reader.ReadProperty <UnityEngine.Material> (); } else { reader.ReadIntoProperty <UnityEngine.Material> (skinnedMeshRenderer.material); } break; case "sharedMaterial": if (skinnedMeshRenderer.sharedMaterial == null) { skinnedMeshRenderer.sharedMaterial = reader.ReadProperty <UnityEngine.Material> (); } else { reader.ReadIntoProperty <UnityEngine.Material> (skinnedMeshRenderer.sharedMaterial); } break; case "materials": skinnedMeshRenderer.materials = reader.ReadProperty <UnityEngine.Material []> (); break; case "sharedMaterials": skinnedMeshRenderer.sharedMaterials = reader.ReadProperty <UnityEngine.Material []> (); break; case "lightmapIndex": skinnedMeshRenderer.lightmapIndex = reader.ReadProperty <System.Int32> (); break; case "realtimeLightmapIndex": skinnedMeshRenderer.realtimeLightmapIndex = reader.ReadProperty <System.Int32> (); break; case "lightmapScaleOffset": skinnedMeshRenderer.lightmapScaleOffset = reader.ReadProperty <UnityEngine.Vector4> (); break; case "motionVectorGenerationMode": skinnedMeshRenderer.motionVectorGenerationMode = reader.ReadProperty <UnityEngine.MotionVectorGenerationMode> (); break; case "realtimeLightmapScaleOffset": skinnedMeshRenderer.realtimeLightmapScaleOffset = reader.ReadProperty <UnityEngine.Vector4> (); break; case "lightProbeUsage": skinnedMeshRenderer.lightProbeUsage = reader.ReadProperty <UnityEngine.Rendering.LightProbeUsage> (); break; case "lightProbeProxyVolumeOverride": if (skinnedMeshRenderer.lightProbeProxyVolumeOverride == null) { skinnedMeshRenderer.lightProbeProxyVolumeOverride = reader.ReadProperty <UnityEngine.GameObject> (); } else { reader.ReadIntoProperty <UnityEngine.GameObject> (skinnedMeshRenderer.lightProbeProxyVolumeOverride); } break; case "probeAnchor": if (skinnedMeshRenderer.probeAnchor == null) { skinnedMeshRenderer.probeAnchor = reader.ReadProperty <UnityEngine.Transform> (); } else { reader.ReadIntoProperty <UnityEngine.Transform> (skinnedMeshRenderer.probeAnchor); } break; case "reflectionProbeUsage": skinnedMeshRenderer.reflectionProbeUsage = reader.ReadProperty <UnityEngine.Rendering.ReflectionProbeUsage> (); break; case "sortingLayerName": skinnedMeshRenderer.sortingLayerName = reader.ReadProperty <System.String> (); break; case "sortingLayerID": skinnedMeshRenderer.sortingLayerID = reader.ReadProperty <System.Int32> (); break; case "sortingOrder": skinnedMeshRenderer.sortingOrder = reader.ReadProperty <System.Int32> (); break; case "tag": skinnedMeshRenderer.tag = reader.ReadProperty <System.String> (); break; case "name": skinnedMeshRenderer.name = reader.ReadProperty <System.String> (); break; case "hideFlags": skinnedMeshRenderer.hideFlags = reader.ReadProperty <UnityEngine.HideFlags> (); break; } } }
// Use this for initialization void Start() { _meshRenderer = this.GetComponent<SkinnedMeshRenderer>(); if(_shapeType != ShapeType.Circle) { _meshRenderer.SetBlendShapeWeight(ShapeToInt(_shapeType),100); } this.gameObject.GetComponent<ColorBehavior>().Set_Color(_shapeType); }