Unity显示层次和移动不平滑

本文解决Unity游戏中层次显示和角色移动不平滑的问题。通过调整SpriteRenderer的spritesortpoint值为pivot,解决了角色与背景层次冲突;使用Rigidbody.velocity代替transform.Translate进行平滑移动,并利用角色scale切换方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2020.5.25晚
1.显示层次问题
设置了project settings-graphics-camera settings为按y轴分类
发现人物还是容易在应该被遮挡的树叶下,变成浮在树叶上
想到应该设置树的pivot在树根,没想到没有用,还去查用户手册看是根据什么来设定,但好像没看到有提
回头发现物体的sprite renderer组件有一个sprite sort point值是center,改成pivot以后再试就成了~

2.移动不平滑问题
void Update()

float moveX = Input.GetAxisRaw(“Horizontal”);
transform.Translate(moveX * 10 Time.deltatime );

原先是用上面的非物理方法写的,可能是帧率不稳定的原因把,导致了移动有忽长忽短的现象
后面改成了这种
Rigidbody.velocity = new Vector2(moveX
speed,Rigidbody.velocity.y);

并且发现像我这样没有左右行走动画的简单人物,直接修改scale就可以切换左右面向了
if (moveX != 0)
{
transform.localScale=new Vector3(moveX,1,1);
}
之前都是用的animator做的,汗

### Unity 中相机移动时物体抖动的解决方案 在开发过程中遇到摄像机或物体抖动的情况确实会影响用户体验。针对这一问题,可以从多个角度来考虑解决方案。 #### 调整旋转顺序 当涉及到对象摄像机的同时旋转操作时,调整这两者的执行顺序可以有效缓解抖动现象。例如,在处理外骨骼跟随视角转动的情况下,应当先更新主体的位置再改变摄像机的角度[^3]: ```csharp // 先让身体围绕Y轴转动 bodyTransform.rotation = Quaternion.Euler(0, rotationVector3.y, 0); // 然后再设置摄像机的方向 transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, Time.deltaTime * smoothSpeed); ``` 这里使用 `Quaternion.Lerp` 来实现平滑过渡效果,而是直接赋值给 `rotation` 属性,从而减少了突兀的变化带来的视觉冲击感。 #### 减少模型复杂度与优化渲染性能 对于较为复杂的场景而言,降低模型细节层次(LOD)、应用遮挡剔除技术烘焙光照都可以显著提高帧率稳定性,进而减轻由于低FPS引起的图像闪烁或跳跃感[^5]。具体措施如下: - **简化几何结构**:通过减少必要的顶点数量以及合并相似材质等方式精简资源文件; - **启用 Occlusion Culling 功能**:自动隐藏被其他物体挡住的部分,节省计算开销; - **预计算全局照明数据**:提前准备好静态光源的效果,避免实时演算造成延迟。 #### 平滑化位置变化过程 为了防止快速变换引起的人眼适反应,建议引入插值算法使得运动更加流畅自然。比如利用 `Mathf.SmoothDamp()` 方法逐步接近目标坐标而非瞬时间跃迁至新地点[^2]: ```csharp void Update() { Vector3 newPosition = Mathf.SmoothDamp(transform.position, destinationPosition, ref velocity, dampTime); transform.position = newPosition; } ``` 上述代码片段展示了如何基于当前速度向量逐渐靠近指定终点的过程,其中参数 `dampTime` 控制着整个动作的速度快慢程度。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值