/// <summary>
    /// シャドーの設定をする
    /// </summary>
    /// <param name="gameObject"></param>
    /// <param name="cast">キャスト</param>
    /// <param name="receive">受ける</param>
    public static void SetShadowPrameter(this GameObject gameObject, UnityEngine.Rendering.ShadowCastingMode cast, bool receive)
    {
        if (gameObject == null)
        {
            return;
        }

        {
            var meshRenderers = gameObject.GetComponentsInChildren <MeshRenderer>();
            foreach (var mesh in meshRenderers)
            {
                mesh.shadowCastingMode = cast;
                mesh.receiveShadows    = receive;
            }
        }

        {
            var meshRenderers = gameObject.GetComponentsInChildren <SkinnedMeshRenderer>();
            foreach (var mesh in meshRenderers)
            {
                mesh.shadowCastingMode = cast;
                mesh.receiveShadows    = receive;
            }
        }
    }
示例#2
0
//	void LogVisibility(){
//		lastVisibility = visibilityToggler.GetVisibility();
//		subjectLog.Log (GameClock.SystemTime_Milliseconds, subjectLog.GetFrameCount(), nameToLog + separator + "VISIBILITY" + separator + lastVisibility);
//	}

    public void LogShadowSettings(UnityEngine.Rendering.ShadowCastingMode shadowMode)
    {
        if (ExperimentSettings.isLogging)
        {
            subjectLog.Log(GameClock.SystemTime_Milliseconds, subjectLog.GetFrameCount(), nameToLog + separator + "SHADOW_SETTING" + separator + shadowMode);
        }
    }
示例#3
0
    private void Start()
    {
//		startingLayer = gameObject.layer;
        ProjectObject po = GetComponent <ProjectObject> ();

        foreach (Lod lod in po.lods)
        {
            objectRenderer.Add(lod.meshRenderer);
        }

        if (objectRenderer.Count == 0)
        {
            Destroy(this);
        }
        else
        {
            SCMode = objectRenderer[0].shadowCastingMode;

            if (!VRDOC_Camera._VRDOC_Camera.enabled)
            {
                this.enabled = false;
            }

//			if(!isTransparent)
//				CheckTransparency();
        }
    }
    // Initialise UI controls
    void InitControls()
    {
        GameObject PBRToggleWidget = GameObject.Find("PBRToggle");
        Toggle     PBRToggle       = PBRToggleWidget.GetComponent <Toggle>();

        PBRToggle.onValueChanged.AddListener(delegate {
            GPUSkinShader.maximumLOD       = PBRToggle.isOn ? 200 : 150;
            GPUSkinShaderSimple.maximumLOD = PBRToggle.isOn ? 200 : 150;
        });
        GPUSkinShader.maximumLOD       = PBRToggle.isOn ? 200 : 150;
        GPUSkinShaderSimple.maximumLOD = PBRToggle.isOn ? 200 : 150;

        GameObject shadowCastToggleWidget = GameObject.Find("ShadowCastToggle");
        Toggle     shadowCastToggle       = shadowCastToggleWidget.GetComponent <Toggle>();

        shadowCastToggle.onValueChanged.AddListener(delegate {
            shadowCastingMode = shadowCastToggle.isOn ? UnityEngine.Rendering.ShadowCastingMode.On : UnityEngine.Rendering.ShadowCastingMode.Off;
        });
        shadowCastingMode = shadowCastToggle.isOn ? UnityEngine.Rendering.ShadowCastingMode.On : UnityEngine.Rendering.ShadowCastingMode.Off;

        GameObject shadowReceiveToggleWidget = GameObject.Find("ShadowReceiveToggle");
        Toggle     shadowReceiveToggle       = shadowReceiveToggleWidget.GetComponent <Toggle>();

        shadowReceiveToggle.onValueChanged.AddListener(delegate {
            shadowReceivingMode = shadowReceiveToggle.isOn;
        });
        shadowReceivingMode = shadowReceiveToggle.isOn;
    }
