![]() |
Оптимизация: Отбрасывание невидимых пол&
Помогите пожалуйсто как это реализовать, сцена большой моя будет а FPS хочеться сберечь:4to:
ЦИТАТА: Даже лучшие игровые программисты не могут обработать 300 000 треугольников на современных 3D картах при сохранении 60 fps. Карты просто не обладают такой мощью, поэтому нам нужно приложить некоторые усилия для отбрасывания полигонов, которые человек не видит, перед передачей сцены карте. Этот процесс называется отбрасыванием невидимых вершин и полигонов (culling). Ссылка на статью: http://content.mail.ru/arch/20764/1074136.html |
Ответ: Оптимизация: Отбрасывание невидимых пол&
Вот по этому для игр делают лоу поли модели, и не юзают мешсмуф.
Отбрасывать имхо лучше невидимые меши. Тобиш установить радиус на котором меш появляется. Так вот и локации по кускам грузить. |
Ответ: Оптимизация: Отбрасывание невидимых по
Цитата:
Если будет большая сцена - руби ее на мелкие части (разумно мелкие), установи CameraRange поменьше, грузи сцену AnimMesh-ем. |
Re: Оптимизация: Отбрасывание невидимых по
Я не сильно знаю всю внутрянку Blitz3D. Но как вам моя тормознутая идея : Если в загружаемой модели каждый вертекс подвергнуть проверке на видимость и если что пнуть вертекс Hide-ом. Хотя можно и не отвечать ответ впринципе и так ясен.
Но всё-таки эта реальная штука обрезка поликов, я в GTA когда играл там эту прогу глюкануло и я увидел сцену в каком-то клубе над головой игрока и там был чётко виден этот эффект. ================================================== ======================= Сначало предисловие чтоб ввести всех в курс дела: Я юзаю PhysX_Wrapper, под редактор уровней заделал "Gile's" под свои нужды изменил парсер файлов B3D выпущеных из этой проги. Ставлю пивоты а по ним уже загружается всё что нужно. Так вот что я хочу сделать для оптимизации(или что у меня уже сделано): Каждый файл из редактора DarkAge_PhysX_Editor - исчезает на одном расстоянии и засыпает на другом, Зданий у меня будет несколько и каждое будет исчезать на расстоянии. Текстуры хочу заюзать DDS естественно с mip_mapping-ом. Дюмаю этого пока хватит.( Видюха правдо древность GForce4MX, никакими шейдерами и DirectX9 там и не пахнет) Одна только проблема мля убивает реально: Max9 не грузит pipeline, точнее её либу для экспорта в B3D, Хотел оживить бравого парня в программе, есть у меня прога, с костным анимом работает, но ЖУТКО неудобная "CharacterFX" Может даст кто файл b3dexp.dle (так он вроде зовётся) для 9-го макса ??? Ну если вы разобрались в той хрени которую я написал то... . Кто поделится опытом создания более-менее серьёзных работ ??? Я просто решил сделать обьёмный проект, и как следствие его надо продумать как можно тщательней. От.... ой мля, даже страшно представить сколько всего надо учесть и чего надо будет напрограммить. Так что пожалуйсто, подскажите если есть где подводные камни, и чем мне удобней будет создавать игровую программу, точнее какими инструментами вы пользуетесь. Вообщем постараюсь не флудить особо, пущай ветка может поживёт пару дней а там админами её в топку. |
Ответ: Оптимизация: Отбрасывание невидимых по
резать полигоны - комп умрет, слишком тормозно
нужно обновлять мир только близж лежащих к игроку територий а остальные територии отгружать вообще (если большие открытые пространства не планируются) |
Ответ: Оптимизация: Отбрасывание невидимых по
По-моему, в DX уже есть отсечение невидимых поликов на аппаратном уровне - T&L - Transform, Clipping, Lightning. Вот он как раз и должен отсекать то что находится позади камеры. (тут я мог и ошибиться)
Что насчёт того, что находится в видимости камеры, то тут рулит LoD система (на откр. пространствах) и система порталов в коридорах. |
Ответ: Оптимизация: Отбрасывание невидимых по
нет. аппаратно отрезается только обратная (невидимая) сторона триугольника.
объекты, которые не попадают в зону видимости камера - их обрезкой занимается движок, называется ета хрень - frustum culling. |
Re: Оптимизация: Отбрасывание невидимых по
Кто что думает насчёт тупого скрытия объекта который не виден игроку командой "HideEntity" пока не пробовал но по идее должно хоть както сохранить ресурсы компа.
Ладно, практической теории я не нашёл здесь, да в принципе и не особо надеялся. Одна блин, философия по принципам 3D программинга. Буду расчитывать на собственные силы, twin# скинул в ноль, глюки есть, несмертельные зато, FPS порезвей стали прыгать :-) Единственная просьба - помогите запустить Pipeline под Max9. Ссылка на 100% рабочий файл должна ведь быть у кого-то? |
Ответ: Оптимизация: Отбрасывание невидимых по
Цитата:
ликбез: объекты итак не отрисовываются, которые не попадают в зону видимости камеры. (имеет смысл таким макаром скрывать локации, комнаты, коридоры, другими словами "составные" объекты) Цитата:
или отменил вертикальную синхронизацию с Flip(0) , если второе - то молодец, правильный шаг, если первое то даже хз. Цитата:
http://likosoft.ucoz.ru/load/21-1-0-35 |
Ответ: Оптимизация: Отбрасывание невидимых по
Цитата:
Цитата:
Цитата:
|
Ответ: Оптимизация: Отбрасывание невидимых пол&
Цитата:
|
Ответ: Re: Оптимизация: Отбрасывание невидимых по

|
Ответ: Оптимизация: Отбрасывание невидимых по
Цитата:
скажем второй куб, который на самом деле не виден, с точки зрения компьютера раз находится в области видимости камеры (камера его видит) то он видим. Цитата:
это не одно и то же. попробуй скрывать модель в зависмости от расстояния, когда она и так бы образалась дальней плоскостью отсечения. ничего не выйдет. вот, кстати, статья(комментированный исходник) о ЛОДе, может кому пригодиься: http://likosoft.ucoz.ru/publ/3-1-0-21 |
Ответ: Оптимизация: Отбрасывание невидимых по
Цитата:
Код:
mode=1 |
Ответ: Оптимизация: Отбрасывание невидимых по
Код:
mode=1 |
Часовой пояс GMT +4, время: 22:50. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot