sharedMesh
返回网格过滤器的共享网格。
建议仅将此函数用于读取网格数据 而不用于写入,因为您可能会修改导入的资源,使用此网格 的所有对象都会受影响。 此外请注意,无法撤销对此网格进行的更改。
using UnityEngine;public class Example : MonoBehaviour
{
// Permanently scales the size of the mesh by a factor.float scaleFactor = 2f;void Start(){
Mesh mesh = GetComponent<MeshFilter>().sharedMesh;Vector3[] vertices = mesh.vertices;for (int p = 0; p < vertices.Length; p++){
vertices[p] *= scaleFactor;}mesh.vertices = vertices;mesh.RecalculateNormals();}
}
拥有 sharedMesh 的基本只有一下三个
而mesh呢 是下面这样的解释
最有意思的是 https://docs.unity3d.com/cn/2021.1/ScriptReference/Mesh.html
看看mesh的类介绍
很全面
看这个
和 renderer里的不太一样哦
MeshFilter的mesh.bounds可以理解为本身模型的大小 和渲染无关 所以忽略了scale
MeshRenderer的bounds 其实可以理解为渲染的时候用的 所以他计算了scale
所以
mesh.bounds是相对于自己的 输出center就可以知道 不会变
MeshRenderer.bounds 是相对于世界的 所以移动会改变
他的一些api很重要
MeshFilter 看着很难以理解
其实就几个属性
还有 MeshRenderer
也是非常简单
看他的描述