示例#1
0
        void IGL.Draw(int cullingMask)
        {
            //if ((cullingMask & (int)layer) == 0)
            //{
            //    return;
            //}

            Material.SetPass(0);
            RuntimeGraphics.DrawQuad(transform.localToWorldMatrix);
        }
示例#2
0
        void IGL.Draw(int cullingMask)
        {
            RTLayer layer = RTLayer.SceneView;

            if ((cullingMask & (int)layer) == 0)
            {
                return;
            }

            Material.SetPass(0);
            RuntimeGraphics.DrawQuad(transform.localToWorldMatrix);
        }
        private void TryToAddColliders()
        {
            if (this == null)
            {
                return;
            }

            if (m_colliders == null || m_colliders.Length == 0)
            {
                List <Collider> colliders = new List <Collider>();
                Rigidbody       rigidBody = gameObject.GetComponent <Rigidbody>();

                bool isRigidBody = rigidBody != null;
                if (m_effectiveBoundsType == BoundsType.Any)
                {
                    if (m_filter != null)
                    {
                        if (AddColliders && !isRigidBody)
                        {
                            MeshCollider collider = gameObject.AddComponent <MeshCollider>();
                            collider.convex     = isRigidBody;
                            collider.sharedMesh = m_filter.sharedMesh;
                            colliders.Add(collider);
                        }
                    }
                    else if (m_skinned != null)
                    {
                        if (AddColliders && !isRigidBody)
                        {
                            MeshCollider collider = gameObject.AddComponent <MeshCollider>();
                            collider.convex     = isRigidBody;
                            collider.sharedMesh = m_skinned.sharedMesh;
                            colliders.Add(collider);
                        }
                    }
                    else if (m_spriteRenderer != null)
                    {
                        if (AddColliders && !isRigidBody)
                        {
                            BoxCollider collider = gameObject.AddComponent <BoxCollider>();
                            collider.size = m_spriteRenderer.sprite.bounds.size;
                            colliders.Add(collider);
                        }
                    }
                }
                else if (m_effectiveBoundsType == BoundsType.Mesh)
                {
                    if (m_filter != null)
                    {
                        if (AddColliders && !isRigidBody)
                        {
                            MeshCollider collider = gameObject.AddComponent <MeshCollider>();
                            collider.convex     = isRigidBody;
                            collider.sharedMesh = m_filter.sharedMesh;
                            colliders.Add(collider);
                        }
                    }
                }
                else if (m_effectiveBoundsType == BoundsType.SkinnedMesh)
                {
                    if (m_skinned != null)
                    {
                        if (AddColliders && !isRigidBody)
                        {
                            MeshCollider collider = gameObject.AddComponent <MeshCollider>();
                            collider.convex     = isRigidBody;
                            collider.sharedMesh = m_skinned.sharedMesh;
                            colliders.Add(collider);
                        }
                    }
                }
                else if (m_effectiveBoundsType == BoundsType.Sprite)
                {
                    if (m_spriteRenderer != null)
                    {
                        if (AddColliders && !isRigidBody)
                        {
                            BoxCollider collider = gameObject.AddComponent <BoxCollider>();
                            collider.size = m_spriteRenderer.sprite.bounds.size;
                            colliders.Add(collider);
                        }
                    }
                }
                else if (m_effectiveBoundsType == BoundsType.Custom)
                {
                    if (AddColliders && !isRigidBody)
                    {
                        Mesh box = RuntimeGraphics.CreateCubeMesh(Color.black, CustomBounds.center, CustomBounds.extents.x * 2, CustomBounds.extents.y * 2, CustomBounds.extents.z * 2);

                        MeshCollider collider = gameObject.AddComponent <MeshCollider>();
                        collider.convex = isRigidBody;

                        collider.sharedMesh = box;
                        colliders.Add(collider);
                    }
                }

                m_colliders = colliders.ToArray();
            }
        }
示例#4
0
 void IGL.Draw(int cullingMask, Camera camera)
 {
     Material.SetPass(0);
     RuntimeGraphics.DrawQuad(transform.localToWorldMatrix);
 }
        private void TryToAddColliders(ExposeToEditor obj)
        {
            if (obj == null)
            {
                return;
            }

            if (obj.Colliders == null || obj.Colliders.Length == 0)
            {
                List <Collider> colliders = new List <Collider>();
                Rigidbody       rigidBody = obj.BoundsObject.GetComponentInParent <Rigidbody>();

                bool isRigidBody = rigidBody != null;
                if (obj.EffectiveBoundsType == BoundsType.Any)
                {
                    if (obj.MeshFilter != null)
                    {
                        if (obj.AddColliders && !isRigidBody)
                        {
                            MeshCollider collider = obj.BoundsObject.AddComponent <MeshCollider>();
                            collider.convex     = isRigidBody;
                            collider.sharedMesh = obj.MeshFilter.sharedMesh;
                            colliders.Add(collider);
                        }
                    }
                    else if (obj.SkinnedMeshRenderer != null)
                    {
                        if (obj.AddColliders && !isRigidBody)
                        {
                            MeshCollider collider = obj.BoundsObject.AddComponent <MeshCollider>();
                            collider.convex     = isRigidBody;
                            collider.sharedMesh = obj.SkinnedMeshRenderer.sharedMesh;
                            colliders.Add(collider);
                        }
                    }
                    else if (obj.SpriteRenderer != null)
                    {
                        if (obj.AddColliders && !isRigidBody)
                        {
                            BoxCollider collider = obj.BoundsObject.AddComponent <BoxCollider>();
                            collider.size = obj.SpriteRenderer.sprite.bounds.size;
                            colliders.Add(collider);
                        }
                    }
                }
                else if (obj.EffectiveBoundsType == BoundsType.Mesh)
                {
                    if (obj.MeshFilter != null)
                    {
                        if (obj.AddColliders && !isRigidBody)
                        {
                            MeshCollider collider = obj.BoundsObject.AddComponent <MeshCollider>();
                            collider.convex     = isRigidBody;
                            collider.sharedMesh = obj.MeshFilter.sharedMesh;
                            colliders.Add(collider);
                        }
                    }
                }
                else if (obj.EffectiveBoundsType == BoundsType.SkinnedMesh)
                {
                    if (obj.SkinnedMeshRenderer != null)
                    {
                        if (obj.AddColliders && !isRigidBody)
                        {
                            MeshCollider collider = obj.BoundsObject.AddComponent <MeshCollider>();
                            collider.convex     = isRigidBody;
                            collider.sharedMesh = obj.SkinnedMeshRenderer.sharedMesh;
                            colliders.Add(collider);
                        }
                    }
                }
                else if (obj.EffectiveBoundsType == BoundsType.Sprite)
                {
                    if (obj.SpriteRenderer != null)
                    {
                        if (obj.AddColliders && !isRigidBody)
                        {
                            BoxCollider collider = obj.BoundsObject.AddComponent <BoxCollider>();
                            collider.size = obj.SpriteRenderer.sprite.bounds.size;
                            colliders.Add(collider);
                        }
                    }
                }
                else if (obj.EffectiveBoundsType == BoundsType.Custom)
                {
                    if (obj.AddColliders && !isRigidBody)
                    {
                        Mesh box = RuntimeGraphics.CreateCubeMesh(Color.black, obj.CustomBounds.center, 1, obj.CustomBounds.extents.x * 2, obj.CustomBounds.extents.y * 2, obj.CustomBounds.extents.z * 2);

                        MeshCollider collider = obj.BoundsObject.AddComponent <MeshCollider>();
                        collider.convex = isRigidBody;

                        collider.sharedMesh = box;
                        colliders.Add(collider);
                    }
                }

                obj.Colliders = colliders.ToArray();
            }
        }
 void IGL.Draw(int cullingMask, Camera camera)
 {
     Material.SetPass(0);
     RuntimeGraphics.DrawQuad(Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one * m_scale));
 }