您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 幺九 于 2019-3-18 19:58 编辑
编辑器Q1:同一个模型,在Unity中显示的顶点数与面片数远多于在3ds MAX中显示的顶点/面片数。大家知道这是为什么吗?
The Unity Editor shows too many vertices or triangles (compared to what my 3D app says)This is correct. What you are looking at is the number of vertices/triangles actually being sent to the GPU for rendering. In addition to the case where the material requires them to be sent twice, other things like hard-normals and non-contiguous UVs increase vertex/triangle counts significantly compared to what a modeling app tells you. Triangles need to be contiguous in both 3D and UV space to form a strip, so when you have UV seams, degenerate triangles have to be made to form strips - this bumps up the count.
感谢凯奥斯@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5b78effe339d267d357c6dd6 制作Q2:我将3D模型导入Unity后,发现UV接缝处显现地非常明显,但是在建模软件里面的显示是正常的,也可以确定UV展开是正确的,这是为什么呢?
这可能是因为Mipmap引起的。纹理会自动进行缩放,因而在边缘的地方因为信息的缺失导致接缝变的明显。可以在导入设置中尝试关闭Mipmap看看是否还存在问题。
另一个方法是在UV边缘向外扩展几个像素,例如1024*1024的纹理边缘向外扩充8像素。
渲染Q3:我想让动画物体的边缘更加光滑,故而设置如下:已经开启了MSAA,Rendering设置中使用了8x抗锯齿,然而虽然场景中的静态物体边缘已经比较平滑,但动画物体边缘仍然有明显的锯齿感,如何继续提高光滑性呢?
题主可以尝试关闭HDR,看是否有提升。在Intel GPU上,HDR与MSAA共同使用会出现一些问题。此外,可以使用Post Processing Stack( https://docs.unity3d.com/Manual/PostProcessing-Stack.html)代替MSAA。
资源管理Q4:我使用CommandBuffer.DrawMesh不能减少SetPass Calls。即使使用相同的材质,也无法减少SetPass Calls,这和Render直接渲染不同,不知道Unity会不会开放材质排序的功能?
Mesh只是一个虚拟的概念,本质上还是点、三角面以及其他的一些属性。Renderer也不是什么直接渲染,StaticBatching和DynamicBatching一样,都是Unity自行将多个Mesh合并在一起,统一Draw Call。
所以楼主的问题,应该将相同材质的Mesh合并到一起,再调用CommandBuffer.DrawMesh就好了。 |