• 控制数字继续上下移动并且始终朝向摄像机


    private bool UpOrDown = true;

    private Transform machineIDRoot;
    private List<GameObject> stroeMachineID = new List<GameObject>();

    //存储机器编号
    public void StoreMachineIDShow()
    {
      //发现机器编号根节点
      machineIDRoot = factory.transform.FindChild("MachineIDRoot");
      foreach (Transform obj in machineIDRoot)
      {
        if (!stroeMachineID.Contains(obj.gameObject))
        {
          stroeMachineID.Add(obj.gameObject);
        }
      }
    }
    //机器编号的动画及其控制
    private void MachineIDAnimControl()
    {
      foreach (GameObject obj in stroeMachineID)
      {
        obj.transform.LookAt(new Vector3(Camera.main.transform.position.x, obj.transform.position.y, Camera.main.transform.position.z));
        if (UpOrDown)
        {
          obj.GetComponent<Transform>().DOLocalMoveY(38, 3);
        }
        else
        {
          obj.GetComponent<Transform>().DOLocalMoveY(33, 3);
        }
        if (Vector3.Distance(obj.transform.localPosition, new Vector3(obj.transform.localPosition.x, 38, obj.transform.localPosition.z))<0.1f)
        {
          UpOrDown = false;
        }
        if (Vector3.Distance(obj.transform.localPosition, new Vector3(obj.transform.localPosition.x, 33, obj.transform.localPosition.z)) < 0.1f)
        {
          UpOrDown = true;
        }
      }
    }

    另一种方法:

    GameObject facilityIDParent;
    List<GameObject> storeFacilityId = new List<GameObject>();;

    private void SetFacilityIDShowString()
    {
      storeFacilityId.Clear();
      facilityIDParent = factory.transform.FindChild("facilityIDParent").gameObject;
      foreach (Transform kk in facilityIDParent.transform)
      {
        storeFacilityId.Add(kk.gameObject);
        kk.GetComponent<TextMesh>().text = dataLogicControl.StoreFacilityData[kk.name].id;
      }
    }

    private void FacilityIDAnimationController()
    {
      foreach (var kk in storeFacilityId)
      {
        kk.transform.LookAt(new Vector3(Camera.main.transform.position.x, kk.transform.position.y, Camera.main.transform.position.z));
        if (UpOrDown)
        {
          kk.transform.localPosition = Vector3.Lerp(kk.transform.localPosition, new Vector3(kk.transform.localPosition.x, 40, kk.transform.localPosition.z), Time.deltaTime);
        }
        else
        {
          kk.transform.localPosition = Vector3.Lerp(kk.transform.localPosition, new Vector3(kk.transform.localPosition.x, 35, kk.transform.localPosition.z), Time.deltaTime);
        }
        if (Vector3.Magnitude(kk.transform.localPosition - new Vector3(kk.transform.localPosition.x, 40, kk.transform.localPosition.z)) < 0.1f)
        {
          UpOrDown = false;
        }
        if (Vector3.Magnitude(kk.transform.localPosition - new Vector3(kk.transform.localPosition.x, 35, kk.transform.localPosition.z)) < 0.1f)
        {
          UpOrDown = true;
        }
      }
    }

  • 相关阅读:
    云原生体系下 Serverless 弹性探索与实践
    PaddlePaddle:在 Serverless 架构上十几行代码实现 OCR 能力
    manjaro kde系统格式化U盘
    从B站看到的资源网站(确实是很不错,推荐!)
    ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysql 或 manjaro 安装 mariadb
    manjaro kde 我安装后使用到的命令
    思考了许久,博客在未来将会进行的改变(2021-10-03)
    linux 下配置 python源
    ModuleNotFoundError: No module named 'distutils.util'
    mysqlclient 安装失败
  • 原文地址:https://www.cnblogs.com/Study088/p/7339336.html
Copyright © 2020-2023  润新知