示例#5
0
 private void onEnvShadowToggled(bool value)
 {
     GameGlobals.EnvironmentShadows = value;
     UnityEngine.Rendering.ShadowCastingMode sMode = (GameGlobals.EnvironmentShadows) ?
                                                     UnityEngine.Rendering.ShadowCastingMode.On :
                                                     UnityEngine.Rendering.ShadowCastingMode.Off;
     _DynamicMesh.GetComponent <TangoDynamicMesh>().UpdateShadowCastingMode(sMode);
 }
示例#6
0
 public MeshGroup(int layer, Material[] materials, bool receiveShadow, ShadowCastingMode castShadow)
 {
     Layer         = layer;
     Materials     = materials;
     ReceiveShadow = receiveShadow;
     CastShadow    = castShadow;
     Indices       = new List <int>();
 }
示例#7
0
 public static void CloseShadowCaster(Transform _trans, bool _show, UnityEngine.Rendering.ShadowCastingMode _mode)
 {
     Renderer[] tarry = _trans.GetComponentsInChildren <Renderer>(_trans);
     foreach (Renderer trander in tarry)
     {
         trander.shadowCastingMode = _mode;
         trander.receiveShadows    = _show;
     }
 }
示例#8
0
 static public void FastSetter(this UnityEngine.Renderer o, string propertyName, UnityEngine.Rendering.ShadowCastingMode value)
 {
     switch (propertyName)
     {
     case "shadowCastingMode":
         o.shadowCastingMode = value; return;
     }
     LBoot.LogUtil.Error("UnityEngine.Renderer no Setter Found : " + propertyName);
 }
示例#9
0
    void Update()
    {
        //this couldn't use cuz it was for quad not for sphere
        // cloudMaterial.SetFloat("_midYValue", transform.position.y);

        cloudMaterial.SetFloat("_cloudHeight", cloudHeight);
        cloudMaterial.SetFloat("_animationSpeed", animationSpeed / animationspeedFactor);
        cloudMaterial.SetFloat("_animationSpeedSlower", animationSpeedSlower / animationspeedFactor);


        offset = cloudHeight / horizontalStackSize / 2f;
        Vector3 startPosition = transform.position + (Vector3.up * (offset * horizontalStackSize / 2f));

        if (useGpuInstancing) // initialize matrix array
        {
            matrices = new Matrix4x4[horizontalStackSize];
        }



        for (int i = 0; i < horizontalStackSize; i++)
        {
            //make a gradient to be public and use  the position to catch gradient for alpha to make different sphere have different alpha
            float normalizedRadius = (float)i / horizontalStackSize;
            float alphaValue       = Mathf.Clamp01(curve.Evaluate(normalizedRadius));

            //   matrix = Matrix4x4.TRS(startPosition - (Vector3.up * offset * i), transform.rotation, transform.localScale);
            matrix = Matrix4x4.TRS(startPosition, transform.rotation, new Vector3(CloudStartHeight, CloudStartHeight, CloudStartHeight) + new Vector3(i, i, i) * cloudHeight);
            if (useGpuInstancing)
            {
                matrices[i] = matrix; // build the matrices array if using GPU instancing
            }
            else
            {                                                                                                //assign different alpha to each sphere
                Material mat = new Material(cloudMaterial);                                                  //define as new material
                mat.SetFloat("_globalAlpha", alphaValue);                                                    //make a new tag to use in shader graphic

                Graphics.DrawMesh(quadMesh, matrix, mat, layer, camera, 0, null, castShadows, false, false); // otherwise just draw it now
            }
        }



        if (useGpuInstancing) // draw the built matrix array
        {
            UnityEngine.Rendering.ShadowCastingMode shadowCasting = UnityEngine.Rendering.ShadowCastingMode.Off;
            if (castShadows)
            {
                shadowCasting = UnityEngine.Rendering.ShadowCastingMode.On;
            }

            Graphics.DrawMeshInstanced(quadMesh, 0, cloudMaterial, matrices, horizontalStackSize, null, shadowCasting, false, layer, camera);
        }
    }
示例#10
0
 private void SetShadowCastingModeForObjects(GameObject[] objects, UnityEngine.Rendering.ShadowCastingMode mode)
 {
     foreach (GameObject obj in objects)
     {
         MeshRenderer mesh = obj.GetComponent <MeshRenderer>();
         if (mesh)
         {
             mesh.shadowCastingMode = mode;
         }
     }
 }
示例#11
0
        /// <summary>
        /// Create the terrain defined by these settings
        /// </summary>
        //public void CreateTerrain()
        //{
        //    Terrain[,] world;

        //    GaiaSettings gaiaSettings = GaiaUtils.GetGaiaSettings();

        //    //Update the session
        //    GaiaSessionManager sessionMgr = GaiaSessionManager.GetSessionManager();
        //    if (sessionMgr != null && sessionMgr.IsLocked() != true)
        //    {
        //        //Update terrain settings in session
        //        sessionMgr.m_session.m_terrainWidth = gaiaSettings.m_tilesX * m_terrainSize;
        //        sessionMgr.m_session.m_terrainDepth = gaiaSettings.m_tilesZ * m_terrainSize;
        //        sessionMgr.m_session.m_terrainHeight = m_terrainHeight;
        //        sessionMgr.AddDefaults(this);

        //        sessionMgr.SetSeaLevel(m_seaLevel);

        //        //Then add the operation
        //        GaiaOperation op = new GaiaOperation();
        //        op.m_description = "Creating terrain";
        //        op.m_isActive = true;
        //        op.m_operationDateTime = DateTime.Now.ToString();
        //        op.m_operationType = GaiaOperation.OperationType.CreateWorld;

        //        sessionMgr.AddOperation(op);
        //    }

        //    //Create the terrains array
        //    world = new Terrain[gaiaSettings.m_tilesX, gaiaSettings.m_tilesZ];

        //    //And iterate through and create each terrain
        //    for (int x = 0; x < gaiaSettings.m_tilesX; x++)
        //    {
        //        for (int z = 0; z < gaiaSettings.m_tilesZ; z++)
        //        {
        //            GameObject terrainGO = CreateTile(x, z, ref world, null, null, null);
        //            //Parent it to the scene -either below the terrain object, or if selected, as one scene each
        //            GameObject gaiaObj = GaiaUtils.GetTerrainObject();
        //            terrainGO.transform.SetParent(gaiaObj.transform);
        //        }
        //    }

        //    //Now join them together and remove their seams
        //    RemoveWorldSeams(ref world);
        //}

        /// <summary>
        /// Update the defaults if possible from the currently selected terrain
        /// </summary>
        public void UpdateFromTerrain()
        {
            Terrain terrain = GetActiveTerrain();

            if (terrain == null)
            {
                Debug.Log("Could not update from active terrain - no current active terrain");
                return;
            }

            m_baseMapDist = (int)terrain.basemapDistance;

#if UNITY_2019_1_OR_NEWER
            m_shadowCastingMode = terrain.shadowCastingMode;
#else
            m_castShadows = terrain.castShadows;
#endif
            m_detailDensity  = terrain.detailObjectDensity;
            m_detailDistance = (int)terrain.detailObjectDistance;
            m_pixelError     = (int)terrain.heightmapPixelError;
            m_billboardStart = (int)terrain.treeBillboardDistance;
            m_fadeLength     = (int)terrain.treeCrossFadeLength;
            m_treeDistance   = (int)terrain.treeDistance;
            m_maxMeshTrees   = terrain.treeMaximumFullLODCount;
#if (!UNITY_2019_2_OR_NEWER)
            if (terrain.materialType == Terrain.MaterialType.Custom)
            {
#endif
            m_material = terrain.materialTemplate;
#if (!UNITY_2019_2_OR_NEWER)
        }
#endif

            TerrainCollider collider = terrain.GetComponent <TerrainCollider>();
            if (collider != null)
            {
                m_physicsMaterial = collider.material;
            }

            TerrainData terrainData = terrain.terrainData;
            m_controlTextureResolution = terrainData.alphamapResolution;
            m_baseMapSize      = terrainData.baseMapResolution;
            m_detailResolution = terrainData.detailResolution;
            //m_detailResolutionPerPatch = terrainData.
            m_heightmapResolution = terrainData.heightmapResolution;
            m_bending             = terrainData.wavingGrassAmount;
            m_size          = terrainData.wavingGrassSpeed;
            m_speed         = terrainData.wavingGrassStrength;
            m_grassTint     = terrainData.wavingGrassTint;
            m_terrainSize   = (int)terrainData.size.x;
            m_terrainHeight = (int)terrainData.size.y;
        }
 static void Renderer_shadowCastingMode(JSVCall vc)
 {
     if (vc.bGet)
     {
         UnityEngine.Renderer _this = (UnityEngine.Renderer)vc.csObj;
         var result = _this.shadowCastingMode;
         JSApi.setEnum((int)JSApi.SetType.Rval, (int)result);
     }
     else
     {
         UnityEngine.Rendering.ShadowCastingMode arg0 = (UnityEngine.Rendering.ShadowCastingMode)JSApi.getEnum((int)JSApi.GetType.Arg);
         UnityEngine.Renderer _this = (UnityEngine.Renderer)vc.csObj;
         _this.shadowCastingMode = arg0;
     }
 }
    static int QPYX_get_shadowCastingMode_YXQP(IntPtr L_YXQP)
    {
        object QPYX_o_YXQP = null;

        try
        {
            QPYX_o_YXQP = ToLua.ToObject(L_YXQP, 1);                        UnityEngine.Renderer QPYX_obj_YXQP = (UnityEngine.Renderer)QPYX_o_YXQP;
            UnityEngine.Rendering.ShadowCastingMode QPYX_ret_YXQP = QPYX_obj_YXQP.shadowCastingMode;
            ToLua.Push(L_YXQP, QPYX_ret_YXQP);
            return(1);
        }
        catch (Exception QPYX_e_YXQP)            {
            return(LuaDLL.toluaL_exception(L_YXQP, QPYX_e_YXQP, QPYX_o_YXQP, "attempt to index shadowCastingMode on a nil value"));
        }
    }
    static int QPYX_set_shadowCastingMode_YXQP(IntPtr L_YXQP)
    {
        object QPYX_o_YXQP = null;

        try
        {
            QPYX_o_YXQP = ToLua.ToObject(L_YXQP, 1);                        UnityEngine.Renderer QPYX_obj_YXQP = (UnityEngine.Renderer)QPYX_o_YXQP;
            UnityEngine.Rendering.ShadowCastingMode QPYX_arg0_YXQP = (UnityEngine.Rendering.ShadowCastingMode)ToLua.CheckObject(L_YXQP, 2, typeof(UnityEngine.Rendering.ShadowCastingMode));
            QPYX_obj_YXQP.shadowCastingMode = QPYX_arg0_YXQP;
            return(0);
        }
        catch (Exception QPYX_e_YXQP)            {
            return(LuaDLL.toluaL_exception(L_YXQP, QPYX_e_YXQP, QPYX_o_YXQP, "attempt to index shadowCastingMode on a nil value"));
        }
    }
        public bool PickUpObject()
        {
            PlayerController.InterpreterLock.Set();

            if (!IsReachableToActivate(true))
            {
                return(false);
            }

            var playerController = PlayerController.getInstance();

            if (playerController.IsObjectPickedUp())
            {
                return(false);
            }

            playerController.PickUpObject(gameObject);

            var mapGenerator = MapGenerator.getInstance();

            var mapBlock = mapGenerator.GetBlockAtLocation(GetBlockPosition());

            var Player = GameObject.FindGameObjectWithTag("Player");

            gameObject.transform.parent   = Player.transform;
            gameObject.transform.rotation = Quaternion.identity;
            gameObject.transform.Translate(GetObjectTranslate());
            var meshRenderer = gameObject.GetComponentInChildren <MeshRenderer>();

            if (meshRenderer != null)
            {
                _pickedObjectShadowMode        = meshRenderer.shadowCastingMode;
                meshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
            }

            mapBlock.DetachGameObject(gameObject);

            foreach (var gameObject in mapBlock.GameObjects)
            {
                var component = gameObject.GetComponent <Interfaces.IDropable>();
                if (component != null)
                {
                    component.SignalRemove();
                }
            }

            return(true);
        }
示例#16
0
        public void ResetSettings()
        {
            primaryWeight  = 0.5f;
            randomWeight   = 1f;
            gravityWeight  = 3f;
            adhesionWeight = 1f;

            branchingProbability = 0.25f;

            ivyStepDistance = 0.1f;

            ivyLeafSize       = 0.15f;
            ivyBranchSize     = 0.05f;
            leafProbability   = 0.5f;
            leafSunlightBonus = 1f;

            branchOptimize = 0.5f;
            branchSmooth   = 2;
            branchTaper    = 1f;

            maxFloatLength      = 1f;
            maxAdhesionDistance = 1f;
            // maxBranchesPerRoot = 2;
            maxBranchesTotal = 64;

            minLength = 1f;
            maxLength = 3f;

            namePrefix       = "Ivy[{0}]{1}";
            markMeshAsStatic = true;
            useLightmapping  = false;
            meshCompress     = MeshCompression.Low;
            collisionMask    = Physics.DefaultRaycastLayers;
            castShadows      = UnityEngine.Rendering.ShadowCastingMode.On;
            receiveShadows   = true;

            useVertexColors  = true;
            leafVertexColors = new Gradient();
            leafVertexColors.SetKeys(new GradientColorKey[] {
                new GradientColorKey(Color.white, 0f),
                new GradientColorKey(Color.green, 0.68f),
                new GradientColorKey(Color.yellow, 1f)
            },
                                     new GradientAlphaKey[] { new GradientAlphaKey(1f, 0f) });

            // branchMaterial = null;
            //leafMaterial = null;
        }
