Как мне CFrame части? - PullRequest
       19

Как мне CFrame части?

0 голосов
/ 26 июля 2010

Я слышал, что вы можете наклонить деталь на точное количество, используя свойство .CFrame.Однако мне неясно, как его использовать.Следующий код не работает:

Workspace.Part.CFrame = CFrame.new(90,0,45)

Он не поворачивает деталь на 90 и 45 градусов.Что я делаю не так?

Ответы [ 5 ]

2 голосов
/ 03 августа 2010

Сначала используйте функцию CFrame.fromEulerAnglesXYZ, чтобы создать новый CFrame, указывающий в нужном вам направлении.Затем используйте Vector3 math, чтобы переместить CFrame в нужную позицию.EG.

local cframe = CFrame.fromEulerAnglesXYZ(XRADIANS, YRADIANS, ZRADIANS)
cframe = (cframe - cframe.p) + Vector3.new(XPOS,YPOS,ZPOS)
1 голос
/ 11 сентября 2010

В аргументах указывается позиция, а не вращение

1 голос
/ 26 июля 2010

В документации говорится, что конструктор Coordinate Frame (CFrame) , который принимает 3 параметра, определяет смещение позиции.Поэтому ваш пример кода будет перемещать деталь 90 вдоль оси x и 45 вдоль оси z .Чтобы выполнить поворот, как вы пытались, см. Функцию CFrame.fromEulerAnglesXYZ.

0 голосов
/ 01 марта 2014
-- Rotates the part by 90 degrees. If you want to change the axis your
-- rotating it on Use a different placement such as CFrame.Angles(math.rad(90),0,0)
Workspace.Part.CFrame = Workspace.Part.CFrame * CFrame.Angles(0, math.rad(90), 0)
0 голосов
/ 22 ноября 2010

У меня тоже была эта проблема, когда я начинал CFrame.Они радианы, а не градусы.Я написал краткое руководство по CFraming для ROBLOX, здесь .

Если вы боретесь с радианами, вы должны взглянуть на вики-страницу ROBLOX по радианам, чтобы получить общее представление: вики.roblox.com/index.php/Radians

Спасибо!

-pighead10

...