Свет на карте одной энтитей: различия между версиями

Материал из CSM Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «Категория:Маппинг GoldSrc {{Заготовка}} Всем привет! У меня случилось так,что карта перест...»)
 
 
Строка 4: Строка 4:
 
Всем привет!
 
Всем привет!
  
У меня случилось так,что карта перестала запускаться из-за
+
У меня случилось так, что карта перестала запускаться из-за большого количества энтити. Поскольку переделывать карту не хотелось, я
большого количества энтитей.Т.к переделывать карту не хотелось,я
+
дошел до данного метода и сократил около 170 энтити без потери визуальной составляющей. Ранее о таком методе нигде не читал, поэтому и решил о нем написать.
дошел до данного метода и сократил около 170 энтитей без потери визуальной составляющей.Ранее о таком методе нигде не читал,по этому и решил о нем написать.
 
  
Рассмотрим на примере маленькой комнаты,в которой находится 6 обычных
+
Рассмотрим на примере маленькой комнаты, в которой находится 6 обычных лампочек (энтити [[light]]) с полностью белым светом и яркостью в 90.
лампочек (энтити Light)
 
  
 +
Теперь создадим браш со стороной 16х16х16 юнитов, данный размер повторяет огранку энтити light.
  
с полностью белым светом и яркостью в 90, вот как выглядит это в игре
 
  
 
+
Расставляем браши, ровно на те места где были лампочки, а сами лампочки удаляем. Выделяем все 6 брашей и создаем [[func_illusionary]] с параметрами:
Теперь создадим браш со стороной 16х16х16 юнитов,данный размер повторяет огранку энтити light.
 
 
 
 
 
Расставляем браши,ровно на те места где были лампочки,лампочки
 
удаляем.Выделяем все 6 брашей и создаем func_illusionary с параметрами:
 
 
Render Mode: Texture
 
Render Mode: Texture
 
FX Amount: 0
 
FX Amount: 0
 
такие параметры нужны чтобы в игре func_illusionary был невидимым.
 
такие параметры нужны чтобы в игре func_illusionary был невидимым.
Создаем белую текстуру 32х32 с любым именем(к примеру "svet") и красим ею весь func_illusionary (окрасить можно было и при создании браша, так просто по порядку).
+
Создаем белую текстуру 32х32 с любым именем (к примеру "svet") и красим ей весь func_illusionary (окрасить можно было и при создании браша, так просто по порядку).
  
Теперь добавляем на карту энтитю info_texlights, переходим в "улучшенное редактирование" нажимаем кнопку "добавить", в появившемся окне,в строке "ключ" вводим название текстуры которой мы покрасили func_illusionary, а в строке "значение" вводим такие же параметры как у лампочки, только яркость пишем не 90 ,а 800 (данное значение яркости надо подбирать, пока не достигнем нужного нам результата).
+
Теперь добавляем на карту энтити [[info_texlights]], переходим в "улучшенное редактирование" нажимаем кнопку "добавить", в появившемся окне,в строке "ключ" вводим название текстуры которой мы покрасили func_illusionary, а в строке "значение" вводим такие же параметры как у лампочки, только яркость пишем не 90 ,а 800 (данное значение яркости надо подбирать, пока не достигнем нужного нам результата).
  
  
После компилиции видно что результат практически неотличим
+
После компиляции видно, что результат практически неотличим.
  
  
Такой метод я использовал на одной из своих карт,заменив около 100 лампочек на 1 func_illusionary.
+
Такой метод я использовал на одной из своих карт, заменив около 100 лампочек на 1 func_illusionary.
  
Также можно создавать направленный свет (по типу энтити light_spot), просто нужно красить в светящуюся текстуру ту сторону func_illusionary ,в которую направлен свет,а остальные покрыть нулем.
+
Также можно создавать направленный свет (по типу энтити [[light_spot]]), просто нужно красить в светящуюся текстуру ту сторону func_illusionary, в которую направлен свет, а остальные покрыть NULL.
  
ps. при объединении нескольких func_illusionary, хаммер бывает тупит и не
+
P.S. при объединении нескольких func_illusionary, хаммер бывает тупит и не уменьшает значение энтити на карте, для обновления значения я вырезал всю карту и вставлял ее в новый проект.
уменьшает значение энтитей на карте, для обновления значения я вырезал всю карту и вставлял ее в новый проект.
 
 
{{Автор и дата|hypax|03.03.2014}}
 
{{Автор и дата|hypax|03.03.2014}}

Текущая версия на 18:44, 9 марта 2020


Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её.



Всем привет!

У меня случилось так, что карта перестала запускаться из-за большого количества энтити. Поскольку переделывать карту не хотелось, я дошел до данного метода и сократил около 170 энтити без потери визуальной составляющей. Ранее о таком методе нигде не читал, поэтому и решил о нем написать.

Рассмотрим на примере маленькой комнаты, в которой находится 6 обычных лампочек (энтити light) с полностью белым светом и яркостью в 90.

Теперь создадим браш со стороной 16х16х16 юнитов, данный размер повторяет огранку энтити light.


Расставляем браши, ровно на те места где были лампочки, а сами лампочки удаляем. Выделяем все 6 брашей и создаем func_illusionary с параметрами: Render Mode: Texture FX Amount: 0 такие параметры нужны чтобы в игре func_illusionary был невидимым. Создаем белую текстуру 32х32 с любым именем (к примеру "svet") и красим ей весь func_illusionary (окрасить можно было и при создании браша, так просто по порядку).

Теперь добавляем на карту энтити info_texlights, переходим в "улучшенное редактирование" нажимаем кнопку "добавить", в появившемся окне,в строке "ключ" вводим название текстуры которой мы покрасили func_illusionary, а в строке "значение" вводим такие же параметры как у лампочки, только яркость пишем не 90 ,а 800 (данное значение яркости надо подбирать, пока не достигнем нужного нам результата).


После компиляции видно, что результат практически неотличим.


Такой метод я использовал на одной из своих карт, заменив около 100 лампочек на 1 func_illusionary.

Также можно создавать направленный свет (по типу энтити light_spot), просто нужно красить в светящуюся текстуру ту сторону func_illusionary, в которую направлен свет, а остальные покрыть NULL.

P.S. при объединении нескольких func_illusionary, хаммер бывает тупит и не уменьшает значение энтити на карте, для обновления значения я вырезал всю карту и вставлял ее в новый проект.

Автор: hypax
Дата: 03.03.2014