U3D外包团队—技术分享 U3d中获得物体的size

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了U3D外包团队—技术分享 U3d中获得物体的size相关的知识,希望对你有一定的参考价值。

以size的x方向为例

1:gameObject.renderer.bounds.size.x;//这个值的结果真实反应出有MeshRenderer这个组件的模型的尺寸。不需要再乘以localScale.x。

 

2:gameObject.GetComponent<MeshFilter>().mesh.bounds.size.x;//通过MeshFilter获得原始模型的mesh,该值返回的结果是原始mesh的尺寸。

若要获得模型的尺寸大小还需要乘以模型的localScale.x。

即:gameObject.GetComponent<MeshFilter>().mesh.bounds.size.x*gameObject.transform.localScale.x;

 

3:为物体添加Collider,然后使用XXX.collider.bounds.size;

这个不一定能很好的反应物体的大小,bounds获得的是物体的外包矩形。而且这个外包矩形的X,Y,Z和世界坐标一致。因此,若物体有旋转,获得的尺寸就不能反应出物体的真实大小,只是其外包矩形的大小。。。

 

如:获得terrain的尺寸

        terrainWidth = terrain.collider.bounds.size.x;

        terrainLength = terrain.collider.bounds.size.z;

        terrainHeight = terrain.collider.bounds.size.y;

4:代码实现获得复杂物体的尺寸(诸如根节点没有MeshFilter,MeshRenderer组件,物体是由很多复杂不规则的小mesh子物体组成的) 如:Camera的口径Size

当投影类型为Perspective时,fieldOfView属性表示口径的度数,范围为[1,179]

当投影类型为Orthgraphic,     orthographicSize属性为正交模式下的口径尺寸

以上是关于U3D外包团队—技术分享 U3d中获得物体的size的主要内容,如果未能解决你的问题,请参考以下文章

全景视频外包团队:U3D全景漫游

全景VR视频游戏外包公司:技术分享使用U3D+CB制作VR游戏

U3D外包Unreal4外包VR外包就找北京动点飞扬软件

北京U3D外包团队 UE4红军抗战案例 Unity3D红军抗战案例 UE4下载和安装虚幻4游戏引擎

Unity3d外包(北京)公司(长年承接U3D外包)

U3D外包公司—北京动点(公司性质)承接U3DKinectVR虚拟现实,增强现实,体感互动,大屏互动等各类外包