Здравствуйте. Вы находитесь на сайте Unreal Level. Данный ресурс посвящен редакторам карт игр серии Unreal, UT и Gears of War. Основная цель сайта , помочь всем желающим освоить любой из редакторов вышеперечисленных серий. Наибольшим приоритетом на этом сайте, обладает редактор UnrealED for Unreal Engine 3 и редактор движка Unreal Engine 3.5, входящий в комплект разработки UDK, поскольку это наиболее актуальная на сегодняшний день технология.
Using Prefabs
автор: FACH | 10 Июня 2010 | Просмотров: 3018

Автор: Джеймс Голдинг и Ричард Налезинский .

Перевод: FACH

Оригинал: Using Prefabs

 

Обзор

Prefab – Актер, связанный со скриптом, который может быть сохранен в пакете и поставлен на уровень.

Весьма часто, создавая уровень, Вам нужно создать некоторое сочетание Актеров, и затем многократно использовать это сочетание в том же самом или других уровнях. Примером мог бы быть факел, который состоит из статического меша, света и системы частиц. Prefab позволяет Вам создавать такую коллекцию, и затем сохранять ее в пакете как Prefab. Вы можете выбрать Prefab в Главном Браузере, и добавлять его несколько раз на уровень.

Особенность  Prefab в Unreal Engine 3 - то, что Вы можете вернуться и обновить Prefab, и те изменения, которые будут изменены, применятся ко всем экземплярам класса этого Prefab. Например, предположим, что у Вас есть Prefab, который содержит желтый источник света, и Вам нужен еще Prefab с зеленым светом, только чтобы остальные имели все еще желтый свет (для этого просто меняете цвет и не сохраняете Prefab). Вы можете изменять, или даже удалять, части заранее приготовленного Prefab, чтобы использовать его по-разному, но также можно и обновить Prefab.

Типовые Prefab также поддерживает последовательности Кисмет. В приведенном выше примере, Вы можете добавить сценарий Кисмет, например, чтобы Вы могли потушить факел особым оружием. Вручную уйдет очень много времени - создавать каждый факел с соответствующей последовательностью в Кисмет; но очень просто сделать с Prefab.

 

Создаем Prefab

 

Чтобы создать Prefab, первое, что Вам нужно сделать - собрать нужных актеров на сцене. Затем, выбрав их всех, щелкните правой кнопкой мыши и выберите «Create Prefab» из контекстного меню. Вам будет предложено ввести имя пакета, дополнительно имя группы, и имя нового Prefab. Далее Вас спросит, хотите ли Вы заменить выбранные Актеры на Prefab? Появится большой актер Prefab, который будет состоять из всех выбранных объектов .

 

Теперь Вы сможете видеть новый Prefab в Главном браузере . Prefab отображаться в виде миниатюр показывая Prefab на уровне, когда Вы его создавали. Взята позиция камеры в окне перспективы редактора, когда Prefab был создан, так что стоит найти лучший вид на объекты, прежде чем создавать Prefab.

 

 

alt

 

 

Размещение Prefab Instance (составные части Prefab)

 

Чтобы разместить Prefab Instance, просто выберите его в Главном браузере, щелкните правой кнопкой мыши на сцене и выберите Add Prefab:. Он должен появиться в уровне. Вы будете также видеть, что ко всем экземплярам класса Prefab привязан Агент PrefabInstance. Он похож на красный значок P в квадрате (P^2 J ),  и представляет начало координат Prefab.

 

alt
 

Это используется для того, чтобы следить за Prefab, за Актерами, которые используется в этом Prefab.

 

Когда Вы создаете Prefab, информация между Актерами в пределах Prefab сохраняется. Так, если Вы прикрепили Актера на другого Актера в Prefab,он будет добавлен каждый раз, когда Вы помещаете Prefab. Соответственно, любой Актер не связанный с Prefab не будет добавляться.


Редактирование Prefab

 

По умолчанию, при выборе любого актера, входящего в Prefab, выбирается все его составные части. Это делает работу с Prefab, так как Вы можете перемещать его как единое целое. Тем не менее, иногда нужно изменить один, составляющий Prefab, Актер. Для этого отожмите кнопку Lock Prefab на верхней панели, которая выглядит как буква P.

 

 

Обновление Prefab

 

Prefab сохраняется после того, как Вы создали его, изменяя составляющую часть Prefab, для сохранения нужно нажать ПКМ на Агент PrefabInstance и выбрать Update Prefab From This Instance. Скопируются свойства выбранной и измененной части для Prefab. После, изменятся все эти измененные части Prefab на уровне. Если Вы удалили Актера, составляющий Prefab, то после обновления Prefab, все Prefab будут без этого Актера. Если Вы желаете добавить нового Актера к Prefab, выберите PrefabInstance и любой Актер, который  желаете добавить, и обновите. Этот Актер будет добавлен к Prefab. Также обновится миниатюра Prefab, когда Вы обновляете Prefab.

 

Как отмечено выше, если Вы измените свойство актера или удалитедобавите, составляющее Prefab, то ни чего не изменится, пока Prefab не будет обновлен. BSP и Объемы (Volumes) не будут работать, хотя всегда будут копироваться с Prefab.

 

Когда Вы открываете карту, которая содержит Prefab, который был обновлен, так как карта была сохранена, она автоматически обновит все составляющие части того Prefab в карте и покажет Вам это окно(???):

 

 

alt


Добавляем последовательности Кисмет в Prefab

 

Prefab могут содержать созданные сценарии Кисмет. Когда Вы создаете или обновляете Prefab, он проверяет последовательности уровня, на Актеров в данном Prefab. Он будет искать  последовательность в иерархии, которая содержит все Актеры, т.е. он может выбрать самую высшую последовательность и затем спросит - эта та Последовательность, для этого Prefab:

 

alt

 

Если Вы отвечаете «Да», он выполнит дополнительную проверку, что нет никакой информации в пределах этой Последовательности на Актеров, которые не входит в Prefab. Если лишнее есть, то отобразится предупреждение и Последовательность не будет включена в Prefab.

 

Когда Вы помещаете Prefab на уровень, который содержит последовательность Кисмет, будет создана подпоследовательность Кисмет от верхнего уровня под названием «Prefab». И у каждого класса Prefab в уровне, будет своя собственная копия связанной последовательности Кисмет. Когда Prefab обновлен, последовательность Кисмет для каждого Prefab полностью заменяется на последовательность Кисмет сохраняемого Prefab.

 

Советы по Prefab

 

При выборе актера, который является частью Prefab, Вы можете нажать Shift-P, чтобы выбрать всех Актеров, которые являются частью этого Prefab. Вы также можете сделать это, выбрав в контекстном меню PrefabInstance «Select All Actors In Prefab(s)» вариант.

Если Вы хотите преобразовать выбранный Prefab в простые Актеры, т.е. изменения в Prefab не будут влиять их больше, нужно выбрать из контекстного меню PrefabInstance «Convert PrefabInstance To Normal Actors».

В PrefabInstance, Вы можете выбрать «Open Sequence For PrefabInstance In Kismet», чтобы открыть Кисмет и прямо в последовательности этого Prefab.

Чтобы полностью сбросить изменения в выбранном Prefab (то есть, удалить всех Актеров и заменить на новый Prefab), можно нажать ПКМ на PrefabInstance и выбирать «Reset Instance From Prefab».

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

#1 написал: alexut
10 Июня 2010 23:55 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 12.12.2009
Крутой тутор!


--------------------
Публикаций: 0 | Комментариев: 46      
#2 написал: stass
11 Июня 2010 00:43 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 9.11.2009
ура хоть штото новое,спасибо!!! smile
Публикаций: 0 | Комментариев: 7      
#3 написал: FACH
11 Июня 2010 00:54 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
Сайт не загнется пока я жив!


--------------------
Публикаций: 134 | Комментариев: 778      
#4 написал: AlbertWesker
11 Июня 2010 09:07 | ICQ: Не Указано |


Группа: Гости
Регистрация: Не Указано
Вот лучший сайт с туторами :) когда есть время и желание - читаю с него, когда неохота мучаться с английским - лезу сюда
Публикаций: 0 | Комментариев: 0      
#5 написал: FACH
11 Июня 2010 11:05 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
А ты в курсе, что я с того сайта туторы и перевожу?


--------------------
Публикаций: 134 | Комментариев: 778      
#6 написал: ScorpyX
15 Июня 2010 19:31 | ICQ: 333879808 |


Группа: Активист
Регистрация: 13.08.2009
отлично
это полезно


--------------------
Публикаций: 0 | Комментариев: 45      
#7 написал: ogasoda
20 Июня 2010 08:53 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 1.04.2010
Рад, что сайт не загнулся ))) Привет конкурентам!!!
Хотя я не думаю, что мы конкуренты, бо занимаемся одним полезным делом - несем людям свет знаний об UDK

Многим обязан форуму и статьям с этого сайта. Респект )))
Публикаций: 0 | Комментариев: 3      
#8 написал: lentinant
10 Мая 2012 22:07 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 3.05.2012
А что насчет добавления скрипта к префабу? На UDN не нашел инфы.
Публикаций: 0 | Комментариев: 4      
#9 написал: FACH
10 Мая 2012 23:31 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
Можно добавить свою скриптовую ноду в кизмет


--------------------
Публикаций: 134 | Комментариев: 778      
Информация
Посетители, находящиеся в группе Гости, не могут оставлять Комментарии в данной новости...






При копировании материалов, активная ссылка на UNREAL-LEVEL.RU обязательна!
© 2008—2012, UNREAL-LEVEL.RU. Все права защищены.