Акулы

Материал из CryWiki Russia

(Различия между версиями)
Перейти к: навигация, поиск
 
Строка 29: Строка 29:
== Добавление WaterKillEvent ==
== Добавление WaterKillEvent ==
-
Для начала, нам надо добавить WaterKillEvent на карту; он спавнит акул. Находится здесь: '''''RollupBar → Entity → Others → WaterKillEvent '''''.
+
Для начала, нам надо добавить '''WaterKillEvent''' на карту; он спавнит акул. Находится здесь: '''''RollupBar → Entity → Others → WaterKillEvent '''''.
[[Файл:RollupBarWaterkill.PNG|thumb|center]]
[[Файл:RollupBarWaterkill.PNG|thumb|center]]
Строка 36: Строка 36:
== Назначение AreaTrigger ==
== Назначение AreaTrigger ==
-
Next, we need to add an '''AreaTrigger''' to detect when the player is and isn’t inside the shape. To add an AreaTrigger to your map, browse to the '''''RollupBar → Entity → Triggers → AreaTrigger'''''.
+
Далее, нам нужно добавить '''AreaTrigger''' чтобы определять когда игрок находится в форме. Чтобы добавить AreaTrigger на карту, перейдите в '''''RollupBar → Entity → Triggers → AreaTrigger'''''.
[[Файл:RollupBarAreaTrigger.PNG|thumb|center]]
[[Файл:RollupBarAreaTrigger.PNG|thumb|center]]
-
Place the AreaTrigger somewhere near the shape. In its parameters, for the sake of organisation and continuity, rename the AreaTrigger to '''SharkTrigger''' or a similar name that you can refer to quickly.
+
Разместите AreaTrigger неподалёку форму. В его параметрах, ради организации и преемственности, переименуйте '''AreaTrigger''' в '''SharkTrigger''' или в аналогичное название, к которому вы можете быстро обратиться.
-
Next, select the AreaShape that you created earlier. In it’s parameters, scroll down to the Target section and click on '''Pick'''.
+
Далее, выберите ранее созданный '''AreaShape'''. В его параметрах, прокрутите до раздела '''Target''' и щёлкните по '''Pick'''.
[[Файл:PickTarget.PNG|thumb|center]]
[[Файл:PickTarget.PNG|thumb|center]]
-
Once you have pressed this button, a small crosshair icon should appear instead of the normal mouse icon. In the perspective view, scroll the camera so you can see the AreaTrigger, and then click on the AreaTrigger icon. A line should form between the AreaTrigger and the AreaShape, depicting that these two entities are now linked. This means that when you walk into the AreaShape, an action is triggered due to the linked AreaTrigger.
+
Когда вы щёлкните по кнопке, вместо стандартного указателя мыши появится указатель в виде перекрестья. В окне проекции, передвиньте камеру так, чтобы был виден '''AreaTrigger''', и затем щёлкните по значку '''AreaTrigger'''. Между AreaTrigger и AreaShape сформируется линия, изображая, что эти две сущности связаны между собой. Это означает, что когда вы войдёте в '''AreaShape''', будет вызвано действие из '''AreaTrigger'''.
-
 
+
[[Файл:SharkAreaLink.JPG|thumb|400px|center]]
[[Файл:SharkAreaLink.JPG|thumb|400px|center]]
= Настройка Flow Graph =
= Настройка Flow Graph =
-
In order for the WaterKillEvent to be triggered when we enter the AreaShape, we need to create a small and simple flowgraph that will do this job. To start off, we need to link the flowgraph to one of the entities to ensure that the flowgraph loads when the game starts. To do this scroll down in the parameters of your AreaTrigger (although it can be any entity) and click the '''Create''' button in the flowgraph section.
+
Для того, чтобы сработал '''WaterKillEvent''', когда вы войдёте в AreaShape, нам нужно создать небольшой и простой потоковый граф. Для начала, нам нужно связать потоковый граф с одной из сущностей, чтобы потоковый граф загрузился при начале игры. Чтобы связать его с сущностей, в параметрах '''AreaTrigger''' (либо любой другой сущности) прокрутите до раздела '''Flowgraph''' и нажмите кнопку '''Create'''.
[[Файл:FlowgraphCreate.PNG|frame|center]]
[[Файл:FlowgraphCreate.PNG|frame|center]]
-
Name it something appropriate, and you should now find yourself with a blank flowgraph canvas.
+
Назовите его как угодно, теперь у вас есть чистый лист потокового графа.
-
First we are going to add in the AreaTrigger. To do this, select the AreaTrigger in the perspective view, and in the flowgraph editor, '''Right Click &rarr; Add Selected Entity'''. An '''''entity:AreaTrigger''''' node should now have appeared in your flowgraph, and if the graph was assigned to it, then its entity name will probably be '''<GraphEntity>'''.
+
Первое, что мы сделаем, это добавим '''AreaTrigger'''. Выберите '''AreaTrigger''' в окне проекции, и в редакторе '''Flow Graph''', нажмите '''правой кнопкой мыши &rarr; Add Selected Entity'''. В вашем потоковом графе должен появится нод '''''entity:AreaTrigger''''', а если граф был назначен к нему самому, то его имя сущности будет '''<GraphEntity>'''.
[[Файл:AreaTrigger.PNG|frame|center]]
[[Файл:AreaTrigger.PNG|frame|center]]
-
With the AreaTrigger added in, its now time to do the same to the WaterKillEvent. Select it in the perspective view, go back to the flowgraph editor, '''Right Click &rarr; Add Selected Entity'''. The '''''entity:WaterKillEvent''''' node should now have appeared in your flowgraph, with the entity probably being WaterKillEvent1 (unless you renamed it). Your flowgraph should now resemble the one below.
+
'''AreaTrigger''' добавлен, теперь пришло время, сделать то же самое с '''WaterKillEvent'''. Выберите его в окне проекции, вернитесь в редактор '''Flow Graph''', нажмите '''правой кнопкой мыши &rarr; Add Selected Entity'''. В вашем потоковом графе должен появится нод '''''entity:WaterKillEvent''''', его имя сущности будет '''WaterKillEvent1''' (если вы не переименовали его). Ваш потоковый граф будет выглядеть как на следующем скриншоте.
[[Файл:StarterSharkFG.PNG|frame|center]]
[[Файл:StarterSharkFG.PNG|frame|center]]
-
Now it’s time to link the nodes together so that when you enter the AreaTrigger the WaterKillEvent is triggered. You’ll see that the AreaTrigger has an '''Enter''' output, and that the WaterKillEvent has a '''SpawnShark''' output. If we link these two together, the sharks will be spawned when the player enters the area. To link the two ports, hold down the left mouse button on the Enter output, and drag the link across to the SpawnShark output. Release the left mouse button to set the link. Finally we need to link the '''Leave''' port of the AreaTrigger and the '''RemoveShark''' port of the WaterKillEvent. Follow the same steps as before to achieve this. Your finished flowgraph should now look like this.
+
Теперь, настало время связать ноды, так, чтобы когда вы вошли в '''AreaTrigger''' сработал '''WaterKillEvent'''. Как видите, у '''AreaTrigger''' есть выход '''Enter''', а у WaterKillEvent есть вход '''SpawnShark'''. Если вы их соедините, акула будет заспавнена, когда игрок входит в форму. Чтобы соединить два порта, удерживайте левую кнопку мыши у выхода '''Enter''', и перемещайте линию ко входу '''SpawnShark'''. Отпустите левую кнопку мыши, чтобы установить связь. Теперь нам нужно соединить порт '''Leave''' ('''''AreaTrigger''''') и порт '''RemoveShark''' ('''''WaterKillEvent'''''). Сделайте аналогично вышеописанному. Ваш готовый потоковый граф будет выглядеть, как показано ниже.
[[Файл:FinishedSharkFG.PNG|frame|center]]
[[Файл:FinishedSharkFG.PNG|frame|center]]
= Завершение =
= Завершение =
-
Finally, to make sure the sharks attack you and don’t just completely ignore you, you need to generate their navigation. To do this, navigate to the top toolbar and click on '''AI &rarr; Generate All Navigation'''. The sharks should now attack you when you jump in.
+
Наконец, чтобы убедиться, что акула атакует вас, а не просто-напросто игнорирует, вам нужно сгенерировать её навигацию. Чтобы сделать это, нажмите в меню '''AI &rarr; Generate All Navigation'''. Акула должна атаковать вас.
-
To jump into the game, position yourself next to the area and press Ctrl + G to spawn into the game. Swim into the area, and you’ll soon be greeted by some sharks!
+
Чтобы перейти в игру, расположитесь поблизости формы и нажмите '''Ctrl + G'''. Плавайте в этой области, и скоро встретите акул!
<gallery>
<gallery>

Текущая версия на 12:12, 17 февраля 2012

О статье
АвторDCamer
СовместимостьВсе


Добро пожаловать в урок от CryWiki Russia по добавлению акул на карту. В этой статье мы покажем вам, как назначить акулы к определенной области наряду с созданием простого потокового графа, необходимого для правильного спавна акул.

Содержание

Настройка области для акул

Для начала , нам нужно создать область для акул, которых вы добавите позже в статье, чтобы они перемещались и атаковали, когда мы входим. Чтобы это сделать, нам надо создать AreaShape. Он находится в RollupBar → Area → Shape, как показано на снимки ниже.

RollupBarArea.PNG

Вы должны увидеть на экране, в море оси X, Y и Z. Убедитесь, что Snap To Terrain выбраг (Ctrl + 1), чтобы форма не создалась под ландшафтом и щелкните кнопку мыши, чтобы создать первую точку. Продолжайте щелкать, чтобы добавить ещё точки (которые будут выглядеть как маленькие голубые кубы) и сделайте двойной щелчок, чтобы завершить форму. Это должно выглядеть примерно как на картинке ниже. Хотя вы не увидите линии между каждой из точек, которые образуют форму, пока вы не переместите камеру под воду. В дальнейшем мы сделаем, чтобы эти точки появлялись над водой.

Примечание:
Если вам нужно изменить точки формы , нажмите кнопку «Edit Shape» в параметрах форму. Вы можете дважды щелкнуть по соединяющей линии чтоьы создать новые точки, и сделайте двойной щелчок по точкам, чтобы удалить их.

AreaInWater.PNG

Настройка формы

Прежде чем мы начнем назначать акул в этой области, мы изменим некоторые параметры нашей форме, чтобы сделать его попроще для последующих этапов данного урока. Сначала, выберите AreaShape и взгляните на его параметры в RollupBar. В параметрах будет его имя, вероятно Shape1. Для того, чтобы упростить организацию в будущем, переименуйте его в что-то вроде SharkShape , что будет легко различимо. В добавок к этому, вы также увидеть, что есть параметр Height, который по умолчанию равен 0; он определяет высоту формы и контролует, насколько будут высоки линий, соединяющие точки. Установите его чуть выше, чем высота вашего море; значение около 30 должно подойти. Как только вы сделаете это, ваша форма будет выглядеть как на скриншоте ниже.

AreaHeightened.jpg

Примечание:
Чтобы сделать AreaShape более заметным, отметьте галочкой DisplayFilled; это затенит форму по границе.

Назначение акулы к форме

В этом разделе описывается назначение сущности WaterKillEvent к форме; это фактически создаст акулы, которые нападают на вас. Мы также рассмотрим событие срабатывания, при входе в форму, используя AreaTrigger.

Добавление WaterKillEvent

Для начала, нам надо добавить WaterKillEvent на карту; он спавнит акул. Находится здесь: RollupBar → Entity → Others → WaterKillEvent .

RollupBarWaterkill.PNG

Перетаскивая, разместите его рядом с вашей формой. Важно подчеркнуть, что маленькая площадь, которую занимает WaterKillEvent, он не будет использовать, так что не нужно расширять или изменять.

Назначение AreaTrigger

Далее, нам нужно добавить AreaTrigger чтобы определять когда игрок находится в форме. Чтобы добавить AreaTrigger на карту, перейдите в RollupBar → Entity → Triggers → AreaTrigger.

RollupBarAreaTrigger.PNG

Разместите AreaTrigger неподалёку форму. В его параметрах, ради организации и преемственности, переименуйте AreaTrigger в SharkTrigger или в аналогичное название, к которому вы можете быстро обратиться. Далее, выберите ранее созданный AreaShape. В его параметрах, прокрутите до раздела Target и щёлкните по Pick.

PickTarget.PNG

Когда вы щёлкните по кнопке, вместо стандартного указателя мыши появится указатель в виде перекрестья. В окне проекции, передвиньте камеру так, чтобы был виден AreaTrigger, и затем щёлкните по значку AreaTrigger. Между AreaTrigger и AreaShape сформируется линия, изображая, что эти две сущности связаны между собой. Это означает, что когда вы войдёте в AreaShape, будет вызвано действие из AreaTrigger.

SharkAreaLink.JPG

Настройка Flow Graph

Для того, чтобы сработал WaterKillEvent, когда вы войдёте в AreaShape, нам нужно создать небольшой и простой потоковый граф. Для начала, нам нужно связать потоковый граф с одной из сущностей, чтобы потоковый граф загрузился при начале игры. Чтобы связать его с сущностей, в параметрах AreaTrigger (либо любой другой сущности) прокрутите до раздела Flowgraph и нажмите кнопку Create.

FlowgraphCreate.PNG

Назовите его как угодно, теперь у вас есть чистый лист потокового графа. Первое, что мы сделаем, это добавим AreaTrigger. Выберите AreaTrigger в окне проекции, и в редакторе Flow Graph, нажмите правой кнопкой мыши → Add Selected Entity. В вашем потоковом графе должен появится нод entity:AreaTrigger, а если граф был назначен к нему самому, то его имя сущности будет <GraphEntity>.

AreaTrigger.PNG

AreaTrigger добавлен, теперь пришло время, сделать то же самое с WaterKillEvent. Выберите его в окне проекции, вернитесь в редактор Flow Graph, нажмите правой кнопкой мыши → Add Selected Entity. В вашем потоковом графе должен появится нод entity:WaterKillEvent, его имя сущности будет WaterKillEvent1 (если вы не переименовали его). Ваш потоковый граф будет выглядеть как на следующем скриншоте.

StarterSharkFG.PNG

Теперь, настало время связать ноды, так, чтобы когда вы вошли в AreaTrigger сработал WaterKillEvent. Как видите, у AreaTrigger есть выход Enter, а у WaterKillEvent есть вход SpawnShark. Если вы их соедините, акула будет заспавнена, когда игрок входит в форму. Чтобы соединить два порта, удерживайте левую кнопку мыши у выхода Enter, и перемещайте линию ко входу SpawnShark. Отпустите левую кнопку мыши, чтобы установить связь. Теперь нам нужно соединить порт Leave (AreaTrigger) и порт RemoveShark (WaterKillEvent). Сделайте аналогично вышеописанному. Ваш готовый потоковый граф будет выглядеть, как показано ниже.

FinishedSharkFG.PNG

Завершение

Наконец, чтобы убедиться, что акула атакует вас, а не просто-напросто игнорирует, вам нужно сгенерировать её навигацию. Чтобы сделать это, нажмите в меню AI → Generate All Navigation. Акула должна атаковать вас. Чтобы перейти в игру, расположитесь поблизости формы и нажмите Ctrl + G. Плавайте в этой области, и скоро встретите акул!