美术在做场景的时候可能会出现这个情况? 如下图所示,这个地块的中心点远离模型十万八千里?与其相信美术或者策划我觉得程序要更相信自己!!
[MenuItem ("MyMenu/Do Test")]
static void Test ()
{
Transform parent = Selection.activeGameObject.transform;
Vector3 postion = parent.position;
Quaternion rotation = parent.rotation;
Vector3 scale = parent.localScale;
parent.position = Vector3.zero;
parent.rotation = Quaternion.Euler(Vector3.zero);
parent.localScale = Vector3.one;
Vector3 center = Vector3.zero;
Renderer[] renders = parent.GetComponentsInChildren<Renderer>();
foreach (Renderer child in renders){
center += child.bounds.center;
}
center /= parent.GetComponentsInChildren<Transform>().Length;
Bounds bounds = new Bounds(center,Vector3.zero);
foreach (Renderer child in renders){
bounds.Encapsulate(child.bounds);
}
parent.position = postion;
parent.rotation = rotation;
parent.localScale = scale;
foreach(Transform t in parent){
t.position = t.position - bounds.center;
}
parent.transform.position = bounds.center + parent.position;
}
OK 大功告成。 中心点居中了。。
- 本文固定链接: https://www.xuanyusong.com/archives/3643
- 转载请注明: 雨松MOMO于 雨松MOMO程序研究院 发表
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!



谢谢 原本不居中的变得更不居中 遇到牛的模型师了
(ΩДΩ) 这到底是什么神仙大神, 小白学到了! 真的好用! (膜拜)
这有个前提,就是原本父物体坐标必须跟世界坐标统一,不然模型要动,想避免这个问题的话,将旋转的选项从头到尾都去掉,就不影响了。
1、改父物体旋转为0,0,0
2、循环执行三次,才能对的准确
3、再把父物体的旋转改回去
您好,您的方法我试了,没有用啊,不知道是什么原因,结果只是模型移动了,中心点还是不对。
今天用到了,thanks。
呵呵。。
好机智啊
老师你好,想问一下,怎么能在移动平台上屏幕的一部分播放视频,现在是全屏播放
得用java 或者oc 单独来写了。。
用MovieTexture不能实现吗???
非常好啊 经常碰到这种问题..都是在外面建一个父物体..