public void Initialize(VolumetricLightBeam master) { var hideFlags = Consts.ProceduralObjectsHideFlags; m_Master = master; this.Lod = m_Master.lod; bool noise = (m_Master.noiseEnabled && m_Master.noiseIntensity > 0f && Noise3D.isSupported); bool depth = (m_Master.depthBlendDistance > 0f); transform.SetParent(master.transform, false); meshRenderer = gameObject.GetOrAddComponent <MeshRenderer>(); ChangeMat(noise, depth, false); meshRenderer.hideFlags = hideFlags; meshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; meshRenderer.receiveShadows = false; meshRenderer.lightProbeUsage = UnityEngine.Rendering.LightProbeUsage.Off; meshFilter = gameObject.GetOrAddComponent <MeshFilter>(); meshRenderer.material = material; material.hideFlags = hideFlags; gameObject.hideFlags = hideFlags; gameObject.layer = Config.Instance.geometryLayerID; coneMesh = MeshGenerator.GetSharedConeZ_Mesh(m_Master.geomSides); meshFilter.mesh = coneMesh; UpdateMaterialAndBounds(); }
public void ChangeMat(bool noise, bool depthBlend, bool ClippingPlane) { this.Lod = m_Master.lod; overrideTexture = m_Master.OverrideTexture; material = Config.Instance.GetSharedMaterial(noise, depthBlend, ClippingPlane, front, (int)Lod, overrideTexture); //front ? : Config.Instance.GetBackMaterial(noise, depthBlend, ClippingPlane); if (meshRenderer) { meshRenderer.material = material; } }