Exemplo n.º 1
0
        protected override void OnEnable()
        {
            base.OnEnable();

            m_Targets = new TargetList <VolumetricLightBeam>(targets);

            colorFromLight = FindProperty((VolumetricLightBeam x) => x.colorFromLight);
            color          = FindProperty((VolumetricLightBeam x) => x.color);
            colorGradient  = FindProperty((VolumetricLightBeam x) => x.colorGradient);
            colorMode      = FindProperty((VolumetricLightBeam x) => x.colorMode);

            intensityFromLight    = FindProperty((VolumetricLightBeam x) => x.intensityFromLight);
            intensityModeAdvanced = FindProperty((VolumetricLightBeam x) => x.intensityModeAdvanced);
            intensityInside       = FindProperty((VolumetricLightBeam x) => x.intensityInside);
            intensityOutside      = FindProperty((VolumetricLightBeam x) => x.intensityOutside);

            blendingMode   = FindProperty((VolumetricLightBeam x) => x.blendingMode);
            shaderAccuracy = FindProperty((VolumetricLightBeam x) => x.shaderAccuracy);

            fresnelPow = FindProperty((VolumetricLightBeam x) => x.fresnelPow);

            glareFrontal = FindProperty((VolumetricLightBeam x) => x.glareFrontal);
            glareBehind  = FindProperty((VolumetricLightBeam x) => x.glareBehind);

            spotAngleFromLight = FindProperty((VolumetricLightBeam x) => x.spotAngleFromLight);
            spotAngle          = FindProperty((VolumetricLightBeam x) => x.spotAngle);

            coneRadiusStart = FindProperty((VolumetricLightBeam x) => x.coneRadiusStart);

            geomMeshType       = FindProperty((VolumetricLightBeam x) => x.geomMeshType);
            geomCustomSides    = FindProperty((VolumetricLightBeam x) => x.geomCustomSides);
            geomCustomSegments = FindProperty((VolumetricLightBeam x) => x.geomCustomSegments);
            geomCap            = FindProperty((VolumetricLightBeam x) => x.geomCap);

            fallOffEndFromLight = FindProperty((VolumetricLightBeam x) => x.fallOffEndFromLight);
            fallOffStart        = FindProperty((VolumetricLightBeam x) => x.fallOffStart);
            fallOffEnd          = FindProperty((VolumetricLightBeam x) => x.fallOffEnd);

            attenuationEquation       = FindProperty((VolumetricLightBeam x) => x.attenuationEquation);
            attenuationCustomBlending = FindProperty((VolumetricLightBeam x) => x.attenuationCustomBlending);

            depthBlendDistance     = FindProperty((VolumetricLightBeam x) => x.depthBlendDistance);
            cameraClippingDistance = FindProperty((VolumetricLightBeam x) => x.cameraClippingDistance);

            // NOISE
            noiseMode              = FindProperty((VolumetricLightBeam x) => x.noiseMode);
            noiseIntensity         = FindProperty((VolumetricLightBeam x) => x.noiseIntensity);
            noiseScaleUseGlobal    = FindProperty((VolumetricLightBeam x) => x.noiseScaleUseGlobal);
            noiseScaleLocal        = FindProperty((VolumetricLightBeam x) => x.noiseScaleLocal);
            noiseVelocityUseGlobal = FindProperty((VolumetricLightBeam x) => x.noiseVelocityUseGlobal);
            noiseVelocityLocal     = FindProperty((VolumetricLightBeam x) => x.noiseVelocityLocal);

            trackChangesDuringPlaytime = serializedObject.FindProperty("_TrackChangesDuringPlaytime");

            fadeOutBegin = serializedObject.FindProperty("_FadeOutBegin");
            fadeOutEnd   = serializedObject.FindProperty("_FadeOutEnd");

            skewingLocalForwardDirection = FindProperty((VolumetricLightBeam x) => x.skewingLocalForwardDirection);
            clippingPlaneTransform       = FindProperty((VolumetricLightBeam x) => x.clippingPlaneTransform);
            tiltFactor = FindProperty((VolumetricLightBeam x) => x.tiltFactor);

            // 2D
            sortingLayerID      = serializedObject.FindProperty("_SortingLayerID");
            sortingOrder        = serializedObject.FindProperty("_SortingOrder");
            dimensions          = FindProperty((VolumetricLightBeam x) => x.dimensions);
            m_SortingLayerNames = SortingLayer.layers.Select(l => l.name).ToArray();
        }