Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 12.01.2010, 19:32   #1
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Как сделать туман войны?

Для стратегии, чтобы только вблизи юнита было видно карту.
Вообще чего-то туго... ни чего не получается.
Сделал с простым туманом, типа если далеко от юнита приблизить туман, как-то не очень прикольно...
Может кто делал?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
MOrtAl44444 (01.02.2011)
Старый 12.01.2010, 19:39   #2
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Как сделать туман войны?

Эхх...
Так создаёшь некий вспомогательный тип:
Type TFogOfWarHelper
Field x%
Field y%
Field life#
End Type
Дальше life каждого хелпера по дефолту допустим 10000 и постоянно уменьшается если рядом нет юнитов, если есть то 10000 фиксировано.
Хелперы создаются юнитом во время движения допустим каждые 2 секунды новый хелпер.
Затемнение делай системой квадов, которые будешь текстурой с маской просвечивать.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Старый 12.01.2010, 19:44   #3
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Ответ: Как сделать туман войны?

Не очень понял )) По подробнее бы...
(Offline)
 
Ответить с цитированием
Старый 12.01.2010, 20:34   #4
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Как сделать туман войны?

Сообщение от Damp Посмотреть сообщение
Для стратегии, чтобы только вблизи юнита было видно карту
это разведанная территория. "туман войны" распространяется только на видимость юнитов.
(Offline)
 
Ответить с цитированием
Старый 13.01.2010, 09:27   #5
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Ответ: Как сделать туман войны?

Ну может и так. Ни чего не получается.
Пробовал повесить плоскость над картой и рисовать в альфу над юнитом, стобы типа открывать видимость. Эффект конечно получить можно, но он сжирает половину фпс, этож надо постоянно сначала восстанавливать невидимость а потом на основании новых координат снова делать, ладно 1-2 юнита, а если 100... барада вобщем ))
(Offline)
 
Ответить с цитированием
Старый 05.02.2010, 15:02   #6
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Ответ: Как сделать туман войны?

Решение всетаки существует )) уже прикручиваю.
Работает с помощью функции Rect , только нужо было не упираться в рисование альфы, а поставить правильный бленд "шторке" прикрывающей левел.

radiantor дал пример:

Graphics3D 800, 600, 32;, 1
SetBuffer BackBuffer()

SeedRnd MilliSecs()

cam=CreateCamera()
MoveEntity cam,25,25,0
TurnEntity cam,60,0,0


tex3=CreateTexture(256,256,7); Текстура маска
ScaleTexture tex3,50,50
TextureBlend tex3,1 ; Со смешиванием текстур у мя туго, но методом тыка нашел что вот с этим работает

plane=CreatePlane()
EntityTexture plane,tex3,0,2
EntityBlend plane,2 ; И вот это тоже нужно.
; Думаю есть более правильный способ наложения, но пока сойдет

plane2=CreatePlane(); Типа сама карта - поле сражения
;Чтоб было виднее эффект, можно наложить на этот плейн текстуру
EntityColor plane2,256,0,0
MoveEntity plane2,0,-5,0

AmbientLight 100,100,100

While Not KeyHit(1)
time = MilliSecs()

Color 255,255,255
SetBuffer TextureBuffer(tex3)
Cls
For i%=1 To 1000 ;
Oval Rand(256),Rand(256),5,5,1 ; Пятно для каждого из 1000! юнитов
Next
SetBuffer BackBuffer()

RenderWorld

fr = fr + 1
If MilliSecs() - frTime >= 1000
fps = fr
fr = 0
frTime = MilliSecs()
EndIf

Color 255, 255, 255

Text 5, 5, "FPS : " + fps

Flip 0
Delay 0
Wend

End


резульат )
http://damp.ucoz.ru/newfog2.jpg
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо Damp за это полезное сообщение:
gforcer18 (17.03.2010), mauNgerS (01.02.2011), MOrtAl44444 (01.02.2011), Nex (01.02.2011), Reks888 (05.02.2010)
Старый 01.02.2011, 07:04   #7
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Как сделать туман войны?

А как быть с координатами?
Чтобы просвет был именно над юнитом?
PickedX()?
EntityX()?
(Offline)
 
Ответить с цитированием
Старый 01.02.2011, 16:02   #8
MrFrosT1
Оператор ЭВМ
 
Аватар для MrFrosT1
 
Регистрация: 11.12.2010
Сообщений: 41
Написано 11 полезных сообщений
(для 14 пользователей)
Ответ: Как сделать туман войны?

Как то не так получился туман войны. Просто карты вобще не видно.
(Offline)
 
Ответить с цитированием
Старый 05.02.2011, 10:30   #9
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Как сделать туман войны?

Сделал билбоард.
Затем закрыл карту этими билбоардами. назначил им EntityPickMode 2
Где есть пик убираю билбоард.
Работает вроде нормально, но у такого тумана резкие края (билбоар-квадрат без текстуры, с текстурой плохо), и тормозровато(((
Может кто знает про туман в этой теме?
(Offline)
 
Ответить с цитированием
Старый 11.02.2011, 00:49   #10
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Ответ: Как сделать туман войны?

натумань и воюй!!
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Alex_Noc за это полезное сообщение:
Nex (11.02.2011), Trazzy (16.02.2011)
Старый 11.02.2011, 09:47   #11
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Как сделать туман войны?

Сделай в игре дымовые шашки.
(Offline)
 
Ответить с цитированием
Старый 11.02.2011, 20:16   #12
mauNgerS
Разработчик
 
Аватар для mauNgerS
 
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений
(для 670 пользователей)
Ответ: Как сделать туман войны?

Получилось
EntityX
(Offline)
 
Ответить с цитированием
Старый 11.02.2011, 21:02   #13
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Как сделать туман войны?

Казаки: Европейские войны

Жанр: Историческая стратегия реального времени
Дата выпуска: IV квартал of 2000
Требования к системе: Pentium 200 или выше,
32 MB RAM (рекомендуется 64 M, Sound card
В этой игре как-то очень хитро сделали туман, так как игра не тормозила при 500 и больше юнитов на компах тех времён.
Как они это сделали? Только сейчас задумался...
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Старый 11.02.2011, 22:14   #14
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Вопрос Ответ: Как сделать туман войны?

По сравнению с возможностями Blitz3D... WarCraft 2000, StarCraft и т.п. более продвинуты по "туману войны".

А CS 2D на Blitze сделан?
Просто инфа у меня когда-то мелькнула..
И Carnage Contest..

Может они на BMax? А то там и туман войны, сервак под Linux

А так стоит поискать теорию, например "fog of war ... ммм система? способ?" Чё по англ писать то?..

Вот пока тупо чего нашёл:
http://en.wikipedia.org/wiki/Fog-of-war
(Offline)
 
Ответить с цитированием
Старый 12.02.2011, 06:53   #15
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Как сделать туман войны?

Секрет скорости Казаков
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо Nex за это полезное сообщение:
Igor (12.02.2011), LLI.T.A.L.K.E.R. (13.02.2011), St_AnGer (12.02.2011), Жека (12.02.2011)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 13:56.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com