示例#17
0
    public static void SetShadowRecursively(Transform node, UnityEngine.Rendering.ShadowCastingMode cast, bool recieve)
    {
        Renderer r = node.GetComponent <Renderer>();

        if (r)
        {
            r.shadowCastingMode = cast;
            r.receiveShadows    = recieve;
        }

        for (int i = 0; i < node.childCount; i++)
        {
            Transform t = node.GetChild(i);
            SetShadowRecursively(t, cast, recieve);
        }
    }
示例#18
0
 static int SetShadowRecursively(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         UnityEngine.Transform arg0 = (UnityEngine.Transform)ToLua.CheckUnityObject(L, 1, typeof(UnityEngine.Transform));
         UnityEngine.Rendering.ShadowCastingMode arg1 = (UnityEngine.Rendering.ShadowCastingMode)ToLua.CheckObject(L, 2, typeof(UnityEngine.Rendering.ShadowCastingMode));
         bool arg2 = LuaDLL.luaL_checkboolean(L, 3);
         UnGfx.SetShadowRecursively(arg0, arg1, arg2);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#19
0
    static int set_shadowCastingMode(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.Renderer obj = (UnityEngine.Renderer)o;
            UnityEngine.Rendering.ShadowCastingMode arg0 = (UnityEngine.Rendering.ShadowCastingMode)ToLua.CheckObject(L, 2, typeof(UnityEngine.Rendering.ShadowCastingMode));
            obj.shadowCastingMode = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index shadowCastingMode on a nil value"));
        }
    }
示例#20
0
    static int get_shadowCastingMode(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            UnityEngine.Renderer obj = (UnityEngine.Renderer)o;
            UnityEngine.Rendering.ShadowCastingMode ret = obj.shadowCastingMode;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index shadowCastingMode on a nil value"));
        }
    }
    static int set_shadowCastingMode(IntPtr L)
    {
        UnityEngine.Renderer obj = (UnityEngine.Renderer)ToLua.ToObject(L, 1);
        // Kanglai: force using int
        UnityEngine.Rendering.ShadowCastingMode arg0 = (UnityEngine.Rendering.ShadowCastingMode)LuaDLL.lua_tonumber(L, 2);//.CheckObject(L, 2, typeof(UnityEngine.Rendering.ShadowCastingMode));

        try
        {
            obj.shadowCastingMode = arg0;
        }
        catch (Exception e)
        {
            return(LuaDLL.luaL_error(L, obj == null ? "attempt to index shadowCastingMode on a nil value" : e.Message));
        }

        return(0);
    }
示例#22
0
    private void SetShadowMode()
    {
        foreach (var renderer in GetComponentsInChildren <Renderer>())
        {
            bool receiveShadows = false;
            UnityEngine.Rendering.ShadowCastingMode shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;

            if (isCastingShadow == true)
            {
                receiveShadows    = true;
                shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On;
            }

            renderer.shadowCastingMode = shadowCastingMode;
            renderer.receiveShadows    = receiveShadows;
        }
    }
示例#23
0
    public void In(
        [FriendlyName("Target", "The GameObject you wish to get the shadow casting mode of."),
         AutoLinkType(typeof(GameObject))]
        GameObject Target,

        [FriendlyName("Mode", "The shadow casting mode of the specified GameObject's renderer.")]
        out UnityEngine.Rendering.ShadowCastingMode mode
        )
    {
        mode = UnityEngine.Rendering.ShadowCastingMode.On; // this is not the most efficient default, but it is what unity uses as the default

        Renderer r = Target.GetComponent <Renderer>();

        if (r != null)
        {
            mode = r.shadowCastingMode;
        }
    }
    public void In(
        [FriendlyName("Target", "The GameObject(s) you wish to set the shadow casting mode of."),
         AutoLinkType(typeof(GameObject))]
        GameObject[] Target,

        [FriendlyName("Mode", "The shadow casting mode to set this GameObject's renderer to.")]
        UnityEngine.Rendering.ShadowCastingMode mode
        )
    {
        foreach (GameObject go in Target)
        {
            Renderer r = go.GetComponent <Renderer>();
            if (r != null)
            {
                r.shadowCastingMode = mode;
            }
        }
    }
示例#25
0
    public void SetRagdoll(bool active)
    {
        playerAnim.enabled = !active;
        this.GetComponent <CharacterController>().enabled = !active;

        foreach (Rigidbody rb in playerAnim.GetComponentsInChildren <Rigidbody>())
        {
            rb.isKinematic = !active;
            rb.GetComponent <Collider>().enabled = active;
        }

        UnityEngine.Rendering.ShadowCastingMode mode = active ?
                                                       UnityEngine.Rendering.ShadowCastingMode.On :
                                                       UnityEngine.Rendering.ShadowCastingMode.ShadowsOnly;

        playerAnim.GetComponentInChildren <SkinnedMeshRenderer>().shadowCastingMode = mode;

        this.enabled = !active;
    }
示例#26
0
    /// <summary>
    /// 设置ShadowCastingMode
    /// </summary>
    /// <param name="go"></param>
    /// <param name="mode"></param>
    public static void ShadowCastingMode(this GameObject go, UnityEngine.Rendering.ShadowCastingMode mode)
    {
        if (go == null)
        {
            return;
        }

        MeshRenderer[] renderers = go.GetComponentsInChildren <MeshRenderer>();
        if (renderers == null)
        {
            return;
        }
        int length = renderers.Length;

        for (int i = 0; i < length; i++)
        {
            renderers[i].shadowCastingMode = mode;
        }
    }
    // Update is called once per frame
    void Update()
    {
        UnityEngine.Rendering.ShadowCastingMode castShadows = UnityEngine.Rendering.ShadowCastingMode.On;
        Graphics.DrawMeshInstanced(instanceMesh, 0, instanceMaterial, instanceMatricesArray, instanceMatricesArray.Length, null, castShadows, true, 0, null);

        // INDIRECT !!!:::::
        // Update starting position buffer
        if (cachedIndirectInstanceCount != indirectInstanceCount)
        {
            UpdateBuffers();
        }

        // Pad Input
        //if (Input.GetAxisRaw("Horizontal") != 0.0f)
        //    indirectInstanceCount = (int)Mathf.Clamp(indirectInstanceCount + Input.GetAxis("Horizontal") * 40, 1.0f, 50000.0f);

        //Render:
        Graphics.DrawMeshInstancedIndirect(indirectInstanceMesh, 0, indirectInstanceMaterial, new Bounds(Vector3.zero, new Vector3(100f, 100f, 100f)), indirectArgsBuffer);
    }
    // Update is called once per frame
    void Update()
    {
        // Render:

        if (instancedPebblesCBuffer != null && instancePebbleMesh != null)
        {
            //UnityEngine.Rendering.ShadowCastingMode castShadows = UnityEngine.Rendering.ShadowCastingMode.On;
            //Graphics.DrawMeshInstanced(instancePebbleMesh, 0, instancePebbleMaterial, instancedPebblesMatrixArray, instancedPebblesMatrixArray.Length, null, castShadows, true, 0, null);

            Graphics.DrawMeshInstancedIndirect(instancePebbleMesh, 0, instancePebbleMaterial, new Bounds(Vector3.zero, new Vector3(100f, 100f, 100f)), indirectArgsPebblesCBuffer, 0, null, UnityEngine.Rendering.ShadowCastingMode.On, true);
        }

        if (instancedRocksCBuffer != null && instanceRockMesh != null)
        {
            UnityEngine.Rendering.ShadowCastingMode castShadows = UnityEngine.Rendering.ShadowCastingMode.On;
            Graphics.DrawMeshInstancedIndirect(instanceRockMesh, 0, instanceRockMaterial, new Bounds(Vector3.zero, new Vector3(100f, 100f, 100f)), indirectArgsRocksCBuffer, 0, null, castShadows, true);
        }

        if (instancedRocksReliefArenaCBuffer != null && instanceRockReliefArenaMesh != null)
        {
            UnityEngine.Rendering.ShadowCastingMode castShadows = UnityEngine.Rendering.ShadowCastingMode.On;
            Graphics.DrawMeshInstancedIndirect(instanceRockReliefArenaMesh, 0, instanceRockReliefArenaMaterial, new Bounds(Vector3.zero, new Vector3(100f, 100f, 100f)), indirectArgsRocksReliefArenaCBuffer, 0, null, castShadows, true);
        }

        if (instancedRocksCliffsMatrixCBuffer != null && instanceRockCliffsMesh != null)
        {
            UnityEngine.Rendering.ShadowCastingMode castShadows = UnityEngine.Rendering.ShadowCastingMode.Off;
            Graphics.DrawMeshInstancedIndirect(instanceRockCliffsMesh, 0, instanceRockCliffsMaterial, new Bounds(Vector3.zero, new Vector3(100f, 100f, 100f)), indirectArgsRocksCliffsCBuffer, 0, null, castShadows, true);
        }

        if (vistaRocksClusterMatrixCBuffer != null && vistaRockClusterMesh != null)
        {
            UnityEngine.Rendering.ShadowCastingMode castShadows = UnityEngine.Rendering.ShadowCastingMode.On;
            Graphics.DrawMeshInstancedIndirect(vistaRockClusterMesh, 0, vistaRockClusterMaterial, new Bounds(Vector3.zero, new Vector3(100f, 100f, 100f)), argsVistaRocksClusterCBuffer, 0, null, castShadows, true);
        }

        if (obstacleRockMatrixCBuffer != null && obstacleRockMesh != null)
        {
            UnityEngine.Rendering.ShadowCastingMode castShadows = UnityEngine.Rendering.ShadowCastingMode.On;
            Graphics.DrawMeshInstancedIndirect(obstacleRockMesh, 0, obstacleRockMaterial, new Bounds(Vector3.zero, new Vector3(100f, 100f, 100f)), argsObstacleRockCBuffer, 0, null, castShadows, true);
        }
    }
示例#29
0
	static int get_shadowCastingMode(IntPtr L)
	{
#if UNITY_EDITOR
        ToluaProfiler.AddCallRecord("UnityEngine.Renderer.shadowCastingMode");
#endif
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			UnityEngine.Renderer obj = (UnityEngine.Renderer)o;
			UnityEngine.Rendering.ShadowCastingMode ret = obj.shadowCastingMode;
			ToLua.Push(L, ret);
			return 1;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o, "attempt to index shadowCastingMode on a nil value");
		}
	}
示例#30
0
	static int set_shadowCastingMode(IntPtr L)
	{
#if UNITY_EDITOR
        ToluaProfiler.AddCallRecord("UnityEngine.Renderer.shadowCastingMode");
#endif
		object o = null;

		try
		{
			o = ToLua.ToObject(L, 1);
			UnityEngine.Renderer obj = (UnityEngine.Renderer)o;
			UnityEngine.Rendering.ShadowCastingMode arg0 = (UnityEngine.Rendering.ShadowCastingMode)ToLua.CheckObject(L, 2, typeof(UnityEngine.Rendering.ShadowCastingMode));
			obj.shadowCastingMode = arg0;
			return 0;
		}
		catch(Exception e)
		{
			return LuaDLL.toluaL_exception(L, e, o, "attempt to index shadowCastingMode on a nil value");
		}
	}