Сбросить «естественную» ориентацию детали до 0,0,0, не перемещая ее - PullRequest
0 голосов
/ 25 февраля 2020

Я скачал несколько моделей мечей с рынка. Затем, в рабочем пространстве, ориентируйте их все одинаково (например, держите все на одной стороне, лезвие ровно к земле). Затем я переместил их в ReplicatedStorage. Позже я их клонирую и помещаю обратно в рабочее пространство. Когда они возвращаются в рабочее пространство, они возвращаются к своей первоначальной (ie marketplace) ориентации. Я должен повернуть их снова в коде.

Есть ли способ сбросить "естественную" ориентацию детали / me sh?

Под этим я подразумеваю;

  1. Создать или скачать модель с рынка

  2. повернуть / преобразовать в нужное положение

  3. сделать «что-то», что сбрасывает ориентацию на 0, 0, 0 БЕЗ визуально вращающегося модель.

Надеюсь, это имеет смысл!

1 Ответ

1 голос
/ 01 марта 2020

Предположим, вы установили PrimaryPart модели меча на ручку. Чтобы изменить CFrame PrimaryPart, а также все остальные части модели относительно него, мы используем функцию : SetPrimaryPartCFrame ()

sword:SetPrimaryPartCFrame(CFrame.new(0, 0, 0)) -- 0, 0, 0 as in X = 0, Y = 0, Z = 0

Теперь предположим, что вы не доволен ориентацией модели. Мы можем исправить это, «умножив» местоположение CFrame с ориентацией CFrame ( CFrame.fromOrientation () )

Ориентация CFrame выражается в радианах, поэтому для преобразования радиан в градусы, мы используем функцию math.rad ()

В этом примере кода мы устанавливаем местоположение на 0, 0, 0 и ориентацию на 0, 0, 90

sword:SetPrimaryPartCFrame(CFrame.new(0, 0, 0) * CFrame.fromOrientation(0, 0, math.rad(90)))

Осталось только поэкспериментировать с различными значениями ориентации X, Y и Z, пока не получите правильный результат

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...