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

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

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

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

Ответ
 
Опции темы
Старый 10.01.2011, 00:35   #1
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Смущение Тень в AShadow lib

Подскажите пожалуйста возможно ли зделать так чтоб АШедоу отбрасывал тень от обьектов с альфа прозрачностю, вне зависимости от их прозрачности?

Короче расскажу на примере. Игра, вид сверху, типок забегает в дом и крыша дома делается прозрачной на 75%. Как только альфа канал крыши из 100% стает 99% так сразу пропадают нужные мне тени, а появляются такие, как будто дом реально без крыши. Как зделать чтоб ети тени оставались?



Ну и рас уж одно спросил то спрошу уже все:
Может ли обьект быть одновременно и кастером и ресивером? Типа бегает мой перс, пускает тень напол, а на него например пускает тень дом?

Я стыкнулся с проблемой, ФПС ограничитель мешает работе ашадоу. А мешает тем образом, что размывает изображение, типа бегу я, а за мной ище один полупрозрачный я...
Алгоритм ФПС таков:
Global period
Global FPS=40 
Global time,elapsed,ticks,tween#
period=1000/FPS
time=MilliSecs()-period


Repeat
Repeat
  elapsed=MilliSecs()-time
Until elapsed
 ticks=elapsed/period
 tween#=Float(elapsed Mod period)/Float(period)
 For k=1 To ticks
  time=time+period
  If k=ticks Then CaptureWorld

ЛОГИКА

ARenderWorld Cam,1,.6 ;- Если ето команда до "Next" - появляется тот лаг.

Next

ARenderWorld Cam,1,.6 ;- А если после, то все гуд, но насколько я понимаю я теряю немного в плавности смены кадров?

Flip
Until KeyHit(1)
End

Заранее спс

Последний раз редактировалось Hulk-DS, 10.01.2011 в 01:23. Причина: Добавил рисунок!
(Offline)
 
Ответить с цитированием
Старый 10.01.2011, 04:14   #2
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Тень в AShadow lib

Ух.

По поводу размытия:
1) Открываешь ashadow.bb
2) ищешь ARenderWord и читаешь
3) повторяешь пункт 2, пока не поймёшь откуда размытие

1 объект и кастером и ресивером может быть.


Тут же неправильно тень лежит.

Строчку:
For k=1 To ticks
time=time+period
If k=ticks Then CaptureWorld
Убрал бы.


ARenderWorld делать только после цикла!

Очевидные советы:
1) Взять FastExt. Она не конфликтует с Windows 7 и в отличии от AShadow всё ещё поддерживается автором.
Хотя ANDREYMan вроде вернулся в геймдев и мы можем ждать от него стабильную версию AShadow.

2) В TopDown игре тени можно и руками написать (просто вниз отбрасывать их и всё как в GTA 1,2)

Кодом не поделюсь ибо нет Blitz3d
__________________
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)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
Артем Валерьевич (21.01.2011), Hulk-DS (10.01.2011)
Старый 10.01.2011, 04:36   #3
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Ответ: Тень в AShadow lib

Биг спс.

Если "ARenderWorld делать только после цикла!" тогда проблема с размытием моя снята, но если у когото есть ответ, буду рад услышать.

Оке, строчку уберем

А насчет ашадоу, пока она будет меня устраивать, буду юзать, ато FastExt для меня немного замысловатый...

А насчет
1 объект и кастером и ресивером может быть
Я так понимаю там нужно углублятся в хелп по ашадоу, или там просто есть какойто параметр чтоб выставить?

Ну с етим всем ето хорошо, главный вопрос, что там с тенью в домике


Тут же неправильно тень лежит.
спасибо кеп
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 16:54   #4
ANDREYman
Нуждающийся
 
Аватар для ANDREYman
 
Регистрация: 17.12.2010
Адрес: Санкт-Петербург
Сообщений: 87
Написано 55 полезных сообщений
(для 214 пользователей)
Ответ: Тень в AShadow lib

На вин7 всё работает.

