Bethesda Tutorial Creating an Actor/ru

Revision as of 05:50, 7 April 2012 by imported>Vitamant (→‎Создание Бенду Оло)

Создание актеров




RoundRussianFlag.pngНа русском языке
Требуется помощь переводчика
CreativeCommonsLogo.pngСтатья распространяется под лицензией Creative Commons.
Авторы: HappyConsole, Tiara и см. историю.


Создание актеров
Серия: Основы квестописания, глава 2
К другим учебникам
LeftArrow.png Предыдущая статья Следующая статьяRightArrow.png


Обзор

В этой главе мы поговорим о том, как создать NPC в редакторе. Так же разработаем нейтрального (не предназначенного для боевых задачей) и вражеского персонажа.

Вы узнаете:

  • Как создать и настроить актера
  • Как разместить его на уровне
  • Как сделать его враждебным

Актёр

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

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

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

Создание Бенду Оло

На первый взгляд окно Actor кажется сложным, но на самом деле все просто. Сейчас нам потребуется только малая часть этих настроек.

 

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

Теперь перейдем во вкладку Traits tab (en) и установим следующие параметры.

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

 

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

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

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

 

Убедитесь, что нажали "OK" вместо "Отмена", ибо тогда ваша работа будет сброшена. Будьте внимательны с этим, потому что авторы других уроков не всегда будут напоминать вам об этом, так что мотайте на ус!

Перед тем, как вы поместите персонажа на сцену, убедитесь, что вы выбрали его в Object Window и нажали сочетание клавиш 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 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.

Look at the 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.

 

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 the earlier tutorial on it.)

 

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.

 

Testing the Actor In-Game

If you're eager to meet your new creation, that's easy enough. Just make sure your plugin is loaded, and start the game. Once you do, start the game, pull up the console, and:

COC MixwaterMillWorkersHouse

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.

 

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".

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.

 

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.

So from the ActorBase pulldown list, choose "LvlBanditMelee1H". That name is kind of a mouthful, but is easily broken down:

  • 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 details are documented.)
  • 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: This actor will use melee attacks as opposed to ranged or magic attacks.
  • 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.

  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.

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".

 

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.

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.

 

  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".

If you want to visit the new baddie you've created, start up the game with your plugin and:

COC ReachwindEyrie01

Be ready for a fight!

 

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.


  Предыдущая статья К другим учебникам Следующая статья  


Language: English  • français • polski • русский