Як я можу реалізувати камеру третьої особи на карті SC2?


8

Я хочу спробувати створити власну карту Starcraft 2 за допомогою камери від третьої особи, яка слідує за пристроєм. Кілька спеціальних карт із цією функцією вже існують, тому я знаю, що це можливо.

Як це зробити? Чи потрібен спеціальний файл модів, чи все можна зробити у файлі з картою?


2
sc2mapster.com/maps/tpsfps_battle_rts Я думаю, що це може допомогти. Це посилання на сайт для однієї з найпопулярніших карт, які мають цю функцію. Я думаю, що у них є як на сайті.
McAzzaMan

Звернення до автора спеціальної карти, яка робить це, мабуть, було б найпростішим способом з'ясувати, як ..
Jari Komppa

Це питання, здається, поза темою, оскільки йдеться про моделювання певної гри, і через три роки на неї не вдасться відповісти.
Jari Komppa

@Jari Я думаю, що це повинно залишатися відкритим до тих пір, поки ігровий моддінг є темою, і SC2 має активну спільноту. SC2: Серце Роя розширення є всього лише рік тому.
Анко

@Anko погодився; SC2 та його моди далеко не застаріли. Крім того, питання вузькообласне і чітко можливо його здійснити.
Сет Беттін

Відповіді:


1

Інформація, надана нижче, з http://www.staredit.net/starcraft2/Third_Person_Camera, де ви можете дізнатися більше матеріалів, таких як тригери WASD та кілька варіантів камер, але основи для налаштування третьої особи тут:

Налаштування об’єкта камери

Під кнопкою "Створити камеру" ви побачите біле поле зі значенням "Камера 001" у ньому, клацніть правою кнопкою миші та натисніть "Змінити властивості". Встановіть значення наступних (Ім'я - Суб-Значення - (Опис)):

  • Кут - Поле зору - 27.996 - (Наскільки широкий огляд. Це буде вигляд на 28 градусів зліва від екрана праворуч) Кут - нахил - 0,0 - (як далеко пересувати камеру зліва направо . Подумайте, що бочки закочуються.)
  • Глибина поля - сума - 0,0 - (невідомо, не соромтесь оновити статтю wiki, якщо ви знаєте будь-яку інформацію про це значення)
  • Глибина поля - Глибина - 8,0 - (як далеко бачить камеру)
  • Глибина поля - Кінець - 8,0 - (Кінцеве положення виду з точки фотоапарата)
  • Глибина поля - Старт - 0,0 - (Стартове положення виду з точки фотоапарата)
  • Відстань - 4 - (Наскільки далеко буквальна камера знаходиться від фактичного місця розташування камери. Якщо встановити цей показник на 0, ви отримаєте FPS (Shooter від першої особи), близько 4 з TPS (Shooter Third Person))
  • Відстань - Дальний кліп - 300,0 - (Відстань, з якої нічого не буде виведено. Якщо що-небудь далі, ніж це від камери, воно НЕ БУДЕ РЕЗЕРАЦІЯ)
  • Відстань - Близький кліп - .1 - (Відстань, коли нічого не буде виведено. Якщо що-небудь ближче, ніж це від камери, воно НЕ буде РЕЗЕРАЦІЯ)
  • Відстань - кліп тіней - 75,0 - (якщо припустити відстань, після якої тіні не будуть надані)
  • Ціль - Крок - 12 - (Нахил камери. Крок - рух, спрямований вгору / вниз)
  • Мета - X - (Неважливо, це змінить кожен кадр гри)
  • Мета - Y - (Неважливо, це змінить кожен кадр гри)
  • Ціль - нахил - 180 - (нахил фотокамери. Подумайте про рух вліво-вправо, що не бочки кочення)
  • Завдання - Z зміщення - 1 - (як далеко камера від землі)

Основне значення, яке нам тут потрібно, - це Відстань - 4. Якщо встановити це значення 4, ви створите камеру від третьої особи (Хоча для інших пристроїв, крім морських, вам може знадобитися це відредагувати). 0 створить камеру від першої особи. Те ж саме стосується і цілі - зміщення Z - 1. Для більш високого значення піднімається камера, щоб підняти камеру вгору.

Глобальні змінні

Потрібно кілька глобальних змінних, назви та типи яких вказані нижче (Ім'я - Тип - Значення - (Опис)):

  • FaceOffset [8] - Реальний - 0,0 - (Там, де відповідні одиниці кожного гравця стикаються)
  • Швидкість - Реальна - 0,03 - (Швидкість, з якою рухається одиниця)
  • Одиниці [8] - Підрозділ - [ВИПУСК] - (Зберігає відповідні одиниці кожного гравця)
  • PlayerA [8] - Реальний - 0 - (Магазини - гравці. Клавіша вниз)
  • PlayerS [8] - Реальний - 0 - (Магазини - це клавіша гравців. S клавіша відключена)
  • PlayerD [8] - Реальний - 0 - (Магазини - це клавіша гравців D).
  • PlayerW [8] - Реальний - 0 - (Магазини - це клавіша W гравців)

Налаштування тригера камери

Set Up Camera
   Events
       Timer - Every 0.0 seconds of Game Time
   Local Variables
       Yaw = 0.0 <Real>
       CameraFocus = No Point <Point>
       Counter = 0 <Integer>
   Conditions
   Actions
       General - For each integer Counter from 1 to 8 with increment 1, do (Actions)
           Actions
               General - If (Conditions) then do (Actions) else do (Actions)
                   If
                       (Controller of player Counter) == User
                       (Status of player Counter) == Playing
                   Then
                       Camera - Apply Camera 001 for player Counter over 0.0 seconds with Existing Velocity% initial velocity, 10% deceleration, and Don't Include Target
                       Camera - Lock camera mouse relative mode On for player Counter
                       Camera - Turn camera mouse rotation On for player Counter
                       Camera - Turn camera height smoothing Off for player Counter
                       Camera - Turn camera height displacement On for player Counter
                   Else

Тригер оновлення камери:

Camera Update
   Events
       Timer - Every 0.0 seconds of Game Time
   Local Variables
       Yaw = 0.0 <Real>
       CameraFocus = No Point <Point>
       Counter = 0 <Integer>
   Conditions
   Actions
       General - For each integer Counter from 1 to 8 with increment 1, do (Actions)
           Actions
               General - If (Conditions) then do (Actions) else do (Actions)
                   If
                       (Controller of player Counter) == User
                       (Status of player Counter) == Playing
                   Then
                       Variable - Set Yaw = (Current camera yaw of player Counter)
                       Variable - Set CameraFocus = ((Position of Units[Counter]) offset by 0.0 towards (Yaw + 90.0) degrees)
                       Unit - Make Units[Counter] face (Yaw + FaceOffset[Counter]) over 0.0 seconds
                       Camera - Set the camera bounds for (Player group(Counter)) to (Region((X of CameraFocus), (Y of CameraFocus), ((X of CameraFocus) + 0.01), ((Y of CameraFocus) + 0.01))) (Do Not adjust the minimap)
                   Else
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.