Сообщение от Halk-DS
Подскажите пожалуйста возможно ли зделать так чтоб АШедоу отбрасывал тень от обьектов с альфа прозрачностю, вне зависимости от их прозрачности?
Должен отбрасывать, см. скрин ниже
Думаю проблема не в прозрачности.
PS
Какая версия библиотеки?
Миниатюры
Нажмите на изображение для увеличения
Название: screenshot.jpg
Просмотров: 886
Размер:	16.0 Кб
ID:	12360  
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Leowey (12.01.2011)
Старый 12.01.2011, 17:07   #5
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Ответ: Тень в AShadow lib

Выдрал из Ashadow.bb

Const ShadowLibraryVersion$="1.0.9.9"


У меня альфа канал плавно падает с 1.0 до 0.3 когда перс подбегает к домику.
Вот скрин альфа 1.0:





Вот скрин фльфа 0.9:





А в первом посте скрин альфа 0.25
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 17:15   #6
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Ответ: Тень в AShadow lib


Я так понимаю появление ANDREYman в етом топике является свидетельством етой строчки:
Хотя ANDREYMan вроде вернулся в геймдев и мы можем ждать от него стабильную версию AShadow.
Да прибудет с нами Шедоу мастер!
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 17:26   #7
ANDREYman
Нуждающийся
 
Аватар для ANDREYman
 
Регистрация: 17.12.2010
Адрес: Санкт-Петербург
Сообщений: 87
Написано 55 полезных сообщений
(для 214 пользователей)
Ответ: Тень в AShadow lib

попробуй так:
сделай ей entityAlpha 0, скопируй и меняй прозрачность копии(которая будет ресивером с параметром 0 ).
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Hulk-DS (12.01.2011)
Старый 12.01.2011, 18:01   #8
ANDREYman
Нуждающийся
 
Аватар для ANDREYman
 
Регистрация: 17.12.2010
Адрес: Санкт-Петербург
Сообщений: 87
Написано 55 полезных сообщений
(для 214 пользователей)
Ответ: Тень в AShadow lib

Нет, не пробуй так

Новый план:
1. Скачай обновлённую библу с сайта
2. Оставь всё как у тебя раньше было, только крыше сделай EntityZfail entity, 2
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Hulk-DS (12.01.2011)
Старый 12.01.2011, 18:22   #9
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Ответ: Тень в AShadow lib

Незнаю правильно ли я все понял. Но дело было так:

Загружаем етап:
...
D\Obj=ALoadAnimMesh("***.B3D",0,2)
EntityAlpha FindChild(D\Obj,"roof"),0
D\ObjCopy=ACopyEntity(D\Obj,0,0)
D\Roof=FindChild(D\ObjCopy,"roof")

Дальше бла бла бла
И в цыкле есть функция упдейта списка: D.Objeckts
Там определяется переменная D\RoofAlpha#

И в конце функции:
EntityAlpha D\Roof,D\RoofAlpha#
Подвога в собственном коде что я не написал в примере - не вижу...

Изменений нет



Прочитал пост, увидел, делаю.......................
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 18:43   #10
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Ответ: Тень в AShadow lib

От теперь уже ближе к телу
Вот результат:
RoofAlpha#=1




RoofAlpha#=.9




RoofAlpha#=.25



Как видно в момент перехода освещение немного пестрит глаз, но я так понимаю что уже ничего зделать нельзя? (Скрин№2)
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 18:59   #11
ANDREYman
Нуждающийся
 
Аватар для ANDREYman
 
Регистрация: 17.12.2010
Адрес: Санкт-Петербург
Сообщений: 87
Написано 55 полезных сообщений
(для 214 пользователей)
Ответ: Тень в AShadow lib

Как не странно, можно

попробуй так:
сделай ей entityAlpha 0, скопируй и меняй прозрачность копии(которая будет ресивером с параметром 0 ).
(Offline)
 
Ответить с цитированием
Старый 12.01.2011, 19:25   #12
Halk-DS
Разработчик
 
Аватар для Halk-DS
 
Регистрация: 09.08.2006
Адрес: Украина
Сообщений: 431
Написано 65 полезных сообщений
(для 53 пользователей)
Ответ: Тень в AShadow lib

Спасибо огромное. Проблема решена и все отлично работает! Я даже понял сам принцип!!!!111пыщ-пыщ

Вопрос закрыт!

п.с. Возможно я еще вернусь к етой теме некоторое время спустя
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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