У меня возникли проблемы с перемещением капсулы физики персонажей в локальном пространстве.Независимо от того, какое вращение я даю, оно все равно движется относительно мирового пространства.Я прикрепил к нему компонент сетки, компонент физики персонажей, компонент ввода со своим вводом и скрипт lua.Вот код движения в моем сценарии lua:
function PlayerController:HandleInput(floatValue)
local currentBusId = InputEventNotificationBus.GetCurrentBusId()
local forwardSpeed = 0.0
local sideSpeed = 0.0
local rotate = 0.0
local fixedSpeed = self.Properties.Speed * 0.01
local fixedStrafeSpeed = self.Properties.StrafeSpeed * 0.01
if(currentBusId == self.forwardBusId) then
forwardSpeed = floatValue
end
if(currentBusId == self.leftBusId) then
sideSpeed = -floatValue
end
if(currentBusId == self.rotateBusId) then
rotate = floatValue
end
PhysicsComponentRequestBus.Event.AddImpulse(self.entityId, Vector3(fixedStrafeSpeed * sideSpeed, fixedSpeed * forwardSpeed, 0.0))
end
Мне было интересно, каким будет лучший способ его перемещения в локальном пространстве.