gpt4 book ai didi

c# - 在 Unity 中将 Vector3 转换为 float

转载 作者:行者123 更新时间:2023-12-02 17:27:22 60 4
gpt4 key购买 nike

using UnityEngine;
using System.Collections;
public class GetPosition : MonoBehaviour
{
Vector3 dragStartPosition;
float dragStartDistance;
float[] Xfloat;

void OnMouseDown()
{
dragStartPosition = transform.position;
dragStartDistance = (Camera.main.transform.position - transform.position).magnitude;
}

void Update()
{
}

void OnMouseDrag()
{
Vector3 worldDragTo = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, dragStartDistance));
transform.position = new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z);
new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z);
float Newpos = ;
}

void OnMouseUp()
{
}

}

我有统一的这段代码,我想将我的新 Vector3(仅位置 x)转换为 float ,我该怎么做?

最佳答案

就这么简单:

float Newpos = worldDragTo.x;

因为 Vector3 的组件已经是 float 。

如果它们是另一种浮点类型,您需要进行转换,因为您在转换时会失去精度,因此没有从 double 或 decimal 向下转换为 float 的隐式转换。

尽管您创建了一个向量但没有将其分配给变量,所以您将其丢弃。

new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z);

关于c# - 在 Unity 中将 Vector3 转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37526069/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com