![]() |
Реализация эффекта линз
С Блитцом идет пример: Blitz 3D Samples\AGore\GrassDemo
Там реализован эффект от линз, когда появляются блики при "попадании источника света в видимость камеры" Как реализовать подобный эффект с учетом того что истоник бликов может быть закрыт различными предметами (при закрытии источника света - блики исчезают). единственно что я догадался пользовать это Код:
EntityPickMode PF, 2 Есть ли другие способы определения видимости объекта или даже реализации самого эффекта более быстродействующие и/или более точные. |
Re: Реализация эффекта линз
ух.. прикольно... хочу так же.. Присоединяюсь к запросу..
|
Re: Реализация эффекта линз
Г-муха-ха!! А вот у меня в Матвее уже есть линзовые эффекты! Простов случае
[blitz]EntityPickMode PF, 2 If EnityVisible(Camera, PivotLight) Then Показать_Спарайты Else Спрятать_Спрайты End If[/blitz] У меня есть функция [blitz] Function Спрятать_спрайты Прозрачность каждого линза системы уменьшаем на 0,05 If прозрачность < 0 то Hide_entity все спрайты нах end function Function показать_спрайты If прозрачность спрайтов < 0 то Show_entity все спрайты, опять же, нах. Else увеличить прозрачность каждого спрайта на 0.05 end function [/blitz] Также вместо [blitz]If EnityVisible(Camera, PivotLight) Then[/blitz] можно сделать так: [blitz]If EnityVisible(Camera, PivotLight) and EntityInView PivitLightThen[/blitz] Так же я у себя уменьшаю/увеличиваю сияние солнца - так получается ещё красивее. Но помните - это всё кушает ресурсы. З.Ы. Ещё у меня есть вычисление косинуса угла между камерой и солнцем, что делает появление\исчезание линз полностью соответствующим реальности, но это всё убивает на корню производительность. Присоединяюсь к вогпросу: "Есть ли более точные/производительные решения?" :-) |
Re: Реализация эффекта линз
|
Re: Реализация эффекта линз
Не видел примера, но как понял, там нету материального объекта, как реализовть спрятание:
Значит, создаём в кажлом месте где нужно этот эффект сделать, сферу, с прозрачностью 0, далее в цикле, каждый период времени, просто делает CameraPick в точку полученную функцией CameraProject(координаты сферки), да и прописать пикаблемоде сфере и всему окружающему, что может загараживать, не забудь, так вот если пикедентити=сфера, то видно, если другой любой объект, то загороженно. |
Ответ: Реализация эффекта линз
Вот функция для бликов, но она отжирает фпс при нахождении в кадре 2 и более бликов ровно в 2 раза, вот это действительно проблема
Код:
Global flar.flare |
Ответ: Реализация эффекта линз
Спустя два с половиной года блики нашлись, УРА ТОВАРИЩИ УРА!!1!
|
Ответ: Реализация эффекта линз
Нашлись то нашлись, но жрут фпс, попробую сделать это на фасте, может чего добьюсь.
|
Ответ: Реализация эффекта линз
попробуй ничего не делать.
если кому-то внезапно понадобится эффект - ищем тут (видел как минимум 3 очень качественных) http://www.blitzbasic.com/codearcs/codearcs.php?cat=11 |
Ответ: Реализация эффекта линз
помоему EntityOrder линза,параметр.имха ща 3ночи сижу на сотике.смореть код -лень комп врубать.короч этой командой делаем линзу на задний план,её перекрывают другие объекты.или я туплю,башка не варит.я спать...
|
Часовой пояс GMT +4, время: 06:03. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot