|
Xors3D Графический движок с поддержкой DirectX9 |
11.02.2011, 16:44
|
#16
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Тени в Xors3d
Пока сидел на работе - понял почему тени глючат. В этих местах на руках у модели при создании карты текстуры полигоны "смяты", то есть не растянуты. Видимо тени накладываются прямо по текстурной сетке модели, если где-то текстура криво наложена - там и тень будет кривая. В общем будут перетекстурировать. По этой теме сразу вопрос - есть какие-нить простые программы для создания автоматической текстурной выкройки модели (3D Max не особо хочется ставить ради этого, бо я привык к другим программным продуктам, хотелось бы чего-нить небольшое и относительно узкоспециализированное).
По поводу анимации - экспортил из Милки, я в ней всю анимацию привык делать. Там стоит 29 кадров, если ты об этом. Менять скорость при экспорте нельзя. В оригинальном блице никаких подтормаживаний, менял скорость как угодно - всегда плавно моделька двигалась. Проблема возникла только на ксорсе.
Я про то, чтобы не было как в блитце: если фпс много - все персонажи носятся по уровню как торпеды, если фпс мало - все происходящее на экране будто в киселе. В блитце приходилось фиксировать фпс, делать таймеры и через CaptureWorld и цикл вручную выравнивать скорость игры - получалось что при большом или низком фпс игра продолжала идти с нужной скорость.
|
(Offline)
|
|
11.02.2011, 16:47
|
#17
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Тени в Xors3d
Тени от текстурной развертки модели почти никак не зависят. Исключая маски текстур.
Милкшейп - неадекватное говно, надо ковырять модель и смотреть чего оно там натворило.
По FPS - ну я же говорю, твиннинг есть как в блитзе, ну и по ссыле погляди.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.02.2011, 17:03
|
#18
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Тени в Xors3d
Если бы был другой такой простой редактор костной анимации как милка... Пробовал анимировать в максе - не могу привыкнуть к его управлению и громоздкости
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.02.2011, 23:10
|
#19
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Тени в Xors3d
Кстати, решил ваш пример с анимацией проверить, где кузнецу можно шею сворачивать. Замедлил анимацию - те же подергивания времени от времени, будто фпс проседают на секунду через пять.
з.ы. разрешение экрана 1680х1050, видеокарта Radeon HD4770, драйверы самые последние.
з.з.ы. заметил - если запускать в окне и без вертикальной синхры - все норм.
|
(Offline)
|
|
11.02.2011, 23:33
|
#20
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Тени в Xors3d
Да. Такое вполне возможно, если ФПС слишком высок. Парадоксально и смешно, да хД? Тут в моем последнем посте (там, где о "choppy animation") подробнее о причине этого явления и том, как его избежать http://area.xors3d.com/forums/tracker.php?p=1&t=66
В кратце: для синхронизации анимации используется таймер с точностью 1мс, т.к. в реальной более-менее серьезной 3д игре в ближайшие лет 5 скорость обновления одного кадра вряд ли будет меньше 1мс. В мелких тестах кадр как раз обновляется меньше, чем за 1 мс. Поэтому этот таймер в основном возвращает 0мс и лишь иногда иное значение. При нулевом значении анимация просто не проигрывается. Поэтому получается так: анимация - плюем в потолок - плюем в потолок - плюем в потолок - анимация - плюем в потолок - плюем в потолок - плюем в потолок... Из-за этого анимация дергается.
Решение - ограничивать ФПС хотя бы на уровне 500.
__________________
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
|
|
11.02.2011, 23:35
|
#21
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Тени в Xors3d
Благодарю, приблизительно о такой синхронизации я и спрашивал, просто не знал как правильно описать
Мда, облом:
"You do not have the permission to view the tracker. If you believe this is an error please contact the board administrator." (с)
Нельзя ли вынести сюда это решение, желательно в форме примерного кода?
|
(Offline)
|
|
11.02.2011, 23:45
|
#22
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Тени в Xors3d
Схема ограничения частоты обновления такая:
Const FPS% = 60
Global period# = 1000 / FPS
Global time% = MilliSecs() - period
Global Ticks#, elapsed%
While AppRunning()
nFPS_Int = xGetFPS()
Repeat
elapsed = MilliSecs() - time
Until elapsed
Ticks = elapsed / period
For k% = 1 To Ticks
time = time + period
GameLogicUpdate() ; тут обновляется вся логика
xUpdateWorld() ; тут надо пробовать. Возможно стоит вынести за пределы ограничивающего цикла
Next
xRenderWorld()
xFlip()
Wend
End
Вообще подобного кода на оффсайте блитца завались. Правда некоторый может глючить. Не особо разбирался в причинах.
Можно еще твиннинг вкрутить, для того чтобы анимация оставалась плавной при низкой частоте обновления логики.
Но во всяких демках с большим ФПС проблема все равно останется, потому что xRenderWorld() все равно каждый кадр вызывается. Тогда его или в ограничивающий цикл надо засунуть, что перечеркнет весь смысл твиннинга. Или просто delay(2) вставить.
__________________
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
|
|
11.02.2011, 23:46
|
#23
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Тени в Xors3d
Сообщение от Amatsu
Мда, облом:
"You do not have the permission to view the tracker. If you believe this is an error please contact the board administrator." (с)
Нельзя ли вынести сюда это решение, желательно в форме примерного кода?
|
В твоем случае просто вставить Delay(2) в начале главного цикла. А лучше Delay(16) хД.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.02.2011, 22:56
|
#24
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Тени в Xors3d
Заметил небольшой косяк теней (хотя конечно возможно это косяк b3d-модели, но все же) - если анимируемая модель состоит из нескольких сурфейсов, и один из сурфейсов оказывается вне зоны видимости камеры - его тень замирает, будто останавливается анимация. В то время как остальная модель продолжает двигаться и отбрасывать адекватную тень. Возможно это даже не глюк системы теней, возможно что это сурфейс на самом деле, выпадая из поля зрения камеры прекращает анимироваться. Мой ли это косяк, и если нет - как обойти?
http://images.tvlg.ru/images/15441547220595234869.jpg
з.ы. и есть ли в ксорсе какой-то аналог MeshCullBox? Возможно расширение кулбокса модели помогло бы
з.з.ы. я чувствую скоро меня все будут посылать к черту, бо беспокою по малейшему поводу %D Заранее прошу прощение за свою тупость, если она всему виной
|
(Offline)
|
|
18.02.2011, 23:00
|
#25
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Тени в Xors3d
Да, для невидимых сюрфей1сов пропускается скиннинг. Возможно стоит впилить флаг который насильно анимирует их когда это необходимо.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.02.2011, 23:01
|
#26
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Тени в Xors3d
Сообщение от Knightmare
Да, для невидимых сюрфей1сов пропускается скиннинг. Возможно стоит впилить флаг который насильно анимирует их когда это необходимо.
|
Этот флаг впиливается в конвертере, например пайплайне, или какой-то командой в ксорсе? Если второе - пойду гуглить
|
(Offline)
|
|
18.02.2011, 23:02
|
#27
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Тени в Xors3d
Я говорил о впиливании его в движок.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.02.2011, 23:03
|
#28
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Тени в Xors3d
Ок, тогда буду ждать апдейта
|
(Offline)
|
|
28.02.2011, 01:28
|
#29
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Тени в Xors3d
Скачал февральскую ревизию. Не нашел чего хотел. Можно поинтересоваться, появится ли в ближайшее время фикс для команды анимации, чтобы анимация сурфейсов (пардон) за пределами камеры не прекращалась? Или хотя бы подскажите, как эту проблему решить существующими средствами. Заранее благодарен
И да, еще интересный момент заметил. У меня после обновления теперь при прописывании команды xPhysicsDebugRender 1 скомпилированное приложение молча моментально закрывается. Но тут еще посмотрю, может мой косяк где. Хотя со старой ревизией работало норм
|
(Offline)
|
|
10.03.2011, 22:38
|
#30
|
Дэвелопер
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений (для 2,706 пользователей)
|
Ответ: Тени в Xors3d
Скажите плиз, вообще реально использовать тени ксорса при ортографическом рендере камеры? Потому что если использовать их с дефолтными настройками в этом режиме их нехило так колбасит
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:31.
|