Difference between revisions of "Bethesda Tutorial Creating an Actor/ru"

no edit summary
imported>Vitamant
imported>Vitamant
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{PageTitle|Создание актеров}}
{{PageTitle|Создание персонажей}}


 
{{RussianPage|e}}
{{RussianPage|t}}
{{CreativeCommons/ru|[http://rumor.ru/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:HappyConsole HappyConsole], [http://rumor.ru/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Tiara Tiara]}}
{{CreativeCommons/ru|[http://rumor.ru/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:HappyConsole HappyConsole], [http://rumor.ru/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Tiara Tiara]}}


{{Tutorial Index/ru
{{Tutorial Index/ru
|titlename=Создание актеров
|titlename=Создание персонажей
|Prev=Bethesda_Tutorial_Planning_the_Quest/ru
|Prev=Bethesda_Tutorial_Planning_the_Quest/ru
|Next=Bethesda_Tutorial_Dialogue/ru
|Next=Bethesda_Tutorial_Dialogue/ru
Line 13: Line 12:
}}
}}


=Обзор=
=Краткий обзор=
В этой главе мы поговорим о том, как создать NPC в редакторе. Так же разработаем нейтрального (не предназначенного для боевых задачей) и вражеского персонажа.
В этой главе мы поговорим о том, как разрабатываются НИП (не игровые персонажи) в редакторе. Создадим одного нейтрального (не предназначенного для боевых задач) и одного враждебного.
<br/><br/>Вы узнаете:
<br/><br/>Вы узнаете:
* Как создать и настроить актера
* Как создать и настроить персонажа.
* Как разместить его на уровне
* Как разместить его в локации.
* Как сделать его враждебным
* Как сделать его враждебным.


=Актёр=
=Персонаж=
Так же, как и в предыдущих частях TES, актер - это игровой объект, который призван имитировать реальное поведение живого существа. Будь то собака, заяц, дракон или человек. Как раз последнего мы и будем рассматривать в данной части. Как и любой другой игровой объект игры, актеров можно настраивать. Подробнее дальше.
Так же, как и в предыдущих частях TES, персонаж - это игровой объект, который призван имитировать реальное поведение живого существа. Будь то собака, заяц, дракон или человек. Как раз последнего мы и будем рассматривать в данной главе. Как и любые игровые объекты, персонажей можно настраивать.


{{NewFeature|Если вы знакомы с предыдущими играми TES или Fallout, то должны были заметить, что в новом редактор существа и NPC были объединены в один класс - Actor, который дает вам гораздо больше гибкости в настойке их поведения.}}
{{NewFeature|Если вы знакомы с предыдущими играми TES или Fallout 3, то должны были заметить, что в новом редактор существа и НИП были объединены в один класс - Actor, который дает вам гораздо больше гибкости в настойке их поведения.}}


В окне Object Window раскройте пункт Actors -> Actor в списке категорий. Щелкните правой кнопкой мыши в списке, вам откроется контекстное меню. Теперь выберете "New".
В древе категорий окна Object Window разверните узлы Actors, Actor. ПКМ по списку справа и в контекстном меню выбирете "New".


=Создание Бенду Оло=
=Создание Бенду Оло=
На первый взгляд окно Actor кажется сложным, но на самом деле все просто. Сейчас нам потребуется только малая часть этих настроек.
В окне Actor еще больше всевозможных элементов, чем в окне Quest. Но не отчаивайтесь, как и прежде, все просто, главное - немного практики. Пока же мы рассмотрим небольшую часть настроек.


[[image:EmptyActor.png|700px|]]
[[image:EmptyActor.png|700px|]]


* '''ID:''' Как и в случае ID квеста, его значение должно быть уникальным. Дайте ему ID "GSQBenduOlo" (без кавычек). Обратите внимание, что идентификатор должен быть без пробелов или специальных символов.
* '''ID:''' Как было сказана ранее, это уникальный идентификатор, на этот раз - персонажа. Вводим "GSQBenduOlo" (без кавычек). Обратите внимание, идентификатор может содержать только латинские буквы и цифры, использование пробелов и каких-либо спец.символов запрещено.
* '''Name:''' Имя, которое будет отображаться игроку. "Бенду Оло" в нашем случае.
* '''Name:''' Отображаемое в игре имя. В нашем случае: "Бенду Оло".
* '''Short Name:''' Если кто-то знаком с этим персонажем, то он будет обращаться к нему более коротким именем. К этому мы вернемся немного позже. А сейчас просто назовем его "Бенду".
* '''Short Name:''' Знакомые с этим персонажем будут обращаться к нему по этому короткому имени (или прозвищу). Подробнее мы рассмотрим этот момент намного позже. Пока же введем "Бенду".
* '''Unique:''' Обязательно поставьте галочку напротив данного пункта. Это указывает на то, что копия NPC в мире должна быть одна, и только одна. Убедитесь, что галка отмечена.
* '''Unique:''' Данный флажок в отмеченном состоянии указывает, что данный персонаж уникален и может находиться в мире лишь в единственном экземпляре. Обязательно отмечаем.


Теперь перейдем во вкладку {{ulink|Traits_Tab_-_NPC|Traits tab}} и установим следующие параметры.
Во вкладке {{ulink|Traits_Tab_-_NPC|Traits}} (в правой части окна) установим следующие параметры:


* '''Race:''' Раса нашего актера. В нашем случае, он является Темным Эльфом, следовательно выберете "DarkElfRace".
* '''Race:''' Раса персонажа. В нашем случае, он является темным эльфом, следовательно выбираем "DarkElfRace".
* '''Voice Type:''' Тип актера. Определяет стандартный диалог и боевую систему. Нам требуется "MaleDarkElf".
* '''Voice Type:''' Тип голоса. Определяет базовый набор звуков издаваемых персонажем (н.п. крики в бою) и стандартных реплик. Нам требуется "MaleDarkElf".


[[Image:StartedActor.png|600px]]
[[Image:StartedActor.png|600px]]


{{InDepth|В большинстве случаев ID персонажей не начинается с идентификатора (префикса), потому что они часто используются в нескольких квестах. Поскольку Бенду может быть задействован не только в одном квесте, вы вполне можете в будущем использовать ID "BenduOlo".}}
{{InDepth|В большинстве случаев ID персонажей не начинается с идентификатора (префикса), потому что они часто используются в нескольких квестах. Поскольку Бенду может быть задействован не только в одном квесте, вы могли бы дать ему ID "BenduOlo". Но не будем этого делать, чтобы не создавать путаницы.}}


Наконец, переходим во вкладку {{ulink|Inventory tab|Inventory tab}} и даем Бенду Оло одежду, в противном случае он будет бегать в одних трусах.  
Наконец, переходим во вкладку {{ulink|Inventory tab|Inventory tab}} и даем Бенду Оло одежду, в противном случае он будет бегать в одних трусах.  


То, что будет носить персонаж, определяет его {{ulink|Outfit|снаряжение}}. В Скайриме уже есть ряд шикарных комплектов одежды, но вы можете сделать и свой собственный довольно легко. На данный момент лучше всего дать ему готовую фермерскую одежду со шляпой, выбрав "FarmClothesOutfit01WithHat" в выпадающем меню Default Outfit.
То, что будет носить персонаж, определяет его {{ulink|Outfit|снаряжение}}. В Скайриме уже есть ряд шикарных комплектов одежды, но вы можете сделать и свой собственный. На данный момент лучше всего дать ему готовую фермерскую одежду со шляпой, выбрав "FarmClothesOutfit01WithHat" в выпадающем меню Default Outfit.


[[Image:ActorInventory.png|400px]]
[[Image:ActorInventory.png|400px]]


Убедитесь, что нажали "OK" вместо "Отмена", ибо тогда ваша работа будет сброшена. Будьте внимательны с этим, потому что авторы других уроков не всегда будут напоминать вам об этом, так что мотайте на ус!
Убедитесь, что нажали "OK" вместо "Отмена", иначе все ваши труды пойдут насмарку. Будьте внимательны, авторы других уроков не всегда будут напоминать вам об этом!
 
{{WarningBox|В настоящий момент существует некоторая особенность: при экспорте персонажа не экспортируется его лицо (шрамы, макияж, оттенки и т.д.). В игре это можно исправить консольной командой "setnpcweight x" для нужного NPC, однако это лишь восстановит нормальный оттенок кожи, но не черты лица.
 
Лучшим выбором будет вручную экспортировать лица, для этого выберите персонажа в списке объектов и нажмите '''CTRL+F4'''.}}


=Placing the Actor=
=Размещение персонажа=
What we've done here is create the base object for the actor; to actually place him in the game, we'll need to create a reference for him. (If you're unfamiliar with the difference between a base object and a reference, see the callout box on [[Bethesda_Tutorial_Creation_Kit_Interface|this page]] labeled "Base Object vs Reference".)
Предыдущими действиями мы создали нового персонажа и указали некоторые характеристики. В игре он пока никак не задействован. Для исправления этого, нам нужно или вручную разместить его в окне Render Window, или иным образом создать на него ссылку. (Если вы не знаете чем прототип отличается от ссылки, обратите внимание на заметку на {{ulink|Bethesda_Tutorial_Creation_Kit_Interface|этой странице}}, помеченную как "Base Object vs Reference".)


We're going to place Bendu into an existing space. In Mixwater Mill, there's a house that used to have workers there, but has since been abandoned. Let's make it Bendu's home.  
Мы разместим нашего персонажа в уже существующем доме. К примеру возьмем заброшенный дом на лесопилке "Пирожок" и сделаем Бенду Оло его владельцем, ведь все равно там уже никто не живет.


Look at the [[Cell View Window|Cell View window]]. Make sure that the pulldown menu to the right of "World Space" says "Interiors," then select "MixwaterMillWorkersHouse" from the cell list. Double click to load it up.  
Посмотрите в {{ulink|Cell View Window|окно ячеек}} и убедитесь, что в выпадающем меню справа от "World Space" написано "Interiors" (интерьеры), а затем, найдя "MixwaterMillWorkersHouse", дважды щелкните по названию.


[[Image:CellViewSelected.png|600px]]
[[Image:CellViewSelected.png|600px]]


Zoom out a little bit so you can see more of the interior space. (If you need help navigating around the render window, you can review [[Bethesda_Tutorial_Creation_Kit_Interface#Navigating_the_Render_Window|the earlier tutorial]] on it.)
Уменьшите масштаб в окне визуализации. Если вы не знаете, как это сделать, то изучите уроки по {{ulink|Bethesda_Tutorial_Creation_Kit_Interface|навигации}}.


[[Image:MixwaterInterior.png|500px]]
[[Image:MixwaterInterior.png|500px]]


Adding our good Mr. Olo to the cell is as simple as grabbing GSQBenduOlo in the object window and dragging it to a place in the render window.  
Выберете GSQBenduOlo в окне Object Window и перетащите его в окно визуализации.


[[Image:MixwaterInteriorPlusBendu.png|500px]]
[[Image:MixwaterInteriorPlusBendu.png|500px]]


=Testing the Actor In-Game=
=Тестирование персонажа в игре=
If you're eager to meet your new creation, that's easy enough. Just make sure [[:Category:Getting_Started#Loading_Your_Plugin_in_the_Game|your plugin is loaded]], and start the game. Once you do, start the game, pull up the console, and:
После выполнения всех этих шагов вам несомненно хочется посмотреть результат вашей работы. Это не сложно. Сохранив ваш плагин и подключив его в лаунчере, запустите игру. Откройте консоль клавишей тильда (~) и введите:


<pre>
<pre>COC MixwaterMillWorkersHouse</pre>
COC MixwaterMillWorkersHouse
</pre>


Inside, you should find Bendu wandering around, maybe sitting in a chair. He won't have much to say to you, since we haven't written any dialogue for him, and won't have much to do, since we haven't given him any activities. But you have now created a new NPC, so congrats.
Вас перенесет в дом, в котором мы разместили нашего героя. Он может сидеть в кресле, бродить или просто стоять. При попытке разговора с ним он вам ничего не скажет, потому что мы ему не дали никаких слов, даже стандартных. Но мы создали своего первого персонажа, с чем вас и поздравляем!


[[Image:BenduInGame.png|500px]]
[[Image:BenduInGame.png|500px]]


=Making an Enemy=
=Создание врага=
Now we're going to make the thief who stole Bendu's amulet. Create a new actor like you did before, and give it the ID "GSQThief" and the name "Dirty Thief".
Теперь давайте сделаем вора, который украл амулет у Бенду Оло. Создайте нового персонажа с ID "GSQThief", как мы это делали раньше, и дайте ему имя "Грязный вор".


Now things get a little more interesting, though. Instead of specifying the rest of the thief's data, we're going to use a template. In the bottom left of the Actor window, you can see a "Template Data" section.  
Вместо того, что бы создавать новые характеристики для вора, мы будем использовать шаблоны. Посмотрите в левый нижний угол, там находится блок "Template Data".


[[Image:ActorWindowTemplateArea.png|600px]]
[[Image:ActorWindowTemplateArea.png|600px]]


Using a template lets us base this actor off another one. It's great for any kind of actor you plan to be a combatant, because you can easily use existing leveled lists and stats, just changing the bits that you want.  
Использование шаблона значительно ускоряет время создания типичных персонажей. Вам нужно выбрать готовый шаблон для вашего персонажа и все главные компоненты будут выбраны. Вам остается только настроить шаблон по своему вкусу.
Теперь из выпадающего списка ActorBase, выберите "LvlBanditMelee1H". Это название шаблона. В имени определен тип.


So from the ActorBase pulldown list, choose "LvlBanditMelee1H". That name is kind of a mouthful, but is easily broken down:
* '''Lvl: '''Отвечает за рост уровня этого персонажа вместе с уровнем игрока.
* '''Lvl:''' This actor uses a leveled list, so as the player becomes more powerful, this actor will increase in difficulty accordingly. (Leveled lists are too complicated to get into here; if you're interested, their [[:Category:Leveled_Lists|details are documented]].)
* '''Bandit:''' Отвечает за то, каким будет снаряжение персонажа. В нашем случае персонаж - бандит.
* '''Bandit:''' This actor's appearance and gear fit the archetype we generally think of for bandit characters in the world, and will show up as "Bandit" in the player's combat interface.  
* '''Melee:''' С данным параметром персонаж будет использовать атаки ближнего боя.
* '''Melee:''' This actor will use melee attacks as opposed to ranged or magic attacks.  
* '''1H:''' С данным параметром персонаж будет использовать одноручное оружие.
* '''1H:''' This actor will use a one-handed weapon.  


Within that, there's a lot of variation and randomness. You might get a female Khajiit one time, a male Nord another. Using leveled templates let us provide suitable challenges to the player regardless of their progress, as well as a bit of variety.  
При таком раскладе, мы случайным образом будем получать разные вариации персонажа. Это может быть или девушка-имперец, или мужчина-норд, или еще кто-нибудь. Это добавляет разнообразия.


{{WarningBox|Note that most leveled templates can resolve to a multitude of voice types, so you need to be careful when writing dialogue for templated actors. In our case, this actor is just a quest obstacle, so we don't care.}}
{{WarningBox|Будьте осторожны при применении шаблонов к персонажам, за которыми могут быть закреплены диалоги, так как в итоге вы можете получить два совершенно разных типа голоса. В нашем случае это не имеет значения, так как вору уготована печальная участь, но учтите это на будущее!}}


Having chosen a template, we need to select which aspects of that template we want to use, by checking the appropriate boxes in the template area. Check every box except for "Use Script" and "Use Base Data".
Выбрав шаблон, нам необходимо отметить все флажки за исключением "Use Script" и "Use Base Data".


[[Image:TemplatedActorFilled.png|300px]]
[[Image:TemplatedActorFilled.png|300px]]


We don't have to worry about setting race, inventory, equipment, or anything else, since we're pulling all that from the template!
Не нужно беспокоиться о расе, инвентаре и т.д. этого персонажа. Все есть в шаблоне.


Click "OK" to save the thief actor.
Нажмите "OK" для сохранения.


=Placing the Enemy=
=Размещение врага=
There aren't many unoccupied "dungeon" spaces in Skyrim, but one is available far out in the Reach. Load the cell "ReachwindEyrie01" and place a reference to the thief object the same way we we placed Bendu into the Mixwater Mill cell.  
Есть очень много пустых подземелий, руин и т.д, но мы возьмем "ReachwindEyrie01", так как она находится довольно близко к Мельнице. Загрузите данную секцию и перетащите вора в окно визуализации.


[[Image:TemplatedActorPlaced.png|500px]]
[[Image:TemplatedActorPlaced.png|500px]]


{{InDepth|You'll notice that the reference appears in the editor as a green ''M''. Because this actor is templated, the editor doesn't know what it looks like, so it draws a capital ''M'' for historical reasons since lost to the vortex of time (theories range from "MOB" (Mobile Object) to "ninja monkey" to "monster" to "marker"). It's green because the default difficulty for leveled actors is "Easy".}}
{{InDepth|Наверняка вы обратили внимание на то, что вместо человека в окне появилась зеленая буква ''M''. Все в порядке, это произошло потому, что мы использовали шаблон? и редактор не знает - кто будет на самом деле присутствовать в игре. Что же до самой буквы, так сложились звезды, а время истерло причины из памяти. (Существует несколько гипотез: например "MOB" (Mobile Object), "ninja monkey", "monster" или "marker"). Зеленая же она потому, что по-умолчанию сложность растущих с уровнем персонажей установлена в "Easy".}}
 
If you want to visit the new baddie you've created, start up the game with your plugin and:


<pre>
Для того, что бы посетить нашего злодея, введите в консоле:
COC ReachwindEyrie01
<pre>COC ReachwindEyrie01</pre>
</pre>


Be ready for a fight!  
Но будьте готовы к бою!


[[Image:DirtyThiefInGame.png|500px]]
[[Image:DirtyThiefInGame.png|500px]]
== Bugs/Issues ==
There is currently an issue where created actors do not export their facial data (scars, make-up, tones etc) onto the rendered NPCs in game. This can be temporarily rectified by opening the console and selecting the actor in-game, and typing "setnpcweight x" for the selected NPC. However, this only sets the skin tones to a normalized state, with no facial traits.
This can also be permantly rectified by exporting the facial data manually. Highlight your actor(s) in the '''Object Window listing''' and then press '''CTRL+F4'''.




Anonymous user