Как повернуть объект на 90 градусов в 3ds max

Обновлено: 04.07.2024

Небольшой вопрос. У меня есть префаб, содержащий мой 3D-объект, который я создал в макс. В max объект находится в (0,0,1/2) и повернут (0,0,0), однако, когда Unity захватывает автоматический импорт активов, модель поворачивается на -90 градусов по оси x в Unity, так что он как будто лежит на боку/упал.

Знает ли кто-нибудь о подобных проблемах с изменением ротации?

Могу ли я сейчас создать сборную сборку из созданных объектов на моем уровне? Чтобы он мог удерживать ротацию для быстрого исправления взлома?

У меня та же проблема, экспорт в FBX 2014: настройки Y-UP и Z-UP игнорируются, результирующий FBX, импортированный в Unity, указывает вниз в окне предварительного просмотра и автоматически поворачивается на -90 по оси X. оси при размещении в сцене.

Если я поверну опорную точку в $$anonymous$$ax (зеленый ВВЕРХ) и экспортирую FBX, модель в Unity отобразится правильно: как это возможно, что $$anonymous$$ax все еще имеет эту проблему? Я испытал точно такой же беспорядок при использовании XNA много лет назад!

Ответ от e.bonneville · 28.03.10 22:21

Ага. У меня также была эта чрезвычайно усугубляющая проблема, за исключением того, что я импортировал из Blender. Есть несколько способов исправить это. Да, вы можете исправить хак, создав префаб объекта, где он находится в пустом игровом объекте, правильно повернутый. Любые скрипты, применяемые к объекту, вы затем применяете к префабу. Это обеспечит правильное вращение и правильное поведение — если вы повернете его и оставите за пределами игрового объекта, оси будут указывать в забавных направлениях. Еще одно исправление — импортировать его в Blender, запечь анимацию и экспортировать как FBX. Кроме того, проверьте настройки импорта и убедитесь, что при импорте не применяются автоматические повороты. Надеюсь, это поможет!

Спасибо. На самом деле я тоже нашел свой transform.eulerAngles и применил вращение к префабу. Странно то, что готовые изображения нормально поворачиваются в окне предварительного просмотра, но при создании экземпляра они не будут.

Верно, следуя первой рекомендации, просто убедитесь, что я применяю скрипт именно к префабу, а не к gameObj ins$$anonymous$$d из префаба?

Спасибо за помощь =)

Да, если вы поместите в префаб какие-либо скрипты, имеющие какое-либо отношение к вращению, помните, что вы повернули его на 90 градусов, поэтому все, что вы делаете с его вращением, будет отклонено на 90 градусов. Да, и убедитесь, что ваш gameObj находится прямо в центре меша, иначе вращение все равно будет смещено, как бы далеко ваш gameObj ни находился от меша!

Кроме того, если этот ответ работает для вас, не забудьте проголосовать за него, чтобы другим в вашей ситуации было легче найти этот (рабочий) ответ.

Ответ от jlcnz · 30.08.11 06:24

Как уже говорилось, все, что вам нужно сделать, это отрегулировать поворот.

В 3DS Max необходимо убедиться, что при вращении оси зеленая стрелка указывает вверх.

Самый простой способ сделать это – выбрать объект, перейти на вкладку "Поворот", выбрать "Влиять только на поворот", сбросить поворот, повернуть поворот на 90° вокруг оси X

Это помогло мне. Unity делает поворот на -90 градусов при импорте по оси X. ОДНАКО, при рисовании травы это, кажется, игнорируется. Таким образом, поворот вокруг оси необходим.

Большое спасибо. Эта проблема сводила меня с ума. После того, как вы сделали то, что вы описали, теперь все работает идеально!

2017 год, а эта техника все еще нужна. Я делаю активы для Asset Store из $$anonymous$$ax, и это действительно работает. Просто убедитесь, что зеленая стрелка указывает вверх на оси.

Ответ от alexnode · 29/03/10 10:43

Есть проблема с вращением, когда вы импортируете из max, x достигает 270 градусов. Но модель импортируется прямо. Это ненужная ошибка Unity. Если он идет по умолчанию на стороне, то помимо бага проблема с вашей моделью. (По крайней мере, с последним доступным экспортером fbx) здесь. Чтобы убедиться, что хотя бы в максе ваша модель правильная. перейдите в утилиты и добавьте resetXform, затем сверните стек.

Старый школьный способ resetxform в max (и Maya) состоит в том, чтобы создать куб с координатами 0,0,0 - преобразовать в поли - назначить тот же материал модели - прикрепить свою модель - перейти в режим элемента, выбрать куб и удалить. Таким образом, ваша точка поворота станет точкой удаленного куба, но вы также можете сделать это с помощью утилиты xform, переместив центр и гизмо.

Игровые объекты, как сказал elbon 96, имеют 0,0,0 оборотов, так что вы можете делать там свои скрипты.

Хорошо, круто. Я попытался сбросить xform, но все еще получаю вращение, так что похоже, что это ошибка единства. Спасибо, парни. Я довольно легко во всем разобрался, просто хотел посмотреть, что сделали другие.

Это очень раздражает, есть сообщения о том, что это создает проблемы с физикой и много проблем, если вы попытаетесь поместить ребенка под свою модель, потому что он будет вращаться, кроме того, если вы сделаете дерево, оно будет двигаться сбоку в ландшафтные инструменты. Я думаю, есть обходные пути для каждого случая.но очень много времени тратит $$anonymous$$g, если вы не знаете, что делать в первую очередь (как я). Вы можете проголосовать в списке желаний за исправление импортера FBX

Честно говоря, я думаю, что 3DS $$anonymous$$AX не поддерживается должным образом, я хотел бы увидеть эти проблемы на странице импортера $$anonymous$$AX, прежде чем я начну работать над проектом.

Ответ от вершины · 18/09/10 16:33

Сначала используйте «метод коробки», чтобы сбросить преобразование объекта в максимальное значение, а затем отцентрируйте объект и отрегулируйте положение оси объекта. Это гарантирует, что перед следующим шагом к оси объекта не будут применены необычные преобразования.

Для любого объекта в 3D Studio Max перед экспортом также: поверните ось объекта вокруг оси x на 90 градусов в Max так, чтобы x (красная ось) оставалась прежней, синяя ось указывала вдоль оси z единицы, а зеленая ось теперь направлена ​​вниз. Опять же, красный остается прежним (указывает вправо), синий вдоль z вперед (на экран с видом спереди в макс.), а зеленый указывает вниз.

Вы еще не закончили. Экспортируйте FBX в единство. В рамках Unity убедитесь, что ОБА папка игрового объекта объекта и объект-сетка имеют 0 поворотов. Схема вращения Unity — это обходной путь для уникальной системы координат 3D Studio Max. После установки для Unity значения 0 у вас должен быть правильно ориентированный объект без поворотных преобразований в пределах Unity.

Я предполагаю, что чем меньше преобразований Unity нужно применить к объекту только для того, чтобы правильно масштабировать и сориентировать его для приложения, тем быстрее будет отображаться объект, поэтому это может повысить производительность, чтобы отработать ваши повороты. раньше времени?

Эта проблема больше связана с Max, чем с Unity, и уходит далеко в прошлое.

Я использую старую версию конвертера Max и FBX. Возможно, это было исправлено.

Ответ от CupOfJoe · 17/08/10 18:09

В 3DS Max убедитесь, что ваша точка поворота правильно повернута.

Например, у меня была кегля для боулинга, которая в моих представлениях была вертикальной, но ось вращения показывала, что Z был вертикальным, а Y был горизонтальным.


Автор:


Переключатель угловой привязки определяет пошаговый поворот для ряда функций, включая стандартное преобразование «Поворот». Когда вы вращаете объект (или группу объектов), объект перемещается вокруг заданной оси с заданным шагом.

  • Основная панель инструментов > Переключатель угловой привязки
  • Меню по умолчанию: меню "Инструменты" > "Сетки и привязки" > "Переключатель угловой привязки".
  • Клавиатура > A

Переключатель угловой привязки также влияет на элементы управления камерой Pan/Orbit, настройки камеры FOV и Roll, а также углы прожектора Hotspot/Falloff.

Процедуры

Чтобы включить угловую привязку:

  • На главной панели инструментов нажмите «Переключить угловую привязку». Когда включена угловая привязка, она влияет на все преобразования вращения.

Чтобы повернуть объект на четное число градусов:

    Включите переключатель угловой привязки и поверните объект.

По умолчанию поворот выполняется с шагом в 5 градусов.

Чтобы повернуть объект на определенный градус, выполните одно из следующих действий:


  • Нажмите «Выбрать и повернуть», затем щелкните правой кнопкой мыши, чтобы открыть диалоговое окно «Преобразование ввода». Введите нужный угол поворота.
  • Щелкните правой кнопкой мыши, чтобы открыть четырехугольное меню, затем нажмите кнопку настроек рядом с пунктом «Повернуть», чтобы открыть диалоговое окно «Преобразование ввода». Введите нужный угол поворота.
  • Щелкните правой кнопкой мыши переключатель «Угловая привязка», затем в диалоговом окне «Параметры сетки и привязки» перейдите на вкладку «Параметры». Установите значение угла в группе «Общие» на точный угол поворота, который вам нужен, затем поверните объект. Поворот привязывается к указанному вами приращению угла.

Интерфейс

Шаг угла задается на панели «Параметры» диалогового окна «Параметры сетки и привязки». Щелкните правой кнопкой мыши кнопку «Переключение угловой привязки», чтобы отобразить панель «Параметры» диалогового окна «Параметры сетки и привязки». По умолчанию 5 градусов.

Сейчас мне действительно плохо. Я не могу найти простой ярлык в своих руководствах по max 2010 или небольшой скрипт с кнопкой для поворота объекта или выделения на 90 градусов.

В большинстве случаев я использую клавишу "r" для поворота с помощью мыши, но я хотел бы иметь простой ярлык для выполнения этой работы, чтобы я мог сохранить ручное вращение.

Он должен быть там!

Ответы

Вы можете активировать "Переключение угловой привязки" и установить его на 90° или использовать команду maxscript

повернуть $ (угол оси 10 [1,0,0])

поворот текущего выделения ($) на 10° вокруг оси x (1,0,0) ~ (x,y,z)

Но я понятия не имею, как связать строки сценария с клавишей или чем-то подобным.

Я просто хотел бы нажать клавишу, и объект повернется на 90°, нажать еще раз, и он снова повернется на 90°.

Главное меню > MaxScript > Новый скрипт
macroScript MyRotateScript -- это имя скрипта, которое будет сохранено при запуске.
category:"MyTools" < i> -- Это будет категория, которая отображается в меню "Настройка" > "Настройка пользовательского интерфейса".
buttonText:"MyRot" -- это текст, который будет отображаться на кнопке, если вы когда-либо назначали его кнопке.
toolTip:"Поворачивает текущий выбор" --это текст, который всплывает, если вы наводите курсор на кнопку.

rotate $ (angleaxis 10 [1,0,0]) -- поворачивает текущее выделение ($) на 10° вокруг оси x (1,0,0) ~ (x,y,z)

Сохраните скрипт, неважно где, при его запуске или оценке (ctrl E) скрипт будет воссоздан внутри в течение макс.
Запустите или оцените скрипт, как только он появится в меню «Настройка» > «Настроить пользовательский интерфейс».
Оттуда вы можете назначить его сочетанию клавиш.

Вместо этого используйте набор инструментов преобразования, меню «Правка» -> «Панель инструментов преобразования». Вы можете установить количество градусов для поворота, а также привязать кнопку поворота к горячей клавише, если это необходимо.

ttoolbox.jpg

jimpaw

Сейчас мне действительно плохо. Я не могу найти простой ярлык в своих руководствах по max 2010 или небольшой скрипт с кнопкой для поворота объекта или выделения на 90 градусов.

В большинстве случаев я использую клавишу "r" для поворота с помощью мыши, но я хотел бы иметь простой ярлык для выполнения этой работы, чтобы я мог сохранить ручное вращение.

Он должен быть там!


Я работаю в максе, потому что индустрия хочет, чтобы я работал, вам стоит попробовать блендер. он имеет много интересных функций для быстрого моделирования. 3dsmax действительно бесполезен, когда дело касается скорости.

ищите "Повернуть против часовой стрелки" или "Повернуть по часовой стрелке" в разделе "Настройка" > "Настройка пользовательского интерфейса" > "Клавиатура" .

Он поворачивает объект на 45 градусов перпендикулярно текущему виду. Итак, на виде сверху он вращается вокруг оси Z. В пользовательском представлении это зависит от того, под каким углом вы смотрите на объект.

Иногда в панели инструментов возникают ошибки. Если я когда-нибудь попытаюсь щелкнуть, я получу только небольшую «полосу», например, если я попытаюсь переместить пользовательский интерфейс. Очень странно, но я думаю, что это Autodesk..
Может быть, я тоже попробую одно из других решений здесь..

Jimpaw: Я думаю, что Blender заставит меня красть старые бабки из-за его пользовательского интерфейса.
Я знаю, что будет какой-то новый пользовательский интерфейс, но я только бегло посмотрел.


Инструменты иногда немного глючат. Если я когда-нибудь попытаюсь щелкнуть, я получу только небольшую «полосу», например, если я попытаюсь переместить пользовательский интерфейс. Очень странно, но я думаю, это Autodesk..
Может быть, я попробую еще одно из других решений здесь..


Да, иногда кнопки глючат, если вы перемещаете панель инструментов из положения по умолчанию на экране. Но это легко исправить, вам просто нужно закрыть его, затем открыть снова, и с этого момента он будет нормально работать до конца вашего сеанса Max. И мне нравится маленькая кнопка «сброс xform», а также кнопки выравнивания поворота. Очень полезный набор инструментов!

WarrenM

Хорошо, я привязал команду RotateCW к клавише, но у меня по умолчанию поворот на 90 градусов вокруг оси обзора, и я хотел бы изменить это значение на 45 или даже 15. Есть ли место где-нибудь в Max, где это настройка сохраняется? 90 имеет ограниченное значение.

monster

Похоже, он жестко запрограммирован на 90 градусов или 30, если нажата клавиша Shift.

Вы можете создать свою собственную горячую клавишу, как объяснил Марк выше, изменить команду поворота на команду экранного пространства и использовать любое значение, которое вы хотите.

На этой странице представлена ​​информация о карте рандомизатора UVW.

Обзор

Карта VRayUVWRandomizer позволяет применять случайное смещение, поворот и масштабирование к текстурам, назначенным одному объекту с разными идентификаторами лица или разным объектам. Его можно использовать в качестве источника сопоставления только для текстурных узлов VRayBitmap и VRayTriplanarTex.

На изображении, показанном здесь, для параметра "Случайный порядок" задан тип "По идентификатору объекта".


< /p>

В этом примере для режима Рандомизации установлено значение По идентификатору объекта, что означает, что идентификатор объекта учитывается при масштабировании текстуры. Текстура масштабируется по шкале U, дисперсия которой находится в диапазоне от 20% до 100%.

||Окно редактора материалов|| > Обозреватель материалов/карт > Карты > V-Ray > VRayUVWRandomizer


< /p>

Основные параметры

Seed – изменяет шаблон рандомизации.

Случайный порядок – определяет значение параметров идентификатора.

По имени — создает индекс цвета на основе имени узла, к которому применяется текстура. Это позволяет цвету оставаться согласованным, если объект объединен с другой сценой или подвергнут X-Ref'у и т. д.;
По элементу — назначает случайные цвета на основе ID элемента (например, крышки чайника и т. д.) объекта. ;
По идентификатору лица — учитывает идентификаторы лица объекта при передаче данных (цвета или текстуры) в материал;
По идентификатору экземпляра — назначает случайные цвета на основе идентификатора экземпляра (работает для экземпляров Alembic и VRayInstancer). исходные объекты);
По идентификатору частицы — назначает случайные цвета на основе идентификатора частицы (работает для исходных объектов VRayInstancer и Thinking Particles);
По идентификатору рендеринга — назначает случайный цвет на основе идентификатора рендеринга;
по объекту Идентификатор — учитывает идентификаторы объекта при передаче данных (цвета или текстуры) в материал;
По дескриптору узла — каждому узлу в 3ds Max присваивается уникальный номер (дескриптор) при его создании. Этот параметр генерирует индекс цвета на основе этого идентификатора узла. Это полезно, потому что дескриптор узла сохраняется при редактировании сцены, например. если вы добавляете/удаляете другие объекты или переименовываете их, вы все равно получаете те же цвета.
Стохастическая мозаика — изменяет сопоставление на основе мозаики UV.

Если режим рандомизации не выбран (т. е. флажки пусты), UV-преобразования не выполняются, независимо от значений дисперсии и поворота UV.

Смешение плиток — смешивание краев между соседними плитками при использовании стохастического режима плитки. См. пример ниже.

Дисперсия — минимальный и максимальный диапазон, в котором применяются параметры масштаба, смещения и поворота.

Шаг — указывает количество шагов, за которое достигается интервал отклонения. Например, если UV-вращение установлено от 0 до 360 с шагом 5, текстура поворачивается на угол, кратный 72 градусам (например, 72, 144 , 216...).

Смещение U/V. Управляет положением текстуры по оси U или V.

UV-вращение — поворачивает текстуру по оси U или V.

Читайте также: