Сейчас: 30.11.2024, 04:16RSS
  • Страница 1 из 1
  • 1
Камера - продвинутый маппинг

Дата: Пятница, 09.09.2011, 17:26 | Сообщение # 1

xaker363







         Сообщений: 80
         Репутация: 9
         Статус: Оффлайн

Камеры
(сложность - продвинутый маппер)

В этом туторе я расскажу, как разместить на карте простую камеру и систему мониторов.
Содержание

1 Нужные познания
2 Нужные файлы
3 Создание камеры
4 Дополнительные возможности
5 Текстуры и эффекты
6 Прочие возможности камеры

Нужные познания
В данной статьи предполагается, что вы имеете базовые знания в области:
Создания комнат
Создания энтитей
Системе I/O

Нужные файлы

Camera FGD (http://www.hl2world.com/bbs/dload.p...ile&file_id=262)
Карта-пример камеры (http://www.hl2world.com/bbs/dload.p...ile&file_id=263)

Создание камеры

Я предположу, что вы имеете все вышеперечисленное - без него вам придется очень трудно. Итак, погнали.
Для начала создадим какое-нибудь устройство для крепления камеры(например треног, палку или стойку и т.п.). Если вы используете для этого браши, объедините их все и превратите в ентитю. Сделать это можно двумя путями: a) func_brush: крепление не будет двигаться b) func_physbox: крепление не будет двигаться и падать от ударов и толчков. Если ваша подставка для камеры - модель, то используйте prop_physics или prop_physics_override . Все это дело(крепление камеры) назовите camera_base.

Теперь нам нужен объект, который будет имитировать камеру(сама модель камеры лагает и не работает, поэтому придется использовать брашевую камеру или похожую на нее модельку). Браш-камеру превратите в func_physbox. Назовите ее camera_representation. Поставьте камеру на подходящую позицию и вставьте phys_constraint в том месте, где камера и подставка соединяются(на самом деле нет разницы, где ставить эту ентитю - она работает вне зависимости от расстояний). Phys_constraint`у дайте имя camera_connection, и в его свойствах поставьте attachment 1: camera_representation, attachment 2: camera_base, Force to Break (lbs.): 3000.

Теперь нам нужна ентитя камеры: поставьте point_camera в нужном месте(скорее всего, это рядом с линзами камеры) и дайте ей имя camera_actual. Внимание!!! Важно, чтобы ентитя камеры(point_camera) не была внутри модели/браша камеры!!! Также можно отредактировать FOV(Field of View - поле зрения) камеры. Создание камеры завершено - можете отдохнуть/покурить(хотя как показал опрос маперы курят очень мало, что радует). Теперь нам нужен монитор . Ниже приведены два способа создания камеры - выбирайте любой:

Неподвижный моник: создайте браш, который станет монитором. Ту сторону вашего "телевизора" которая будет передавать изображение(экран, если мне памят не изменяет) покройте текстурой dev/dev_tvmonitornoise (или другой из приведенного ниже списка), а остальные стороны - tools/toolsnodraw. Затем выделите весь монитор превратите его в func_monitor. Назовите его camera_tvscreen и поставьте следующие значения: Camera name: camera_actual. Создание монитора закончено: если вы скомпилируете созданную нами систему, он будет работать.

Физический моник(передвигаемый): сначала создайте prop_physics. В поле world model поставьте models/props_c17/tv_monitor01.mdl, дав ему имя monitor_shell. Теперь создайте браш, все стороны которого, кроме экрановой, покройте текстурой tools/toolsnodraw, а оставшуюся - текстурой монитора(все так же, как и в первом способе). Затем превратите браш монитора в func_monitor, дайте ему имя monitor_screen, а в поле Parent поставьте monitor_shel. То же самое проделайте с camera_name, camera_actual. Создание физического монитора завершено: компилируйте карту и наслаждайтесь проделанной работой.

Дополнительные возможности

Разбиваемый монитор: здесь все очень просто: создайте браш такой же формы, что и монитор, и превратите его в func_breakable. Теперь в его свойствах поставьте Parent: monitor_screen, и настройте аутпуты(outputs): My output named: OnBreak, Target entities named: monitor_screen, Via this input: kill.

Динамичесий свет: чтобы от вашего монитора, как от настоящего голубого экрана, исходил свет, поставьте несколько light_dynamic по периметру экрана в том же направлении, что и сам дисплей. Установите цвет(Lights Color) на 80 113 226(цвет, специально подобранный в течение месяца измерительных фоторабот в самой Valve), и яркость(Lights Brightness) поставьте 4. В свойствах света поставьте Parent: monitor_screen и наслаждайтесь волученным эффектом.

Меняем разрешние монитора: смена разрешения - в некоторой степени трудный процесс. Прежде всего растяните текстуру монитора на весь экран. Если вы хотите увеличить разрешение, то уменьшайте скейл(scale) текстур. Например если размеры экрана равны 512х512, то при скейле, равном 1 разрешение увеличится в 2 раза и будет равно 512х512(так как текстура экрана - 256х256 - именно с таким разрешением она передает изображение по умолчанию), а если вы поставите скейл 0.5, то разрешения экрана станет в 2 раза меньше, то есть 128х128.

Просмотр изображения в HUD: давайте рассмотрим футуристическую карту, где игрок имеет камеру, встроенную в HUD. Чтобы добавить моник в HUD, наберите в консоли mat_showcameraendertarget 1. Но вам придется так писать каждый раз, когда вы захотите посмотреть на встроенный экран(эта фишка должна обновиться с новой ентитей point_clientcommand, которая на момент написания, скорее всего, уже вышла)

Текстуры и эффекты

Название мониторных текстур:

dev_tvmonitornonoise,
dev_tvmonitor1a,
dev_tvmonitor2a,
dev_combinemonitor_g,
dev_combinemonitor_r,
and dev_combinemonitor_b.

Эти текстстуры позволяют применять к передаваемым изображениям различные видеоэффекты.

Из стандартных текстур ХЛ2 это:
dev/dev_tvmonitornonoise - нормальное изображение

dev/dev_tvmonitor1a - горизонтальные черно-белые полосы, двигающиеся по вертикали

dev/dev_tvmonitor2a - изображение с помехами

dev/dev_combinemonitor1 - светлый полупрозрачный фильтр с "шашечными" помехами

dev/dev_combinemonitor2, 3, 4, 5 - более темные версии combinemonitor1
dev/dev_combinemonitor_r, _g, _b - поупрозрачное изображение, окрашенное в красный/зеленый/синий цвета

Текстуры dev_combine* лучше использовать с темными брашами позади.Текстура dev/dev_monitor не работает напрямую с целями(лично я не понял, что автор имел ввиду, може вы поймете).

Если вы хотите создать свою собственную текстуру монитора, то в *.vmt файле напишите:
"$baseTexture" "_rt_Camera"

Прочие возможности камеры

Вместо func_monitor вы можете использовать info_camera_link: в поле Camera Name напишите имя камеры(camera_actual), Entity Whose Material Uses _rt_camera: любой браш-ентити или модели, использующих мониторную текстуру. Так же, как и func_monitor, info_camera_link может быть активирована с помощью инпута(input) SetCamera для переключения между несколькими камерами.


Это невероятный стимул, когда вам говорят, что вы чего - то не можете.

Сообщение отредактировал xaker363 - Пятница, 09.09.2011, 17:26
 

Дата: Воскресенье, 11.09.2011, 12:51 | Сообщение # 2

camper93reg







         Сообщений: 128
         Репутация: 10
         Статус: Оффлайн

плагиатит статьи с других сайтов!

 

Дата: Воскресенье, 11.09.2011, 13:18 | Сообщение # 3

klepa







         Сообщений: 249
         Репутация: 28
         Статус: Оффлайн

Мля накю ты тупо копируешь где скрины с обзором

PCGEME klepa
 

Дата: Воскресенье, 11.09.2011, 13:20 | Сообщение # 4

xaker363







         Сообщений: 80
         Репутация: 9
         Статус: Оффлайн

Во 1 это не плагиат а перевод с www.hl2world.com
Во 2 мне заприщено использоваит IMG


Это невероятный стимул, когда вам говорят, что вы чего - то не можете.
 

Дата: Воскресенье, 11.09.2011, 13:59 | Сообщение # 5

camper93reg







         Сообщений: 128
         Репутация: 10
         Статус: Оффлайн

xaker363, ты тормоз! плагиат перево почти одно и тоже!!! че ты синьку лепишь??? ты сам должен писать или хотя бы указывать имя автора или сайт!

 

Дата: Воскресенье, 11.09.2011, 14:35 | Сообщение # 6

xaker363







         Сообщений: 80
         Репутация: 9
         Статус: Оффлайн

Е*ать давай я выложу на ангийском, а ты учись.

Это невероятный стимул, когда вам говорят, что вы чего - то не можете.
 

Дата: Воскресенье, 11.09.2011, 15:35 | Сообщение # 7

camper93reg







         Сообщений: 128
         Репутация: 10
         Статус: Оффлайн

во ты дЭбил я поражаюсь с таких! указать надо было что не твоя статья!ты догоняешь нет???

 

Дата: Воскресенье, 11.09.2011, 21:59 | Сообщение # 8

klepa







         Сообщений: 249
         Репутация: 28
         Статус: Оффлайн

xaker363,
Мне то учится не надо поверь в это, а вот тебе не помешало вот выкладывай по меньше но по понятней а то тут целая книга)))


PCGEME klepa
 

Дата: Воскресенье, 11.09.2011, 22:05 | Сообщение # 9

xaker363







         Сообщений: 80
         Репутация: 9
         Статус: Оффлайн

camper93reg - Ты мля выражения выберай ( Если чо перевел с www.hl2world.com)
klepa - Ок


Это невероятный стимул, когда вам говорят, что вы чего - то не можете.
 

Дата: Понедельник, 12.09.2011, 10:36 | Сообщение # 10

camper93reg







         Сообщений: 128
         Репутация: 10
         Статус: Оффлайн

xaker363, blahblah

 

Дата: Понедельник, 12.09.2011, 10:48 | Сообщение # 11

klepa







         Сообщений: 249
         Репутация: 28
         Статус: Оффлайн

Кароче может вы угомонтесь?

PCGEME klepa
 

Дата: Понедельник, 12.09.2011, 12:42 | Сообщение # 12

xaker363







         Сообщений: 80
         Репутация: 9
         Статус: Оффлайн

Есди неценете чужой труд могу больше неписать... dont

Это невероятный стимул, когда вам говорят, что вы чего - то не можете.
 

Дата: Вторник, 13.09.2011, 00:06 | Сообщение # 13

bumer







         Сообщений: 1310
         Репутация: 75
         Статус: Оффлайн

camper93reg, klepa, вы что, завидуете хакеру?
 

Дата: Вторник, 13.09.2011, 01:44 | Сообщение # 14

camper93reg







         Сообщений: 128
         Репутация: 10
         Статус: Оффлайн

bumer, угу!!! yes

 
  • Страница 1 из 1
  • 1
Поиск: