Разрушаемая растительность
Материал из CryWiki Russia
(→Общая установка в 3d приложениях) |
DCamer (Обсуждение | вклад) (Викификация. Не правильное определение категории) |
||
(8 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | + | {{Статья | |
- | + | |автор=AndreyFilantrop | |
- | + | |сложность=Средняя | |
- | + | |совместимости=Все | |
- | + | |требования=Crysis Mod SDK 1.2; Sandbox 2; 3ds Max | |
- | + | |добавлена=26/02/11 | |
- | + | }} | |
+ | == Процедуральная разрушаемая растительность == | ||
== Введение == | == Введение == | ||
- | |||
Базовая технология физики достаточно универсальна для того, чтобы быть использованной при разрушении множества разных объектов, а не только стволов деревьев. Это скорее вопрос настройки ресурсов. Для примера, однако, ниже я остановлюсь на стволах деревьев. | Базовая технология физики достаточно универсальна для того, чтобы быть использованной при разрушении множества разных объектов, а не только стволов деревьев. Это скорее вопрос настройки ресурсов. Для примера, однако, ниже я остановлюсь на стволах деревьев. | ||
- | == Общий вид объектов == | + | == Общий вид объектов и образцы == |
- | Предполагается, что на момент прочтения этой статьи у вас уже имеется готовый растительный | + | Предполагается, что на момент прочтения этой статьи у вас уже имеется готовый растительный объект — дерево. Например как банановое дерево на картинке ниже: |
'''Просто банан:''' | '''Просто банан:''' | ||
Строка 21: | Строка 21: | ||
[[Файл:AssetCreation BreakableVegetation explosion shape.jpg]] | [[Файл:AssetCreation BreakableVegetation explosion shape.jpg]] | ||
+ | |||
+ | === Образцы === | ||
+ | * [[Файл:Samples.rar]] | ||
== Общая установка в 3d приложениях == | == Общая установка в 3d приложениях == | ||
- | |||
Для материала ствола (в нашем случае '''Просто банана'''), установите галочку в позицию '''«Physicalize»''' в редакторе материалов '''Material Editor'''. Параметр физики установите в позицию '''«default»'''. | Для материала ствола (в нашем случае '''Просто банана'''), установите галочку в позицию '''«Physicalize»''' в редакторе материалов '''Material Editor'''. Параметр физики установите в позицию '''«default»'''. | ||
Строка 30: | Строка 32: | ||
[[Файл:AssetCreation BreakableVegetation physicalize.jpg]] | [[Файл:AssetCreation BreakableVegetation physicalize.jpg]] | ||
- | Важно: Удалите любые физические объекты с '''прокси''' с тех частей, которые вы хотите сделать разрушаемыми (например: ствол '''Просто банана''') | + | Важно: Удалите любые физические объекты с '''прокси''' с тех частей, которые вы хотите сделать разрушаемыми (например: ствол '''Просто банана''') Сам ствол дерева должен быть замкнутым элементом. |
- | Далее создайте заранее предопределённый | + | Далее создайте заранее предопределённый объект — это должен быть отдельный '''cgf''' файл, который используется для образования '''«шапки»''', то есть закрытия концов разрушенных частей. Этот объект нарисован на картинке выше под названием «'''Разрушенная часть ствола:'''» |
+ | |||
+ | Советы: | ||
+ | |||
+ | # Не делайте ствол растения слишком толстым — он будет расщепляться на части, которые не будут падать на землю, а висеть в воздухе. | ||
+ | # Чтобы листва падала вместе с верхним кончиком растения а не висела в воздухе, их размещение относительно ствола на самом деле не играет роли, то есть они могут пересекать, а могут и не пересекать ствол (по крайней мере я пробовал по разному — и одинаково работало нормально). | ||
+ | # Для упрощения создания разрушаемого объекта для начала можно использовать оригинальный файл из архива — при экспорте он работает отлично (проверено автором статьи). | ||
== Установка в редакторе Sandbox Editor == | == Установка в редакторе Sandbox Editor == | ||
- | + | # В редакторе материалов в '''Sandbox Material Editor''' материал поверхности ствола должен быть установлен на '''«mat_wood_breakable»''' . | |
- | + | # '''Surfacetype''' — тип поверхности — указывает этой '''«шапке»''' закрывать концы обломанных частей. Расположение и имя '''«шапки»''' хранятся в скрипте '''surfacetype'''. | |
- | + | # Разрушаемые деревья должны быть установлены при помощи инструмента '''Vegetation'''. | |
- | + | ||
=== Отладка === | === Отладка === | ||
- | |||
Примените достаточно силы для объекта чтобы разрушить его. В игре '''Crysis''' взрывы ракет гранатомёта или гранаты достаточны для проверки правильности функционирования вашего объекта. | Примените достаточно силы для объекта чтобы разрушить его. В игре '''Crysis''' взрывы ракет гранатомёта или гранаты достаточны для проверки правильности функционирования вашего объекта. | ||
- | + | Эта консольная команда может быть использована для отладки ваших ресурсов в редакторе: | |
- | *[[Реакция на прикосновение]] | + | ;p_draw_helpers 1: Показывает физикализированные сетки. |
- | *[[Настройка деревьев]] | + | Чтобы отключить её, замените 1 на 0 или вызовите ещё раз. |
- | *[[Использование инструмента Vegetation]] | + | |
+ | Когда появятся все прокси дерева (серого цвета) — вы увидите, что один прокси точно повторяет форму ствола дерева. Вопрос: откуда взялся этот прокси, если у вас кроме самого ствола ничего в этом месте нет? Ответ: это не отдельный прокси — а ваш ствол, который так отображается, потому что вы поставили галочку в его материале в 3d приложении в позицию '''«Physicalize»'''. Так и должно быть. | ||
+ | |||
+ | == См. также == | ||
+ | * [[Реакция на прикосновение]] | ||
+ | * [[Настройка деревьев]] | ||
+ | * [[Использование инструмента Vegetation]] | ||
- | + | [[Категория:Официальная документация:Создание ресурсов:Основы]] |
Текущая версия на 19:08, 10 марта 2012
|
Содержание |
Процедуральная разрушаемая растительность
Введение
Базовая технология физики достаточно универсальна для того, чтобы быть использованной при разрушении множества разных объектов, а не только стволов деревьев. Это скорее вопрос настройки ресурсов. Для примера, однако, ниже я остановлюсь на стволах деревьев.
Общий вид объектов и образцы
Предполагается, что на момент прочтения этой статьи у вас уже имеется готовый растительный объект — дерево. Например как банановое дерево на картинке ниже:
Просто банан:
Разрушенная часть ствола:
Образцы
Общая установка в 3d приложениях
Для материала ствола (в нашем случае Просто банана), установите галочку в позицию «Physicalize» в редакторе материалов Material Editor. Параметр физики установите в позицию «default».
Вот как должны выглядеть параметры шейдера:
Важно: Удалите любые физические объекты с прокси с тех частей, которые вы хотите сделать разрушаемыми (например: ствол Просто банана) Сам ствол дерева должен быть замкнутым элементом.
Далее создайте заранее предопределённый объект — это должен быть отдельный cgf файл, который используется для образования «шапки», то есть закрытия концов разрушенных частей. Этот объект нарисован на картинке выше под названием «Разрушенная часть ствола:»
Советы:
- Не делайте ствол растения слишком толстым — он будет расщепляться на части, которые не будут падать на землю, а висеть в воздухе.
- Чтобы листва падала вместе с верхним кончиком растения а не висела в воздухе, их размещение относительно ствола на самом деле не играет роли, то есть они могут пересекать, а могут и не пересекать ствол (по крайней мере я пробовал по разному — и одинаково работало нормально).
- Для упрощения создания разрушаемого объекта для начала можно использовать оригинальный файл из архива — при экспорте он работает отлично (проверено автором статьи).
Установка в редакторе Sandbox Editor
- В редакторе материалов в Sandbox Material Editor материал поверхности ствола должен быть установлен на «mat_wood_breakable» .
- Surfacetype — тип поверхности — указывает этой «шапке» закрывать концы обломанных частей. Расположение и имя «шапки» хранятся в скрипте surfacetype.
- Разрушаемые деревья должны быть установлены при помощи инструмента Vegetation.
Отладка
Примените достаточно силы для объекта чтобы разрушить его. В игре Crysis взрывы ракет гранатомёта или гранаты достаточны для проверки правильности функционирования вашего объекта.
Эта консольная команда может быть использована для отладки ваших ресурсов в редакторе:
- p_draw_helpers 1
- Показывает физикализированные сетки.
Чтобы отключить её, замените 1 на 0 или вызовите ещё раз.
Когда появятся все прокси дерева (серого цвета) — вы увидите, что один прокси точно повторяет форму ствола дерева. Вопрос: откуда взялся этот прокси, если у вас кроме самого ствола ничего в этом месте нет? Ответ: это не отдельный прокси — а ваш ствол, который так отображается, потому что вы поставили галочку в его материале в 3d приложении в позицию «Physicalize». Так и должно быть.