本文探讨了两种改变物体大小的方法,一种是通过transform.localscale,另一种是通过改变mesh的顶点坐标。第一种方式并没有真正改变物体大小,只是对物体进行了缩放,物理属性并没有改变。因此,如果要做物理效果,建议使用每二种方式。
using UnityEngine;
using System.Collections;
/*改变物体大小,GameObject的尺寸由transform.localscale与mesh.Bounds共同决定。
* 另外通过MeshRenderer.Bounds.size可以获取GameoObject的Size*/
public class ChangeGameObjectSize : MonoBehaviour {
///
/// 原始mesh顶点坐标,mesh顶点坐标使用物体坐标系。
/// mesh顶点v1的世界坐标=transform.position+new Vector3(v1.x*transform.localscale.x+v1.y*transform.localscale.y+v1.z*transform.localscale.z);
/// 也可以使用unity提供的接口transform.TransformPoint(v1) 将mesh顶点坐标转换为世界坐标.
///
string str = "";
///
/// 改变Transfrom.localscale后的mesh坐标,改变Transfrom.localscale,mesh顶点坐标不会改变
///
string str1 = "";
///
/// 改变mesh顶点坐标后的mesh坐标
///
string str