美术经常找程序撕逼,我做的顶点在max里面只有xxx那么少,但是程序说我再unity看到的就是有XXX那么多。为什么?
因为有些公共顶点直观感受是一个,实际上是应该按照三角面的个数来计数的。
同样。公共顶点的法线也不止一个。
不过,因为normal是影响光照效果,即在光照下的凹凸平滑程度,所以用插值平均后的Normal代替所有的顶点的各自的normal可使低精度模型看起来平滑
显示编辑器下显示 normal 的脚本,参考
using UnityEngine;
[ExecuteInEditMode]
public class ShowNormals : MonoBehaviour {
public float length = 1;
public Vector3 bias;
// Update is called once per frame
void Update() {
// 获取网格法线
Mesh mesh = GetComponent<MeshFilter>().sharedMesh;
Vector3[] vertices = mesh.vertices