освещение как в terraria
| |
gin101 | Дата: Воскресенье, 12 Февраля 2012, 15:14 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| помогите пожалуйста сделать освещение привязанное к сетке как в terraria, а то я уже давно пытался сделать, но у меня так ничего не получилось.
|
|
| |
lsdstyle | Дата: Воскресенье, 12 Февраля 2012, 15:23 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| qin, что мешает использовать google.ru ? Вот пожалуйста.. Не тестил, не знаю работоспособность Или вот это, по описанию должен быть хороший.
Сообщение отредактировал lsdstyle - Воскресенье, 12 Февраля 2012, 15:23 |
|
| |
gin101 | Дата: Воскресенье, 12 Февраля 2012, 15:29 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Quote (lsdstyle) qin, что мешает использовать google.ru ? Вот пожалуйста.. Не тестил, не знаю работоспособность Или вот это, по описанию должен быть хороший. мне нужно как в terraria
Сообщение отредактировал gin101 - Воскресенье, 12 Февраля 2012, 15:34 |
|
| |
-MaX- | Дата: Воскресенье, 12 Февраля 2012, 15:32 | Сообщение # 4 |
частый гость
Сейчас нет на сайте
| Если динамичное и 16х16 то ничего не выйдет
|
|
| |
gin101 | Дата: Воскресенье, 12 Февраля 2012, 15:35 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Quote (-MaX-) ничего не выйдет почему?
|
|
| |
FadeBaker | Дата: Воскресенье, 12 Февраля 2012, 15:50 | Сообщение # 6 |
JavaSE Game Developer
Сейчас нет на сайте
| gin101, здесь посмотри. Может, найдешь то, что нужно.
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Сообщение отредактировал Fade - Воскресенье, 12 Февраля 2012, 15:51 |
|
| |
Spider_System | Дата: Воскресенье, 12 Февраля 2012, 15:55 | Сообщение # 7 |
Злой прогер-пьяница
Сейчас нет на сайте
| залить весь экран черным и где должно быть освещение динамически рисовать дырки с градиентом, если гамак такое умеет - имхо, самый простой вариант
Маньяк. Убийца. Социопат. Анархист. Мой проект: Spider System Исходники Spider System
Сообщение отредактировал Spider_System - Воскресенье, 12 Февраля 2012, 15:56 |
|
| |
-MaX- | Дата: Воскресенье, 12 Февраля 2012, 16:01 | Сообщение # 8 |
частый гость
Сейчас нет на сайте
| Гамак не умеет с нормальной скоростью просчитывать освещение для нескольких тысяч объектов. Можно конечно сделать освещение окружностями и т.п. но точно так как в террарии вряд ли.
|
|
| |
gin101 | Дата: Воскресенье, 12 Февраля 2012, 16:14 | Сообщение # 9 |
частый гость
Сейчас нет на сайте
| Quote (Fade) gin101, здесь посмотри. Может, найдешь то, что нужно. спасибо! нашел один пример +Добавлено (12.02.2012, 16:14) ---------------------------------------------
Quote (gin101) Гамак не умеет с нормальной скоростью просчитывать освещение для нескольких тысяч объектов. Можно конечно сделать освещение окружностями и т.п. но точно так как в террарии вряд ли. зачем же для нескольких тысяч можно просчитывать только те на которые попадает свет
|
|
| |
-MaX- | Дата: Воскресенье, 12 Февраля 2012, 16:32 | Сообщение # 10 |
частый гость
Сейчас нет на сайте
| ну удачи, может что и получится
|
|
| |
Robin-Locksley | Дата: Понедельник, 13 Февраля 2012, 13:00 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| Quote (-MaX-) Гамак не умеет с нормальной скоростью просчитывать освещение для нескольких тысяч объектов. Можно конечно сделать освещение окружностями и т.п. но точно так как в террарии вряд ли. Неверно. Во первых не нужно просчитывать освещение для нескольких тысяч обьектов, только для тех что в пределах вида. Во вторых такое освещение это по сути квадратный черный спрайт с разной степенью прозрачности, что в гм реализовать очень легко, "главное приложить ручки". Можно с помощью события рисования и всего одного обьекта, или же в степ динамически меня альфу для отдельного обьекта-кубика по всему виду, в зависимости от того, насколько далеко "источник освещения".
GameMaker Easy Menu
|
|
| |
-MaX- | Дата: Понедельник, 13 Февраля 2012, 15:01 | Сообщение # 12 |
частый гость
Сейчас нет на сайте
| Ну что ж смотри, возьмём небольшой вид скажем 800x600 а размер кубика 16x16 и что получаем, да да 1900 кубиков, можно конечно извращаться по разному, можно рисовать на сурфе, а затем заносить в стек те значения которые возможно изменятся, и проверять их и т.д. и т.п. но добиться производительности C# будет сложновато.
|
|
| |
monowar71 | Дата: Понедельник, 13 Февраля 2012, 15:48 | Сообщение # 13 |
постоянный участник
Сейчас нет на сайте
| Не проще ли будет нарисовать градиентный альфа-канал?!
Мои проекты: Secrets of Space(Reload)
|
|
| |
FadeBaker | Дата: Понедельник, 13 Февраля 2012, 16:21 | Сообщение # 14 |
JavaSE Game Developer
Сейчас нет на сайте
| Robin-Locksley, в своем проекте делал также, нужного эффекта почти достиг, но при такой реализации FPS значительно падал.
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
|
|
| |
Robin-Locksley | Дата: Понедельник, 13 Февраля 2012, 16:33 | Сообщение # 15 |
постоянный участник
Сейчас нет на сайте
| Fade, реализации путем 1000 обьектов или путем присования одного и того же спрайта по массиву ячеек в одном обьекте? При 1000 тайлов в пределах вида фпс падает незначительно, не в жизнь не поверю, что один обьект, рисующий столько же спрайтов будет жрать фпс сильнее. Ко всему можно подойти несколькими путями.
Алсо, Quote (-MaX-) Ну что ж смотри, возьмём небольшой вид скажем 800x600 а размер кубика 16x16 и что получаем, да да 1900 кубиков, можно конечно извращаться по разному, можно рисовать на сурфе, а затем заносить в стек те значения которые возможно изменятся, и проверять их и т.д. и т.п. но добиться производительности C# будет сложновато. Во первых 2к обьектов для гм пустяк, если они не содержат действий. При 3-3,5к обьектов, мое железо (довольно древнее) практически стабильно выжимало до 100 фпс. Мало? Алсо, кто говорит про производительность? Тот, кого интересует производительность не выберет гамак, потому как единственная причина, по которой он все еще не пригоден для более менее сложных игр это графический движок. Алсо, Никто не стремится добиться производительности Си или любого другого языка высокого уровня. 30-40 фпс самое оно. Алсо, сурф даст еще более убийственный фпс, при том что сурфы работают не у всех.
GameMaker Easy Menu
|
|
| |
-MaX- | Дата: Понедельник, 13 Февраля 2012, 17:48 | Сообщение # 16 |
частый гость
Сейчас нет на сайте
| Quote (Robin-Locksley) Во первых 2к обьектов для гм пустяк, если они не содержат действий. При 3-3,5к обьектов, мое железо (довольно древнее) практически стабильно выжимало до 100 фпс. Мало? Рассмешил, спасибо. Мы говорим не о сферических объектах в вакууме, а о вполне обычных объектах альфа которых получается путём нахождение средней величины соседних объектах.
Quote (Robin-Locksley) Алсо, сурф даст еще более убийственный фпс, при том что сурфы работают не у всех. а то что большую половину этого сурфа придётся перерисовывать каждый шаг это не считается?
|
|
| |
Robin-Locksley | Дата: Понедельник, 13 Февраля 2012, 22:09 | Сообщение # 17 |
постоянный участник
Сейчас нет на сайте
| Quote (-MaX-) Рассмешил, спасибо. Мы говорим не о сферических объектах в вакууме, а о вполне обычных объектах альфа которых получается путём нахождение средней величины соседних объектах. Я сейчас немного не трезв, поэтому пеняй на себя Ты сам тест проводил? А может быть твой мозг не потянет даже кода, который все это обиграет? м? Мы говорим об обычных обьектах, значение альфы которых вообще можно присваивать через другой обьект, что исключает использование каких либо действий в них. А как на счет обьекта, которые просто рисует спрыйты? О нем ты тоже можешь что нибудь псевдоумное сказать? Или ты даже массивами или другими датаструктурами пользоваться не в состоянии? м? Я слышу только "бла-бла-бла". Quote (-MaX-) а то что большую половину этого сурфа придётся перерисовывать каждый шаг это не считается? Идиотичность этого утверждения повергает меня в ступор. Меденная работа с сурфами усугубляется всеми возможными и невозможными способами, при чем некоторые из них озвучиваешь ты сам. При этом ты еще умудряешься меня как то обвинить в чем то. То ли идиот, то ли толль, хрен разберешь. Ты уж определись, ты за сурфы или против.
GameMaker Easy Menu
|
|
| |
AGENTX001 | Дата: Понедельник, 13 Февраля 2012, 23:14 | Сообщение # 18 |
почётный гцупер
Сейчас нет на сайте
| Вы тут чёто нето мдрите!) Насчёт освещения, я сам так делал - допустим у нас ящик (32х32), рисуем чёрные квадраты градиент от 75% непрозрачности до 0% непрозрачности (чёрный 32х32). Квадратиков нужно столько, со скольких направлений будет падать свет (я делал 8, меня вполне устраивало.) Потом дравим спрайт ящика, а сверху получёрный квадратик. Знаю, что неясно описал, пример щас накидаю. Добавлено (13.02.2012, 23:14) --------------------------------------------- Вы тут чёто нето мдрите!) Насчёт освещения, я сам так делал - допустим у нас ящик (32х32), рисуем чёрные квадраты градиент от 75% непрозрачности до 0% непрозрачности (чёрный 32х32). Квадратиков нужно столько, со скольких направлений будет падать свет (я делал 8, меня вполне устраивало.) Потом дравим спрайт ящика, а сверху получёрный квадратик. Знаю, что неясно описал, пример щас накидаю.
|
|
| |
Qvant | Дата: Понедельник, 13 Февраля 2012, 23:31 | Сообщение # 19 |
почти ветеран
Сейчас нет на сайте
| сурфейсы vs пустых объектов !
1)Сурф придётся обновлять каждый шаг 2)вычислять альфу каждого блока каждый ход в пределах вида тоже не выход А потом будите говорить что ГМ у вас тормозит
Вот моё мнение как лучше реализовать такое освещение : берётся маленький спрайти натягивается на весь экран Всё ! вот вам и освещение и никаких тормозов
надо несколько источников источника света - отрисовываем эти маленькие спрайты в сурф с координатами свети и потом его растягивать на весь экран
теперь про блоки 16*16 как сделать без тормозов тысячи объектов в пределах вида? Блоки должны быть записаны в датаструктуре . Вначале рисуем все блоки в пределах вида в сурф и его выводим на экран... Если вид не меняется фон тоже не меняется , а при изменении вида просто дорисовываем новые блоки в старый сурф (соответственно его надо сдвинуть на 16*n пикселей) и сохраняем это в новом сурфе
|
|
| | |
|