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

no edit summary
imported>Vitamant
imported>Vitamant
 
(15 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/>Вы узнаете:
* Как создать и настроить актера
* Как создать и настроить персонажа.
* Как разместить его на уровне
* Как разместить его в локации.
* Как сделать его враждебным
* Как сделать его враждебным.


=Actors=
=Персонаж=
In Skyrim, all moving creatures are set up as a special kind of object called an Actor. All animals and humanoids use this object, and it's where appearance, behaviors, and everything else about a character is defined.  
Так же, как и в предыдущих частях TES, персонаж - это игровой объект, который призван имитировать реальное поведение живого существа. Будь то собака, заяц, дракон или человек. Как раз последнего мы и будем рассматривать в данной главе. Как и любые игровые объекты, персонажей можно настраивать.


{{NewFeature|If you're familiar with Fallout 3 and earlier engines, Creatures and NPCs have been combined into Actors, which gives you a lot more flexibility in creating their behaviors.}}
{{NewFeature|Если вы знакомы с предыдущими играми TES или Fallout 3, то должны были заметить, что в новом редактор существа и НИП были объединены в один класс - Actor, который дает вам гораздо больше гибкости в настойке их поведения.}}


In the [[Bethesda_Tutorial_Creation_Kit_Interface#Object_Window|Object Window]], navigate to Actors -> Actor in the category list. Right-click anywhere in the list of actors and select "New".
В древе категорий окна Object Window разверните узлы Actors, Actor. ПКМ по списку справа и в контекстном меню выбирете "New".


=Creating Bendu Olo=
=Создание Бенду Оло=
Thankfully, a lot of the fields in the [[:Category:Actor|Actor window]] are pretty self-explanatory. That said, there's a decent amount of setup that you need to do to make someone. So here we go.  
В окне Actor еще больше всевозможных элементов, чем в окне Quest. Но не отчаивайтесь, как и прежде, все просто, главное - немного практики. Пока же мы рассмотрим небольшую часть настроек.


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


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


* '''ID:''' Just like with the quest ID, this needs to be unique across the game. Give him the ID GSQBenduOlo. (Note that IDs can't have spaces or special characters in them.)
Во вкладке {{ulink|Traits_Tab_-_NPC|Traits}} (в правой части окна) установим следующие параметры:
* '''Name:''' The name that will be visible to the player. "Bendu Olo" in our case.
* '''Short Name:''' How somebody familiar with this character might refer to them. This gets used by the radiant story system, which we'll come back to later. For now, just call him "Bendu".
* '''Unique:''' This is the only checkbox you need to worry about for now. It lets the engine know that there should only be one of this actor in the world (as opposed to a new type of animal we were making, for instance). Make sure this is checked.
 
There are a few things we need to set up in the [[Traits_Tab_-_NPC|Traits tab]], just to the right.


* '''Race:''' Pretty self-explanatory -- sets the race that this actor will be. Select "DarkElfRace" from the pull-down menu. Now Bendu will have the appearance and racial bonuses of a Dark Elf.  
* '''Race:''' Раса персонажа. В нашем случае, он является темным эльфом, следовательно выбираем "DarkElfRace".
* '''Voice Type:''' This determines what generic dialogue and combat barks this actor will have available to them. Set him up as a MaleDarkElf.  
* '''Voice Type:''' Тип голоса. Определяет базовый набор звуков издаваемых персонажем (н.п. крики в бою) и стандартных реплик. Нам требуется "MaleDarkElf".


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


{{InDepth|In most cases, characters are not prefixed with an identifier because they are often used by multiple quests. Since Bendu might have a bright future ahead of him, we might consider just calling him "BenduOlo".}}
{{InDepth|В большинстве случаев ID персонажей не начинается с идентификатора (префикса), потому что они часто используются в нескольких квестах. Поскольку Бенду может быть задействован не только в одном квесте, вы могли бы дать ему ID "BenduOlo". Но не будем этого делать, чтобы не создавать путаницы.}}


Finally, hop over to the [[Inventory_Tab|Inventory tab]]. Here we'll give him some clothes so he's not just running around in his underwear.  
Наконец, переходим во вкладку {{ulink|Inventory tab|Inventory tab}} и даем Бенду Оло одежду, в противном случае он будет бегать в одних трусах.  


What an actor chooses to wear is determined by their [[Outfit]]. Skyrim ships with a number of snazzy outfits already defined, but you can make your own fairly easily if you want to. For now, give him some plain clothes with a hat by choosing "FarmClothesOutfit01WithHat" from the Default Outfit pulldown menu.  
То, что будет носить персонаж, определяет его {{ulink|Outfit|снаряжение}}. В Скайриме уже есть ряд шикарных комплектов одежды, но вы можете сделать и свой собственный. На данный момент лучше всего дать ему готовую фермерскую одежду со шляпой, выбрав "FarmClothesOutfit01WithHat" в выпадающем меню Default Outfit.


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


Make sure to hit "OK" instead of "Cancel" or just closing the window, or your work will be discarded. (This goes for most of the Creation Kit. The rest of the tutorials won't always remind you of this, so keep on your toes!)
Убедитесь, что нажали "OK" вместо "Отмена", иначе все ваши труды пойдут насмарку. Будьте внимательны, авторы других уроков не всегда будут напоминать вам об этом!
 
{{WarningBox|В настоящий момент существует некоторая особенность: при экспорте персонажа не экспортируется его лицо (шрамы, макияж, оттенки и т.д.). В игре это можно исправить консольной командой "setnpcweight x" для нужного NPC, однако это лишь восстановит нормальный оттенок кожи, но не черты лица.


=Placing the Actor=
Лучшим выбором будет вручную экспортировать лица, для этого выберите персонажа в списке объектов и нажмите '''CTRL+F4'''.}}
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".)


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.  
=Размещение персонажа=
Предыдущими действиями мы создали нового персонажа и указали некоторые характеристики. В игре он пока никак не задействован. Для исправления этого, нам нужно или вручную разместить его в окне Render Window, или иным образом создать на него ссылку. (Если вы не знаете чем прототип отличается от ссылки, обратите внимание на заметку на {{ulink|Bethesda_Tutorial_Creation_Kit_Interface|этой странице}}, помеченную как "Base Object vs Reference".)


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>


<pre>
Но будьте готовы к бою!
COC ReachwindEyrie01
</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