本文主要是介绍unity 关于模型的边界框bounds,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SkinnedMeshRenderer.Bounds的边界框默认是不能通过脚本修改的
在有蒙皮骨骼的模型Rig选项中改成Legacy的时候会出现这种情况,这个时候最好选择genetic导入,可以得到正常的bounds(这个就是渲染边界)
控制渲染的可见性
这个边界如果很大(大于模型很多)就会使得模型在属性面板不可见,因为模型的中心是把bounds考虑在一起计算的
这个值在编辑器里是可以修改的,也可以在场景里手动调整
但是这个值不能通过编辑器调整,因为是只读的
如果使用GetComponent<SkinnedMeshRenderer>().bounds.extents.Set(.0f,.0f,.0f);修改会什么都不发生
这个我感觉unity里存在问题,因为这样的修改可读属性既不报错,又不会有任何反应
正如这个帖子里说的
http://forum.unity3d.com/threads/possible-bug-with-bounds.73105/
最后有人问道为什么可以在编辑器修改,但是不能代码修改
然后就想到了编辑器类
结果发现都没法修改 看来最好的方法还是从模型制作上先解决这个问题,特别是放大和缩小的问题
当然有时候有偏移原点动画这个问题会造成模型突然消失
这是因为模型的原点不在可视范围内了,如果有偏移原点的动画这个要注意了
这篇关于unity 关于模型的边界框bounds的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!