You need to enable JavaScript to run this app. 3D项目智能手机端触屏控制物体沿X轴移动的平滑优化问询
优惠活动
大模型
产品
解决方案
定价
更多

3D项目智能手机端触屏控制物体沿X轴移动的平滑优化问询

3D项目单指触屏控制X轴移动的卡顿修复方案

现存代码的卡顿核心原因

  • 运行周期错配:将触屏输入逻辑写在FixedUpdate中,该方法按固定物理频率执行(默认每0.02s触发一次),远低于智能手机的触屏采样频率、屏幕渲染帧率(通常60Hz以上),导致触屏位移增量的感知存在延迟,视觉上出现跳变、卡顿。
  • 冗余逻辑消耗:原代码每帧无论是否触发触屏操作,都会两次执行全量Vector3位置赋值,不仅会产生无意义的临时对象增加GC压力,还存在逻辑覆盖风险——末尾的Z轴更新逻辑会读取上一次的transform值,容易抵消触屏修改的X轴位移效果。
  • 无帧率适配的位移计算:直接将触屏的deltaPosition.x乘灵敏度系数,没有对增量做时间归一化处理,在触屏采样频率波动时会出现位移速度忽快忽慢的抖动。

适配流畅移动的修改代码

调整核心逻辑为:将触屏输入的感知计算放到Update中,匹配屏幕刷新和触屏采样频率;将实际的物理位移更新放到FixedUpdate中,和运动逻辑对齐;通过目标值插值进一步消除位移跳变。

[SerializeField] private float xMoveSensitivity = 0.02f; // 横向移动灵敏度,根据实际手感调整
[SerializeField] private float forwardSpeed = 5f; // Z轴自动前进速度
[SerializeField] private float xMoveSmoothness = 10f; // X轴移动的平滑系数
[SerializeField] private float maxXRange = 3f; // X轴移动的边界范围,防止物体移出屏幕
private Touch currentTouch;
private float targetXOffset; // 存储触屏计算得到的X轴目标偏移值

void Update()
{
    // 单指触屏的横向位移感知逻辑,匹配设备触屏采样、屏幕渲染的刷新频率
    if (Input.touchCount == 1)
    {
        currentTouch = Input.GetTouch(0);
        if (currentTouch.phase == TouchPhase.Moved)
        {
            // 累积计算目标X轴偏移,添加边界限制避免物体越界
            targetXOffset += currentTouch.deltaPosition.x * xMoveSensitivity;
            targetXOffset = Mathf.Clamp(targetXOffset, -maxXRange, maxXRange);
        }
    }
}

void FixedUpdate()
{
    // 物理帧仅负责执行实际位置更新,保证运动逻辑稳定
    // 更新Z轴自动前进的位移
    transform.position += new Vector3(0, 0, forwardSpeed * Time.fixedDeltaTime);
    // 平滑插值到目标X轴位置,消除跳变感
    float smoothedX = Mathf.Lerp(
        transform.position.x, 
        targetXOffset, 
        Time.fixedDeltaTime * xMoveSmoothness
    );
    // 仅更新变化的X轴分量,减少冗余计算
    transform.position = new Vector3(smoothedX, transform.position.y, transform.position.z);
}

进一步优化的操作建议

  • 避免在触屏相位判断中直接修改transform.position,先将输入值换算为目标偏移量,再通过插值完成实际位移,从根源上解决输入采样和位置更新不同步的问题。
  • 针对高刷新率(120Hz/144Hz)设备,将触屏增量除以当前帧的真实时间间隔,做全局速度归一化,保证不同设备上的移动手感一致。
  • 移除代码中无意义的重复位置赋值逻辑,减少临时Vector3对象的构造,降低GC触发频率,进一步消除偶发卡顿。

内容的提问来源于stack exchange,提问作者SOS video

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.10 16:45:08