Unity钳制的UI图像在抖动

问题描述 投票:0回答:1

在2D游戏中,我使用下面的脚本将UI图像夹在玩家身上,但是当玩家移动时,图像会有一点抖动。我到底做错了什么?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HealthBarClamp : MonoBehaviour
{

    public Transform targetToFollow;
    Transform thisTransform;   

    void Start()
    {
        thisTransform = transform;
    }


    void Update()
    {
        thisTransform.position = new Vector3(targetToFollow.position.x, 
            targetToFollow.position.y + 1.5f, thisTransform.position.z); 
    }
}
c# unity3d
1个回答
0
投票

你可以尝试在gameObject的层次结构中让健康栏成为目标的子代,这样它就会跟着移动,不需要在脚本中更新它的位置。然后你可以根据你的需要启用或禁用健康条,如果你需要它被看到或不需要。


0
投票

如果你在使用物理学或在 FixedUpdate然后,你需要移动相机在周围的 FixedUpdate 以及。Update 每一帧都会发生,无论快慢,而 FixedUpdate模拟 以一致的时间间隔发生,以帮助保持物理计算不至于发疯。如果你移动摄像机在 Update 和目标在 FixedUpdate,那么你最终会有微小的差异,看起来像摇晃。

(或者你也可以按照评论中给出的建议来做)。把UI元素变成移动对象的子元素是完全可行的,尽管我个人更喜欢用你原来的方式来做,因为这样可以让 "平滑 "的相机移动等事情变得更容易。)

© www.soinside.com 2019 - 2024. All rights reserved.