Реализовал вращение объекта в захвате следующим образом:
Работает всё как надо, вот только поворачивается объект относительно своих осей. Например, двигаешь мышкой вверх-вниз и объект «кивает» тебе. Затем поворачиваешь его боком и теми же движениями мыши объект «кивает» уже не тебе ) Известен ли кому-нибудь способ, как реализовать вращение объекта относительно осей игрока? Чтобы одни и те же кнопки/движения приводили к одним и тем же последствиям, независимо от того, куда смотрит объект и где какая сторона света.
«SetWorldRotation» способен решить проблему с осью «Z». Ведь ось «Z» всегда только вертикальна, а изменение плоскости игрока я не планирую.
С другими осями надо что-то выдумывать. Возможно, стоит попробовать вычислить углы между осями управляемого объекта и игроком, а потом эти углы использовать при определении скорости наклона по этим же осям. Ведь такое вращение требует от движения мыши по вертикали контроль одновременно за двумя осями. Но, может быть, моя идея глупа и нужно изучать матрицы поворота и угол между двумя векторами.
тоесть когда ты поворачиваешь персонажа, тебе нужно что бы объект смотрел всегда на персонажа?, или был повернут к персонажу той стороной которая была последней?
p.s. тогда можно использовать Find Look At Rotation у предмета, во время поворота персонажа, для того что бы сохранять прежнюю относительность, а потом AddWorldRot
Тут я демонстрирую то, что имею. Я подхожу к объекту прямо, поднимаю его, включаю управление наклонами и начинаю двигать мышкой вперёд-назад. Затем обхожу объект сбоку и вновь делаю тоже самое. Затем сзади и опять те же действия. Потом с другого боку и опять показываю наклоны, движением мыши вперёд-назад. Как видно, то, в какую сторону будет наклоняться объект, зависит от того, с какой стороны к нему подойти. На самом деле, ещё от того, какой он стороной к тебе лежит. А нужно так, чтобы независимо от сторон, при движении мышки вперёд-назад, объект всегда «кивал» тебе. Объект не должен автоматически поворачиваться к тебе передом, он просто объект, которым нужно управлять. И управление должно быть удобным. Чтобы наклоны всегда работали одинаково. Вперёд-назад — объект всегда наклоняется к тебе и от тебя.
Может быть можно всегда разворачивать гизмо объекта к игроку? Чтобы его оси, не меняя наклоны объекта, сперва расположились параллельно осям игрока, а потом уже участвовали в поворотах? Или это не возможно?