当前位置: 首页>>代码示例>>C#>>正文


C# Octree.BuildOctree方法代码示例

本文整理汇总了C#中Octree.BuildOctree方法的典型用法代码示例。如果您正苦于以下问题:C# Octree.BuildOctree方法的具体用法?C# Octree.BuildOctree怎么用?C# Octree.BuildOctree使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Octree的用法示例。


在下文中一共展示了Octree.BuildOctree方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MakeShape

        protected override Shape MakeShape()
        {
            var mf = GetComponent<MeshFilter>();
            var mesh = mf.mesh;
            if (mesh == null) { Debug.Log("No Mesh found!"); return null; }

            if (IsTrigger || Convex)
            {
                Convex = IsTrigger;
                return new ConvexHullShape(GetComponent<MeshFilter>().mesh.vertices.Select(vert => vert.ConvertToJVector()).ToList());
            }
            var positions = new List<JVector>();
            var indices = new List<TriangleVertexIndices>();

            var vertices = mesh.vertices;
            var count = mesh.vertices.Length;
            var scale = transform.lossyScale;
            for (var i = 0; i < count; i++)
            {
                var v = vertices[i];
                v.x *= scale.x;
                v.y *= scale.y;
                v.z *= scale.z;

                positions.Add(new JVector(v.x, v.y, v.z));
            }

            count = mesh.triangles.Length;
            var triangles = mesh.triangles;
            for (var i = 0; i < count; i += 3)
            {
                indices.Add(new TriangleVertexIndices(triangles[i], triangles[i + 2], triangles[i + 1]));
            }

            var octree = new Octree(positions, indices);
            octree.BuildOctree();

            return new TriangleMeshShape(octree);
        }
开发者ID:BenjaminMoore,项目名称:JPhysics,代码行数:39,代码来源:JMesh.cs


注:本文中的Octree.BuildOctree方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。