3dmax-unity点面数量研究(平滑组)

1.创建一个圆柱

62:等于边上6条线 每个线上10个点 + 上下面中心的1个点

120:边上的四边形面50个,相当于是100个三角形面。上下面分别有10个三角形面。

实际的点线面:

在3dmax里面不知道怎么显示这个,就是加上可编辑多边形还是显示那种“假”的线框。

2.导出fbx,放入unity,写代码获取点面数据

public class MeshInfo : MonoBehaviour
{
    public MeshFilter MeshFilter;

    public Mesh mesh;


    public int Verts;

    public int Polys;

    // Start is called before the first frame update
    void Start()
    {
        if (MeshFilter == null)
        {
            MeshFilter = gameObject.GetComponent<MeshFilter>();
            mesh = MeshFilter.mesh;
        }
        Verts = mesh.vertexCount;
        Polys = mesh.triangles.Length/3;

        for (int i = 0; i < mesh.vertices.Length; i++)
        {
            Vector3 v = mesh.vertices[i];
            GameObject o=GameObject.CreatePrimitive(PrimitiveType.Sphere);
            
            o.transform.parent = this.transform.transform;
            o.transform.localPosition = v;
            o.transform.localScale = new Vector3(0.05f, 0.05f, 0.05f);

        }
    }

}

120:和max里面的三角形面一样。

144:

中间4行 40*2=80

上下面的边 20*3=60

上下面中心点2个

142个,少了两个....

写了个工具显示选中的点的数量,发现上下面的园的边上各有31个点 是10*30+1。

三维里面的三角形构成有共享点、和共享索引(Index),具体现在也忘记了。

--------------------------------------------------------

接下来确认一下max中对圆柱的平滑处理是否会影响导出模型的点面和效果。

前面的是没有Smooth的。

右侧是有smooth的,

90:中间11*4=44,上下面:中间1个,周围22个(9*2+4)。

看起来点的数量减少了,也变得平滑了。

在没有平滑的圆柱的基础上,加个可编辑多边形,使用平滑组中的自动平滑选项,导入unity,效果差不多。

参考原理:3dmax平滑组的使用方法和注意事项

也就是说使用平滑组不会增加点面,目的是为了使造成相邻的面平滑过渡的效果(假象)。

结论:虽然这个平滑组的效果需要光照计算,增加计算量(时间),但总比增加实际点面(空间)影响小吧。

具体的有没有平滑组对性能的影响数值,暂时没能力计算出来。

-----------------------------------------------------------------------------------

同时发现,加不加可编辑多边形,导出时上下面的三角形结构是不同的。

右侧加了可编辑多变形的,点面的数量更少。

分段增多后

在一个教程中看到,不推荐左侧这样的,可能在中间有一点点不好的效果(光照效果吧)。

另外还有个用一条线,增加半径,渲染后加上可编辑多边形变成的圆柱:

把圆柱的分段去掉,比较一下这几个的点面差别

默认圆柱:点46,面40

加可编辑多边形:点42,面36

由线转换来:点40,面36。

如果不考虑其他因素(这种简单结构外观上感觉差不多,其他的话就是作为一个大模型的一部分的可编辑性,还有对uv、贴图的影响),由线转换的是最少点面的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值