Ru/Physics Box Model in Milkshape3D: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (fix)
m (Multipage removal)
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar}}
|title=Создание физбокса в Milkshape3D
}}


[[Image:Final_PyshBox_MS3d.png|right|250px|thumb| Финальный вариант ФизБокса]]
 
[[File:Final_PyshBox_MS3d.png|right|250px|thumb| Финальный вариант физических габаритов]]


Бывают такие моменты, когда под рукой может не оказаться 3DS Max или Maya, а есть только какой-нибудь простенький 3D редактор. Конечно не обязательно создавать его в редакторе, можно просто за основу взять оригинальную модель, но физическая модель может получиться не правильной.
Бывают такие моменты, когда под рукой может не оказаться 3DS Max или Maya, а есть только какой-нибудь простенький 3D редактор. Конечно не обязательно создавать его в редакторе, можно просто за основу взять оригинальную модель, но физическая модель может получиться не правильной.


В данном уроке подробно описано создание физбокса в программе [[MilkShape_3D|MilkShape 3D]]. На самом деле, по этому принципу можно создавать его абсолютно в любом редакторе.
В данном уроке подробно описано создание физических габаритов в программе {{L|MilkShape_3D|MilkShape 3D}}. На самом деле, по этому принципу можно создавать его абсолютно в любом редакторе.


{{Note|Этот урок рассчитан на новичков в 3D моделирование. Вся статья крайне подробно расписана.}}
{{Note|Этот урок рассчитан на новичков в 3D моделирование. Вся статья крайне подробно расписана.}}


== Что такое ФизБокс? ==
== Что такое физические габариты? ==


Что такое физбокс? '''Это упрощённая, грубая, 3D модель, которую движок воспринимает как физическую оболочку оригинальной модели.''' Подробнее написано в статье [[Physics_and_Ragdolls|Physics and Ragdolls]]. Там говориться почему движок не может воспринимать оригинальную модель как физическую оболочку.
Что такое физические габариты? '''Это упрощённая, грубая, 3D модель, которую платформа воспринимает как физическую оболочку оригинальной модели.''' Подробнее написано в статье {{L|Physics_and_Ragdolls|Physics and Ragdolls}}. Там говориться почему движок не может воспринимать оригинальную модель как физическую оболочку.


== Требования ==
== Требования ==


* [[MilkShape_3D|MilkShape 3D]].
* {{L|MilkShape_3D|MilkShape 3D}}.
* Исходная модель.
* Исходная модель.
* Минимальные знания компиляции моделей.
* Минимальные знания компиляции моделей.


== Создание ФизБокса ==
== Создание физических габаритов ==


Первым делом запускаем программу, и в меню загружаем нашу модель в '''.smd''' формате: '''File -> Import -> Half-Life SMD...'''
Первым делом запускаем программу, и в меню загружаем нашу модель в '''.smd''' формате: '''File -> Import -> Half-Life SMD...'''
Line 37: Line 36:
Как только мы подгоним наш первый бокс, перейдём в вкладку '''Groups''' и там два раза нажмём на '''Box01 < No Material >''' после этого наш бокс выделиться. Далее снова перейдём в вкладку '''Model''' и выбираем инструмент '''Move'''. Теперь нажмите на клавиатуре '''Ctrl + D''' это сочетание клавиш выполняет команду '''Edit - > Duplicate Selection''' т.е. копирует то, что мы выделили. После нажатия этих клавиш с двигайте дублированную коробку в бок. И подгоняйте вершины снова.
Как только мы подгоним наш первый бокс, перейдём в вкладку '''Groups''' и там два раза нажмём на '''Box01 < No Material >''' после этого наш бокс выделиться. Далее снова перейдём в вкладку '''Model''' и выбираем инструмент '''Move'''. Теперь нажмите на клавиатуре '''Ctrl + D''' это сочетание клавиш выполняет команду '''Edit - > Duplicate Selection''' т.е. копирует то, что мы выделили. После нажатия этих клавиш с двигайте дублированную коробку в бок. И подгоняйте вершины снова.


[[File:Creating PhysBoxs 1.PNG|600px| Создание ФизБокса]]
[[File:Creating PhysBoxs 1.PNG|600px| Создание физического габарита]]


Таким образом, вы должны покрыть всю вашу модель так, как вам требуется. При этом, лучше сделать так, чтобы оригинальная модель не вылазила из нашего будущего Физбокса. Т.е. нужно подогнать их таким образом, чтобы они были прям впритык к нашей оригинальной модели.
Таким образом, вы должны покрыть всю вашу модель так, как вам требуется. При этом, лучше сделать так, чтобы оригинальная модель не вылазила из наших будущих физиеских габаритов. Т.е. нужно подогнать их таким образом, чтобы они были прям впритык к нашей оригинальной модели.
У вас должно получиться вот так:
У вас должно получиться вот так:


[[File:2.PNG|600px| Создание ФизБокса]]
[[File:2.PNG|600px| Создание физического габарита]]


На этом наш физ бокс закончен. Осталось настроить нашу модель.
На этом наши физические гатариты закончены. Осталось настроить нашу модель.


== Настройки ФизБокса ==
== Настройки физических габаритов ==


Чтобы компилятор правильно сделал нашу модель, нам нужно задать специальные параметры для нашей модели.
Чтобы компилятор правильно сделал нашу модель, нам нужно задать специальные параметры для нашей модели.


Первым делом нам нужно удалить нашу оригинальную модель. Но! Вы должны знать к какой кости она привязана. Для этого перейдите во вкладку '''Joints''' и выделите какую-нибудь кость, затем нажмите на '''SetAssigned''' (Действие 2 на фото) т.е. выделить те вершины, которые относящиеся к этой кости. Таким образом найдите ту кость, к которой прикреплена оригинальная модель. Запомните название этой кости, и нажмите на клавиатуре клавишу '''Delete'''. Зачем? Ну как зачем... мы удалили нашу оригинальную модель, она нам больше ненужна.
Первым делом нам нужно удалить нашу оригинальную модель. Но! Вы должны знать к какой кости она привязана. Для этого перейдите во вкладку '''Joints''' и выделите какую-нибудь кость, затем нажмите на '''SetAssigned''' (Действие 2 на фото) т.е. выделить те вершины, которые относящиеся к этой кости. Таким образом найдите ту кость, к которой прикреплена оригинальная модель. Запомните название этой кости, и нажмите на клавиатуре клавишу '''Delete'''. Тем самым мы удаляем оригинальную модель


[[File:SetAssigns Vertex ms3d.PNG]]
[[File:SetAssigns Vertex ms3d.PNG]]


   
   
Далее выделяем все созданные группы боксов. Вы можете сделать это в вкладке '''Groups''' выделяя все созданные нами объекты. Или просто с помощью инструмента '''Select'''  как показанно на картинке ниже:
Далее выделяем все созданные группы боксов. Вы можете сделать это в вкладке '''Groups''', выделяя все созданные нами объекты. Или просто с помощью инструмента '''Select'''  как показанно на картинке ниже:


[[File:Select Group ms3d.PNG| Выделяем наши физбоксы]]
[[File:Select Group ms3d.PNG| Выделяем наши физические габариты]]


Следующим шагом будет прикрепление текстуры. Компилятор не скомпилирует модель без текстуры.
Следующим шагом будет прикрепление текстуры. Компилятор не скомпилирует модель без текстуры.
Line 69: Line 68:




Для правильной работы Физбокса, компилятору нужно, чтобы у наших боксов была '''группа сглаживания 1'''. Другие группы он просто игнорирует. Давайте посмотрим, что у нас относиться к 1 группе сглаживания. Выполните действия 1 и 2 с фото:
Для правильной работы физических габаритов, компилятору нужно, чтобы у наших габаритов была '''группа сглаживания 1'''. Другие группы он просто игнорирует. Давайте посмотрим, что у нас относиться к 1 группе сглаживания. Выполните действия 1 и 2 с фото:


[[File:Wrong group smooth.PNG]]
[[File:Wrong group smooth.PNG]]
Line 95: Line 94:
Вылетит ещё одно окошко: '''SMD Export''' параметры экспорта. Выбираем '''Reference''' т.е. оболочку а не анимацию и жмём '''ОК'''.
Вылетит ещё одно окошко: '''SMD Export''' параметры экспорта. Выбираем '''Reference''' т.е. оболочку а не анимацию и жмём '''ОК'''.


== Компиляция модели с Физбоксом ==
== Компиляция модели с физическими габаритами ==


Пред последим шагом к созданию Физбокса является компиляция оригинальной модели вместе с ним. Почему предпоследним? Ну вдруг ваш физбокс получится "корявым", тогда его придётся исправлять. Но об этом дальше.
Пред последим шагом к созданию физических габаритов является компиляция оригинальной модели вместе с ними. Почему предпоследним? Ну вдруг ваши физические габариты получится "корявым", тогда их придётся исправлять. Но об этом дальше.


И так, откройте ваш .qc файл и добавьте в самый конец следующие строки:
И так, откройте ваш .qc файл и добавьте в самый конец следующие строки:
Line 106: Line 105:


{
{
     $concave // Важный параметр, позволяет компилятору делать физбокс не сплошным, а как бы выпуклым.
     $concave // Важный параметр, позволяет компилятору делать физические габариты не сплошным, а как бы выпуклым.
     $mass 1.4 // Масса нашего предмета
     $mass 1.4 // Масса нашего предмета
}
}
</source>
</source>


[[QC_command:ru|Подробнее о QC командах.]]
{{LCategory|QC Commands|Подробнее о QC командах.}}




Line 118: Line 117:
[[File:Final_PyshBox_MS3d.png]]
[[File:Final_PyshBox_MS3d.png]]


== Исправление модели Физбокса ==
== Исправление модели физических габаритов ==


Иногда получается так, что созданный вами физбокс выглядит вот так:
Иногда получается так, что созданные Вами физические габариты выглядят вот так:


[[File:Wrong PhysBox.PNG]]
[[File:Wrong PhysBox.PNG]]
Line 126: Line 125:
Приглядитесь, ведите у него есть пропуски, он получился каким-то обрызганным. Это получается из-за того, что наши боксы или размещены не правильно, или имеют слишком маленькую ширину. Исправляем это путём :
Приглядитесь, ведите у него есть пропуски, он получился каким-то обрызганным. Это получается из-за того, что наши боксы или размещены не правильно, или имеют слишком маленькую ширину. Исправляем это путём :
* '''Изменение ширины.''' (Действие 1 на фото)
* '''Изменение ширины.''' (Действие 1 на фото)
* '''Перемещение вершин боксов.''' (Действие 2 на фото)
* '''Перемещение вершин кубов.''' (Действие 2 на фото)


[[File:Fix Phys-Boxs.PNG]]
[[File:Fix Phys-Boxs.PNG]]




В конечном итоге у вас получиться правильный физ бокс.
В конечном итоге у Вас получатся правильные физические габариты.


Удачи в моделирование!!!
Удачи в моделирование!!!
Line 138: Line 137:


'''
'''
[[Category:Modeling]]

Latest revision as of 08:49, 12 July 2024

English (en)Русский (ru)Translate (Translate)


Финальный вариант физических габаритов

Бывают такие моменты, когда под рукой может не оказаться 3DS Max или Maya, а есть только какой-нибудь простенький 3D редактор. Конечно не обязательно создавать его в редакторе, можно просто за основу взять оригинальную модель, но физическая модель может получиться не правильной.

В данном уроке подробно описано создание физических габаритов в программе MilkShape 3D(en). На самом деле, по этому принципу можно создавать его абсолютно в любом редакторе.

Note.pngПримечание:Этот урок рассчитан на новичков в 3D моделирование. Вся статья крайне подробно расписана.

Что такое физические габариты?

Что такое физические габариты? Это упрощённая, грубая, 3D модель, которую платформа воспринимает как физическую оболочку оригинальной модели. Подробнее написано в статье Physics and Ragdolls(en). Там говориться почему движок не может воспринимать оригинальную модель как физическую оболочку.

Требования

  • MilkShape 3D(en).
  • Исходная модель.
  • Минимальные знания компиляции моделей.

Создание физических габаритов

Первым делом запускаем программу, и в меню загружаем нашу модель в .smd формате: File -> Import -> Half-Life SMD...

При этом вылетит окошко SMD Import. Это параметры загрузки нашей модели. Важно чтобы все три галочки были отмечены, если какая-то не отмечена, то поставьте её и нажмите ОК.


Или если у нас модель в .ms3d формате, то: File -> Open и выбираем нашу модель.


После загрузки нашей модели, в правой части, в вкладке Model выбираем Box.Это параметр создания простого бокса. Далее примерно по модели мы строим первый бокс.

Выбираем инструмент Select и подгоняем наши вершины примерно по модели. (Важно чтобы галочка Ignore Backfaces была снята, потому-что с этим параметром противоположная точка не будет выделяться). Передвижение точек и т.п. осуществляется с помощью инструмента Move.

Как только мы подгоним наш первый бокс, перейдём в вкладку Groups и там два раза нажмём на Box01 < No Material > после этого наш бокс выделиться. Далее снова перейдём в вкладку Model и выбираем инструмент Move. Теперь нажмите на клавиатуре Ctrl + D это сочетание клавиш выполняет команду Edit - > Duplicate Selection т.е. копирует то, что мы выделили. После нажатия этих клавиш с двигайте дублированную коробку в бок. И подгоняйте вершины снова.

Создание физического габарита

Таким образом, вы должны покрыть всю вашу модель так, как вам требуется. При этом, лучше сделать так, чтобы оригинальная модель не вылазила из наших будущих физиеских габаритов. Т.е. нужно подогнать их таким образом, чтобы они были прям впритык к нашей оригинальной модели. У вас должно получиться вот так:

Создание физического габарита

На этом наши физические гатариты закончены. Осталось настроить нашу модель.

Настройки физических габаритов

Чтобы компилятор правильно сделал нашу модель, нам нужно задать специальные параметры для нашей модели.

Первым делом нам нужно удалить нашу оригинальную модель. Но! Вы должны знать к какой кости она привязана. Для этого перейдите во вкладку Joints и выделите какую-нибудь кость, затем нажмите на SetAssigned (Действие 2 на фото) т.е. выделить те вершины, которые относящиеся к этой кости. Таким образом найдите ту кость, к которой прикреплена оригинальная модель. Запомните название этой кости, и нажмите на клавиатуре клавишу Delete. Тем самым мы удаляем оригинальную модель

SetAssigns Vertex ms3d.PNG


Далее выделяем все созданные группы боксов. Вы можете сделать это в вкладке Groups, выделяя все созданные нами объекты. Или просто с помощью инструмента Select как показанно на картинке ниже:

Выделяем наши физические габариты

Следующим шагом будет прикрепление текстуры. Компилятор не скомпилирует модель без текстуры.

И так, переходим в вкладку Materials выбираем текстуру и нажимаем кнопку Assign (Действие 3 на фото) т.е. применяем нашу текстуру к выделенной группе.

Texturing box ms3d.PNG

Или если у вас нету текстуры, то делаем действие 1 (на фото) т.е. создаём новую текстуру и затем действие 2 (на фото) т.е. выбираем текстуру.


Для правильной работы физических габаритов, компилятору нужно, чтобы у наших габаритов была группа сглаживания 1. Другие группы он просто игнорирует. Давайте посмотрим, что у нас относиться к 1 группе сглаживания. Выполните действия 1 и 2 с фото:

Wrong group smooth.PNG

Под цифрой 3 показано то, что у нас относиться к группе сглаживания 1. Это не верно... Выделиться должна была вся модель. И так, исправим это. Выполните действия с фото.

Fix Group Smooth.PNG

  • Действие 1 - Отчищаем все группы сглаживания. Они сбиваются на первую группу.
  • Действие 2 и 3 - Проверяем первую группу сглаживания.
  • Действие 4 - Выделяется вся модель. Это верно!


Последним шагом является привязка модели к кости. Перейдите во вкладку Joints и выберите ту кость, к которой была привязана оригинальная модель. (Не забывайте, что у вас должны быть выделены все наши боксы)Выполните действия 1 и 2 с фото:

SetAssigns Vertex ms3d.PNG

Вместо всех групп наших боксов должны выделиться их вершины. Всё верно? Вот и хорошо.

Далее экспортируем нашу модель в .smd. А именно: File -> Export -> Half-Life SMD

В вылетевшем окне выбираем папку сохранения с нашим .qc файлом, и вводим название, например: physical_model и нажимаем Сохранить

Вылетит ещё одно окошко: SMD Export параметры экспорта. Выбираем Reference т.е. оболочку а не анимацию и жмём ОК.

Компиляция модели с физическими габаритами

Пред последим шагом к созданию физических габаритов является компиляция оригинальной модели вместе с ними. Почему предпоследним? Ну вдруг ваши физические габариты получится "корявым", тогда их придётся исправлять. Но об этом дальше.

И так, откройте ваш .qc файл и добавьте в самый конец следующие строки:

$collisionmodel "w_kukuri_phy.smd" // Выбираем модель фибокса

{
    $concave // Важный параметр, позволяет компилятору делать физические габариты не сплошным, а как бы выпуклым.
    $mass 1.4 // Масса нашего предмета
}

Подробнее о QC командах.(en)


Всё, теперь компилируем модель, запускаем Model Viewer и смотрим что у нас получилось, предварительно поставив галочку, действие 1 на фото.

Final PyshBox MS3d.png

Исправление модели физических габаритов

Иногда получается так, что созданные Вами физические габариты выглядят вот так:

Wrong PhysBox.PNG

Приглядитесь, ведите у него есть пропуски, он получился каким-то обрызганным. Это получается из-за того, что наши боксы или размещены не правильно, или имеют слишком маленькую ширину. Исправляем это путём :

  • Изменение ширины. (Действие 1 на фото)
  • Перемещение вершин кубов. (Действие 2 на фото)

Fix Phys-Boxs.PNG


В конечном итоге у Вас получатся правильные физические габариты.

Удачи в моделирование!!!

Автор: --Slam12f 23:13, 17 May 2013 (PDT)