Вопрос Получение дистанции игрока

  • Автор темы Автор темы zuumav
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
10 Мар 2025
Сообщения
2
Реакции
0
как получить местоположение игрока? у меня есть baseplayer и т. д. только не могу понять как вычислить значение. gameassembly -> baseplayer -> playermodel не работает
 
примерное определение:
float Distance = Vector3::distance((Vector3 позиции localPlayer), (Vector3 позиции Entity));


примерная реализация Vector3:

struct Vector3
{
float x, y, z;

Vector3(float x = 0, float y = 0, float z = 0) : x(x), y(y), z(z) {}

friend std::ostream& operator<<(std::ostream& os, const Vector3& v) // для вывода
{
os << "(" << v.x << ", " << v.y << ", " << v.z << ")";
return os;
}

Vector3 operator+(const Vector3& other) const
{
return Vector3(x + other.x, y + other.y, z + other.z);
}

Vector3 operator-(const Vector3& other) const
{
return Vector3(x - other.x, y - other.y, z - other.z);
}

Vector3 operator*(float scalar) const
{
return Vector3(x * scalar, y * scalar, z * scalar);
}

Vector3 operator/(float scalar) const
{
return Vector3(x / scalar, y / scalar, z / scalar);
}

static float distance(const Vector3& v1, const Vector3& v2)
{
float dx = v1.x - v2.x;
float dy = v1.y - v2.y;
float dz = v1.z - v2.z;
return std::sqrt(dx * dx + dy * dy + dz * dz);
}
};
 
как получить местоположение игрока? у меня есть baseplayer и т. д. только не могу понять как вычислить значение. gameassembly -> baseplayer -> playermodel не работает
Вычисление позиции игрока: Vector3 positon = BasePlayer->get_transform()->get_position();

get_transform:
BasePlayer->Component -> Component.get_transform() (BasePlayer наследуется от Component)

get_position:
Transfrom->get_position()
 
примерное определение:
float Distance = Vector3::distance((Vector3 позиции localPlayer), (Vector3 позиции Entity));


примерная реализация Vector3:

struct Vector3
{
float x, y, z;

Vector3(float x = 0, float y = 0, float z = 0) : x(x), y(y), z(z) {}

friend std::ostream& operator<<(std::ostream& os, const Vector3& v) // для вывода
{
os << "(" << v.x << ", " << v.y << ", " << v.z << ")";
return os;
}

Vector3 operator+(const Vector3& other) const
{
return Vector3(x + other.x, y + other.y, z + other.z);
}

Vector3 operator-(const Vector3& other) const
{
return Vector3(x - other.x, y - other.y, z - other.z);
}

Vector3 operator*(float scalar) const
{
return Vector3(x * scalar, y * scalar, z * scalar);
}

Vector3 operator/(float scalar) const
{
return Vector3(x / scalar, y / scalar, z / scalar);
}

static float distance(const Vector3& v1, const Vector3& v2)
{
float dx = v1.x - v2.x;
float dy = v1.y - v2.y;
float dz = v1.z - v2.z;
return std::sqrt(dx * dx + dy * dy + dz * dz);
}
};
нах ты нам вектор3 скинул
 
нах ты нам вектор3 скинул
автор не понимает "как вычислить значение" он ему скинул реализацию функции вычисления дистанции от локальной позиции игрока до позиции врага
 
Назад
Сверху Снизу