Exemplo n.º 1
0
        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
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
 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;
                 }
             }
         }
     }
 }
Exemplo n.º 7
0
        /// <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;
        }