Ru/Conveyor (Portal 2)

From Valve Developer Community
Jump to navigation Jump to search

Template:Otherlang2

Введение

Для создания конвейера Portal 2 потребуется несколько брашевых энтитей func_tracktrain, каждая со своей целью пути path_track, объединённых в ряд, с включенным параметром Teleport TO this у первой энтити, чтобы путь зациклился.

Template:Note:ru

У каждой func_tracktrain родителем должна быть модель prop_dynamic props_factory/conveyor_belt_module.mdl, которая будет следовать пути.

Создание опоры конвейера

Template:Note:ru 1. Создайте prop_static с моделью props_factory/conveyor_belt.mdl

2. Продублируйте её и выстройте в ряд их четырёх штук. Это будет конвейерная опора:

ConveyorPortal2 1.png

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

3. Создайте энтити prop_dynamic с моделью props_factory/conveyor_belt_module.mdl

4. Выровняйте её начало по началу опоры prop_static, которую мы создали на шаге 1:

Конвейерная лента должна как минимум на 8 единиц быть выше основы.

Движение ленты

5. Create a small 20x24x16 rectangular brush and texture it with nodraw. Place it underneath the conveyor belt so it just occupies the space between the models:

ConveyorPortal2 3.png

6. Select the conveyor belt and the rectangular brush together, and copy-paste to duplicate and place one on each conveyor base origin.

In this tutorial, seven sections are needed.

7. To make this next process easier, hide everything except the first conveyor belt and rectangular nodraw brush (Hammer shortcuts: H = Hide Selected, U = Show All Hidden)

8. Create a path_track entity and place it inside the nodraw box so that the two share an origin:

ConveyorPortal2 5a.png
As mentioned earlier, there are seven sections, so there should be seven of these nodraw/path sets

Template:Note:ru

9. Make each nodraw box a func_tracktrain entity. Give each entity an individual name. In this tutorial, the naming convention will be conveyor_mover01 to conveyor_mover07. Each entity will have the following properties:

Max Speed: 60
Initial Speed: 60
Change Angles: Never
conveyor_mover01 'First stop target' is 'conveyor_path01'
conveyor_mover02 'First stop target' is 'conveyor_path02'
conveyor_mover03 'First stop target' is 'conveyor_path03'

Repeat this for each func_tracktrain entity.

10. Deselect and hide the nodraw func_tracktrain entities, leaving the path_tracks visible. Give each path_track a unique name similar to step 9 above. For this tutorial, they will be named conveyor_path01 to conveyor_path07

11. For each path_track, set 'Next stop target' to the next path in the track, so conveyor_path01 has a 'next stop' setting of 'conveyor_path02' and so on. The last path should point back to the first one, so conveyor_path07 target is conveyor_path01.

This screenshot shows the linked path_tracks with orange lines between them, sharing origins with nodraw tracktrains. Each tracktrain has its own path_track, and each has a unique name.

Завершение

12. Select the first path_track (conveyor_path01) and set the flag 'Teleport to THIS path_track':

This ensures that when the trains reach the last path (conveyor_path07) they will immediately teleport straight to the beginning again.

Template:Note:ru

13. Finally, parent each conveyor belt prop to the tracktrains.

Примечания

  • Entities can be spawned at one end of the conveyor using an env_entity_maker entity to spawn a template, which is carried along the belt and destroyed with a trigger, or dropped into a pit.
  • Paint will not stick to the belt using the method above. In order for this to happen, the moving belt sections should be tracktrain brushes and not models. Remove each prop_dynamic , and apply metal/conveyor_belt to the resized nodraw brushes (in place of the dynamic models)
  • func_tracktrain accepts an input of RemovePaint

Ссылки

  • Example map download: [1]