public void Reset() { lightProbeProxyVolumeOverride = null; probeAnchor = null; motionVectorGenerationMode = MotionVectorGenerationMode.Object; reflectionProbeUsage = ReflectionProbeUsage.BlendProbes; lightProbeUsage = LightProbeUsage.Off; allowOcclusionWhenDynamic = true; renderingLayerMask = ~(uint)0; receiveGI = ReceiveGI.LightProbes; #if UNITY_EDITOR lightmapParameters = new UnityEditor.LightmapParameters(); importantGI = false; optimizeUVs = false; ignoreNormalsForChartDetection = false; scaleInLightmap = 1.0f; autoUVMaxDistance = 0.5f; autoUVMaxAngle = 89; minimumChartSize = 4; stitchLightmapSeams = false; #endif }
private void OnEnable() { if (skeletonRenderer == null) { return; } if (copiedBlock == null) { copiedBlock = new MaterialPropertyBlock(); } mainMeshRenderer = skeletonRenderer.GetComponent <MeshRenderer>(); skeletonRenderer.GenerateMeshOverride -= HandleRender; skeletonRenderer.GenerateMeshOverride += HandleRender; if (!copyMeshRendererFlags) { return; } LightProbeUsage lightProbeUsage = mainMeshRenderer.lightProbeUsage; bool receiveShadows = mainMeshRenderer.receiveShadows; ReflectionProbeUsage reflectionProbeUsage = mainMeshRenderer.reflectionProbeUsage; ShadowCastingMode shadowCastingMode = mainMeshRenderer.shadowCastingMode; MotionVectorGenerationMode motionVectorGenerationMode = mainMeshRenderer.motionVectorGenerationMode; Transform probeAnchor = mainMeshRenderer.probeAnchor; for (int i = 0; i < partsRenderers.Count; i++) { SkeletonPartsRenderer skeletonPartsRenderer = partsRenderers[i]; if (!(skeletonPartsRenderer == null)) { MeshRenderer meshRenderer = skeletonPartsRenderer.MeshRenderer; meshRenderer.lightProbeUsage = lightProbeUsage; meshRenderer.receiveShadows = receiveShadows; meshRenderer.reflectionProbeUsage = reflectionProbeUsage; meshRenderer.shadowCastingMode = shadowCastingMode; meshRenderer.motionVectorGenerationMode = motionVectorGenerationMode; meshRenderer.probeAnchor = probeAnchor; } } }
protected override void ReadFromImpl(object obj) { base.ReadFromImpl(obj); Renderer uo = (Renderer)obj; enabled = uo.enabled; shadowCastingMode = uo.shadowCastingMode; receiveShadows = uo.receiveShadows; motionVectorGenerationMode = uo.motionVectorGenerationMode; lightProbeUsage = uo.lightProbeUsage; reflectionProbeUsage = uo.reflectionProbeUsage; renderingLayerMask = uo.renderingLayerMask; sortingLayerName = uo.sortingLayerName; sortingLayerID = uo.sortingLayerID; sortingOrder = uo.sortingOrder; allowOcclusionWhenDynamic = uo.allowOcclusionWhenDynamic; lightProbeProxyVolumeOverride = ToID(uo.lightProbeProxyVolumeOverride); probeAnchor = ToID(uo.probeAnchor); lightmapIndex = uo.lightmapIndex; realtimeLightmapIndex = uo.realtimeLightmapIndex; lightmapScaleOffset = uo.lightmapScaleOffset; realtimeLightmapScaleOffset = uo.realtimeLightmapScaleOffset; sharedMaterials = ToID(uo.sharedMaterials); }
/// <summary> /// /// </summary> /// <param name="binaryReader"></param> public override void Deserialize(BinaryReader binaryReader) { base.Deserialize(binaryReader); #if UNITY_2019_1_OR_NEWER m_forceRenderingOff = binaryReader.ReadBoolean(); m_rayTracingMode = (UnityEngine.Experimental.Rendering.RayTracingMode)binaryReader.ReadInt32(); #endif m_lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)binaryReader.ReadInt32(); m_motionVectorGenerationMode = (MotionVectorGenerationMode)binaryReader.ReadInt32(); m_reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)binaryReader.ReadInt32(); m_shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)binaryReader.ReadInt32(); m_lightmapIndex = binaryReader.ReadInt32(); m_rendererPriority = binaryReader.ReadInt32(); m_realtimeLightmapIndex = binaryReader.ReadInt32(); m_sortingLayerID = binaryReader.ReadInt32(); m_sortingOrder = binaryReader.ReadInt32(); m_renderingLayerMask = binaryReader.ReadUInt32(); m_lightProbeProxyVolumeOverride = binaryReader.ReadString(); m_sortingLayerName = binaryReader.ReadString(); m_receiveShadows = binaryReader.ReadBoolean(); m_allowOcclusionWhenDynamic = binaryReader.ReadBoolean(); m_enabled = binaryReader.ReadBoolean(); m_isPartOfStaticBatch = binaryReader.ReadBoolean(); m_isVisible = binaryReader.ReadBoolean(); m_bounds = SerializerKun.DesirializeObject <BoundsKun>(binaryReader); m_probeAnchor = SerializerKun.DesirializeObject <TransformKun>(binaryReader); m_lightmapScaleOffset = SerializerKun.DesirializeObject <Vector4Kun>(binaryReader); m_realtimeLightmapScaleOffset = SerializerKun.DesirializeObject <Vector4Kun>(binaryReader); m_localToWorldMatrix = SerializerKun.DesirializeObject <Matrix4x4Kun>(binaryReader); m_worldToLocalMatrix = SerializerKun.DesirializeObject <Matrix4x4Kun>(binaryReader); m_material = SerializerKun.DesirializeObject <MaterialKun>(binaryReader); m_sharedMaterial = SerializerKun.DesirializeObject <MaterialKun>(binaryReader); m_materials = SerializerKun.DesirializeObjects <MaterialKun>(binaryReader); m_sharedMaterials = SerializerKun.DesirializeObjects <MaterialKun>(binaryReader); }
public void ReadFromGameObject(int rootInstanceId, CombineConditionSettings combineConditions, bool copyBakedLighting, GameObject go, Transform t, MeshRenderer mr, Material mat) { matInstanceId = (combineConditions.sameMaterial ? mat.GetInstanceID() : combineConditions.combineCondition.matInstanceId); lightmapIndex = (copyBakedLighting ? mr.lightmapIndex : lightmapIndex = -1); shadowCastingMode = (combineConditions.sameShadowCastingMode ? mr.shadowCastingMode : combineConditions.combineCondition.shadowCastingMode); receiveShadows = (combineConditions.sameReceiveShadows ? mr.receiveShadows : combineConditions.combineCondition.receiveShadows); lightmapScale = (combineConditions.sameLightmapScale ? GetLightmapScale(mr) : combineConditions.combineCondition.lightmapScale); lightProbeUsage = (combineConditions.sameLightProbeUsage ? mr.lightProbeUsage : combineConditions.combineCondition.lightProbeUsage); reflectionProbeUsage = (combineConditions.sameReflectionProbeUsage ? mr.reflectionProbeUsage : combineConditions.combineCondition.reflectionProbeUsage); probeAnchor = (combineConditions.sameProbeAnchor ? mr.probeAnchor : combineConditions.combineCondition.probeAnchor); motionVectorGenerationMode = (combineConditions.sameMotionVectorGenerationMode ? mr.motionVectorGenerationMode : combineConditions.combineCondition.motionVectorGenerationMode); layer = (combineConditions.sameLayer ? go.layer : combineConditions.combineCondition.layer); #if UNITY_EDITOR #if !UNITY_2017 && !UNITY_2018 && !UNITY_2019_1 receiveGI = (combineConditions.sameReceiveGI ? mr.receiveGI : combineConditions.combineCondition.receiveGI); #endif staticEditorFlags = (combineConditions.sameStaticEditorFlags ? UnityEditor.GameObjectUtility.GetStaticEditorFlags(go) : combineConditions.combineCondition.staticEditorFlags); #endif this.rootInstanceId = rootInstanceId; // Debug.Log(go.name + " " + shadowCastingMode); }
private void OnEnable() { if (this.skeletonRenderer != null) { if (this.copiedBlock == null) { this.copiedBlock = new MaterialPropertyBlock(); } this.mainMeshRenderer = this.skeletonRenderer.GetComponent <MeshRenderer>(); this.skeletonRenderer.GenerateMeshOverride -= new Spine.Unity.SkeletonRenderer.InstructionDelegate(this.HandleRender); this.skeletonRenderer.GenerateMeshOverride += new Spine.Unity.SkeletonRenderer.InstructionDelegate(this.HandleRender); if (this.copyMeshRendererFlags) { LightProbeUsage lightProbeUsage = this.mainMeshRenderer.lightProbeUsage; bool receiveShadows = this.mainMeshRenderer.receiveShadows; ReflectionProbeUsage reflectionProbeUsage = this.mainMeshRenderer.reflectionProbeUsage; ShadowCastingMode shadowCastingMode = this.mainMeshRenderer.shadowCastingMode; MotionVectorGenerationMode motionVectorGenerationMode = this.mainMeshRenderer.motionVectorGenerationMode; Transform probeAnchor = this.mainMeshRenderer.probeAnchor; for (int i = 0; i < this.partsRenderers.Count; i++) { SkeletonPartsRenderer renderer = this.partsRenderers[i]; if (renderer != null) { MeshRenderer meshRenderer = renderer.MeshRenderer; meshRenderer.lightProbeUsage = lightProbeUsage; meshRenderer.receiveShadows = receiveShadows; meshRenderer.reflectionProbeUsage = reflectionProbeUsage; meshRenderer.shadowCastingMode = shadowCastingMode; meshRenderer.motionVectorGenerationMode = motionVectorGenerationMode; meshRenderer.probeAnchor = probeAnchor; } } } } }
/// <summary> /// Creates new LOD Level Settings. /// </summary> /// <param name="quality">The quality.</param> /// <param name="skinQuality">The skin quality.</param> /// <param name="receiveShadows">If receiving shadows.</param> /// <param name="shadowCasting">The shadow casting mode.</param> /// <param name="motionVectors">The motion vector generation mode.</param> /// <param name="skinnedMotionVectors">If motion vectors are skinned.</param> public LODSettings(float quality, SkinQuality skinQuality, bool receiveShadows, ShadowCastingMode shadowCasting, MotionVectorGenerationMode motionVectors, bool skinnedMotionVectors) { this.quality = quality; this.combineMeshes = true; this.skinQuality = skinQuality; this.receiveShadows = receiveShadows; this.shadowCasting = shadowCasting; this.motionVectors = motionVectors; this.skinnedMotionVectors = skinnedMotionVectors; this.lightProbeUsage = LightProbeUsage.BlendProbes; this.reflectionProbeUsage = ReflectionProbeUsage.BlendProbes; }