【发布时间】:2019-07-11 18:23:26
【问题描述】:
我正在为我的 Unity3D 游戏创建自定义头像系统,让玩家能够上传自己的头像。 由于我的游戏是针对 VR 的,我当然想向用户展示身体,在这个过程中隐藏头部。 我正在考虑仅将 VR 相机的头骨缩小到零,以便镜子和其他相机仍能看到头部。
我已经尝试过各种不同的方法,包括Update、LateUpdate、OnPreCull。他们中的一些人实际上缩小了头部,但是对于场景中的每个摄像机,而不仅仅是我想要的。
private void OnPreRender()
{
Original = head.localScale;
head.localScale = Vector3.zero;
}
private void OnPostRender()
{
head.localScale = Original;
}
我希望头部缩放到 0(什么都没有),但唯一发生的事情是骨骼的子对象移动到缩小的位置,但实际上并没有缩放。
编辑:经过进一步测试,我注意到 gameObject.SetActive 可以正常工作。对于带有脚本的相机,整个化身变得不可见。缩放似乎不起作用。我的猜测是缩放可能需要更多帧来处理。而渲染函数执行的时候,只是缩放的一半。
【问题讨论】: