Вопросы, вопросы, вопросы...
|
|
ninth | Дата: Четверг, 30.09.2010, 18:54 | Сообщение # 61 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Quote (Michman) Желаю удачи. А цели какие? Спасибо. Целей несколько: * Расширить сообщество за счёт тех, кто ищет именно конструктор (по аналоги с CMS - ты собираешь сайт из нужных модулей, которые пишут разные люди со всего света, а когда тебе начинает не хватать возможностей какого-то модуля, то ты садишься и переделываешь его или пишешь новый) * Конечно же использовать полученный конструктор в своих разработках ) * Увеличить возможность распределённой работы над проектами - когда программеры каждый занимается своим модулем при этом не мешая другим и не оказываясь в ситуации, когда все ждут одного. Удачи в разработке ) Будем ждать WIP тему )
|
|
| |
BlackCat | Дата: Пятница, 01.10.2010, 04:59 | Сообщение # 62 |
Подполковник
Группа: Проверенные
Сообщений: 144
Награды: 0
Репутация: 1
Статус: Offline
| Quote (BVOG) QuoteРекомендую установить более новые драйвера. Уже ставил - видеокарта своё поведение не изменила. Таки есть ешё вариант. Я его всегда для себя применяю. Беру несколько разных драйверов. Делаю образ системы предварительно. После чего начинаю эти самые драйвера устанавливать и смотреть как они себя ведут. Обычно нужно перебрать 6-8 разных версий драйверов, пока найдёшь нормальные. Встречались такие случаи, когда отлично идёт видео, а игры тормозят. Есть такие, когда игры летают просто, а обычное видео тормозит, заодно со всей виндой. Но в конечном итоге находятся драйвера, которые нормально тянут и то и другое. Вот потом на этих драйверах я и "сижу" до посинения, не меняя их на другие. Так что можно попробовать и такой вариант. Хоть он и более напряжный и требует некоторого времени на установку и тестирование.
http://alphahole.do.am - версия 0.015 вышла 22.02.10
|
|
| |
BVOG | Дата: Пятница, 01.10.2010, 08:16 | Сообщение # 63 |
Полковник
Группа: Проверенные
Сообщений: 184
Награды: 0
Репутация: 4
Статус: Offline
| BlackCat, можно будет попробывать, или перейти в другую комнату и сесть за нормальный комп.
Skype: thebvog
|
|
| |
fate | Дата: Четверг, 14.10.2010, 00:05 | Сообщение # 64 |
Рядовой
Группа: Пользователи
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline
| а как устанавливать экспортер chicken в блендер расскажите пожалуйста
|
|
| |
BVOG | Дата: Четверг, 14.10.2010, 15:59 | Сообщение # 65 |
Полковник
Группа: Проверенные
Сообщений: 184
Награды: 0
Репутация: 4
Статус: Offline
| Скачиваешь. Разархивируешь. И копируешь в папку с модулями на питоне Blender-а.
Skype: thebvog
|
|
| |
ninth | Дата: Четверг, 14.10.2010, 23:06 | Сообщение # 66 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Там, кстати, инструкция есть.
|
|
| |
Michman | Дата: Вторник, 18.01.2011, 16:20 | Сообщение # 67 |
Лейтенант
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 0
Статус: Offline
| Снова Здарова Всем! Пропал я с этой работой. Совсем времени не хватает... Вот появилось немного времени... Есть проблемка связанная с ограниченностью то ли Панды, то ли видеокарты моей(маловероятно). При попытке отрисовать более 1000 объектов в сцене fps падает ниже 30. Кто-то скажет: куда больше? А если подумать, то, к примеру, в RTS стратегии количество моделек нередко переваливает за эту 1000. Но это касается именно одновременного отображения всех моделек на экране монитора. И это без "костей" и анимации. А если, скажем, модельки состят из нескольких частей, например, из 5-ти каждая, то всего 200 моделек получается. И неважно сколько полигонов в модельках, хоть по 1-му полигону. Загружал полигон, множил его до 1000 и... менее 30 fps обеспечено. Шейдеры отключены, модели без текстур, источник света - один Spotlight. На DirectX получше, но всё равно не то - 1200-1300 объектов. В коде ничего лишнего нет, никакой логики ещё не програмировал, только то, что отвечает за вывод на экран моделек. Непонятно почему именно такая Ф... получается? Опять пресловутая скриптовость Python? Дело в том, что в некоторых других движках ограниченность в производительности(если убрать шейдеры и прочие примочки) связано с общим количеством полигонов в сцене(напрмер, OGRE). Напомню, речь идет о статичных обектах. Добавлено (18.01.2011, 16:20) --------------------------------------------- Еще один немаловажный вопрос. Как покрыть текстурой большой объект и при этом качество было приемлемо? В смыле, есть поверхность земли(грунта под ногами) скажем 1000 на 1000 единиц или более и на нее надо наложить текстуру. Если брать текстуру 8192 на 8192 точек, то размер файла великоват и не всякая видеокарта "проглотит". А если "распилить" текстуру на 8 частей, то как "сказать" Панде чтобы она клеила её и накладывала на модель, особо не сопротивляясь?
|
|
| |
ninth | Дата: Среда, 19.01.2011, 13:29 | Сообщение # 68 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Для начала - я не видел стратегий, где на экране бы одновременно находились тысячи трёхмерных моделей ) Самые массовые, наверно казаки - но тут полное 2d и различные тотал вары - но в них заднеплановые юниты заменяются спрайтами. В основном количество в пределах сотни юнитов. Хотя конечно я мог и не видеть чего-то действительно массового. Ближе к сути - в данном случае у тебя проблема не с количеством полигонов, а с количеством узлов/моделей, т.к. вся эта пачка регулярно посылается в память видеокарты - каждый узел отдельно. Для решения подобного рода проблемы в панде есть Rigid Body Combiner. Чем больше отдельных объектов, тем сильнее будет заметно влияние. У меня например без RBC 10000 (десять тысяч) кубиков показывают 2-3 fps, а с ним - 30 fps. Code from panda3d.core import loadPrcFileData loadPrcFileData("editor-startup", "sync-video #f") loadPrcFileData("", "show-frame-rate-meter #t")
from direct.directbase.DirectStart import * from pandac.PandaModules import RigidBodyCombiner, NodePath, Vec3 import random rbc = RigidBodyCombiner("rbc") rbcnp = NodePath(rbc) rbcnp.reparentTo(render) for i in range(10000): pos = Vec3(random.uniform(-100, 100), random.uniform(-100, 100), random.uniform(-100, 100)) f = loader.loadModel("box") f.setPos(pos) f.reparentTo(rbcnp) rbc.collect()
run() Ещё один момент - вероятно, у тебя включена вертикальная синхронизация, т.е. частота кадров будет синхронизироваться с частоттой обновления экрана. На современных жк мониторах это обычно 60 герц. Если реальные фпс не дотягивают до 60, то будет соответственно 30 фпс - один кадр в два обновления монитора, затем 20 ну и т.д. ------------------------------------------------------ По текстурам: обычно большую территорию затайливают гораздо меньшей текстуркой, т.е. укладывают её несколько раз по вертикали и горизонтали. Если нужны разные тайлы на разных участках, то это в трёхмерном редакторе делается - большинство позволяют полигону или группе полигонов назначить персональную текстуру. Впрочем, затайливание тоже обычно в редакторе выполняетя чтоб не писать лишний код.
|
|
| |
Michman | Дата: Среда, 19.01.2011, 16:02 | Сообщение # 69 |
Лейтенант
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 0
Статус: Offline
| Ясно. За Rigid Body Combiner отдельное спасибо, не знал. Я видел только лишь один выход из данной ситуации - обьединение в редакторе множества статичных обьектов в один меш, но тогда есть проблемы с текстурами. На вертикальную синхронизацию в данном случае обращать внимание невижу смысла поскольку fps еле дотягивает до 30. К тому же она у меня отключена в настройках видекарты. ----------------------------------------------- С тайлами знаком, мне хотелось просто узнать если у Панды какие-нибудь методы по склейке и наложении подобных текстур, в доках не нашёл. Тайловый метод не дает разнообразия. Через минуту путешествия по карте вся эта "кусочность" бросается в глаза, а если залезть на возвышенность посмотреть в даль, то "туши свет, бросай гранату" - слишком однообразно, как шахматная доска. Незнаю как в других редакторах, но после экспорта из Max'а подобные фокусы с назначением нескольких карт на разные участки объекта "пролетают, как фанера над Парижем". На весь объект проецируется одна карта, которая назначена в 1-ом канале, а остальные каналы куда пропадают после экспорта. Возможно я недостаточно "пошаманил" в данном направлении, но чувствуется, что неудастся как-то реализовать большие карты максовскими методами. Добавлено (19.01.2011, 15:57) ---------------------------------------------
Quote (ninth) Хотя конечно я мог и не видеть чего-то действительно массового Если даже не брать что-то из реализованного, а просто прикинуть сколько объектов может одновременно отображаться в сцене, то это различная статика - деревья, трава, дома, части инфраструктуры(разная мелочь вроде оградок, дорожных указателей, если баталии проходят в черте городских построек...). Даже не считая юнитов количество объектов уже может составить приличное количество. Но всё это так..., просто размышления. P.S. Из реализованного могу припомнить из последних - Command & Conquer: Tiberium Wars. Конечно, здесь движок "вилизан до безобразия" и с Пандой сравнивать его не стоит, но тем не менее. К тому же в этой игре лимита на количесво произведенных игроком юнитов нет, возможно я просто не дошел до этого лимита , незнаю. Добавлено (19.01.2011, 16:02) --------------------------------------------- Пардон за оффтоп. Почему WIP запаролен? Секрктные разработки? Бойтесь! Бойтесь!!!
|
|
| |
ninth | Дата: Среда, 19.01.2011, 16:10 | Сообщение # 70 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Ну я говорил, что с 3ds не сильно знаком, поэтому конкретики дать не могу, но вот пример из блендера - на один меш назначены 4 разные текстуры - на разные полигоны. Можно и разные текстурные каналы использовать. Ещё есть вариант с шейдерами - но это довольно сложный вариант. Присмотрись внимательно - во многих играх приём затайливания использован. Всё дело в том, что в них поверх затайленной поверхности накидано множество объектов - растительность, постройки, которые скрывают это всё.
|
|
| |
Michman | Дата: Среда, 19.01.2011, 19:37 | Сообщение # 71 |
Лейтенант
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 0
Статус: Offline
| Quote (ninth) Присмотрись внимательно - во многих играх приём затайливания использован Согласен. Просто пытаюсь разнообразить поверхности за счет текстур. Quote (ninth) но вот пример из блендера - на один меш назначены 4 разные текстуры - на разные полигоны. Можно и разные текстурные каналы использовать. Увы, из макса экспортировать бодобное не удается. В EGG файле ссылка только на одну текстуру, хотя в максе полигонам разные текстуры назначить непроблема и спомощью каналов тоже, но... не экспортируется.
|
|
| |
ninth | Дата: Четверг, 20.01.2011, 08:39 | Сообщение # 72 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Хм, а от какой версии панды у тебя экспортёр? Если старый, то попробуй поставь из 1.7.1 (из снапшотов, т.к. официально пока версия 1.7.0) Ещё чел на оффоруме накидал самопальный экспортёр в виде максовского скрипта - можно попробовать его - во вложении. Только вероятно придётся пути править вручную внутри скрипта.
|
|
| |
Michman | Дата: Четверг, 20.01.2011, 13:20 | Сообщение # 73 |
Лейтенант
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 0
Статус: Offline
| Quote (ninth) Хм, а от какой версии панды у тебя экспортёр? Тот что в пакете Panda3D 1.7.0. ОК. Попробую из 1.7.1. За EGGExporter тоже спасибо, посмотрю.
|
|
| |
Michman | Дата: Четверг, 20.01.2011, 21:16 | Сообщение # 74 |
Лейтенант
Группа: Пользователи
Сообщений: 44
Награды: 0
Репутация: 0
Статус: Offline
| Ох, как же я забыл про экспорт всей сцены, хм?!! Всю статику можно ведь создать в редакторе расставить по своим местам и экспортнуть всю сцену одним файлом, используя Export Entire Scene(речь идет о Max'овском экспортере). В таком случае количество объектов может быть достаточно большИм. Я тут провёл небольшой тест, может кому-нибудь будет интересно: соорудил куб из маленьких кубов. Каждый маленький куб отдельный меш. Количество кубиков 27000. Число граней в сцене 324000. Весь объем куба занят маленькими кубиками, хотя этого невидно на скрине. И при этом fps приличный. Конечно нет ткстур и шейдеров, но тем не менее цифра хорошая. Размер ".egg" файла около 90 мб. Грузилась сцена в Панде около 20 сек. Большие обьекты думаю "пилить" на куски, текстурировать их и вновь совмещать в редакторе в единую модель. P.S. Кстати, Max 8 после 15000 кубиков вылетел, видимо оперативы не хватило :). Пришлось Hide'ить блоки кубов, чтобы накопировать 27000. Железо: Intel Core Duo 2,66(неразогнанный), Nvidia GeForсe 8800 GTS 512(неразогнанная), 2 Гб оперативы. Софт: Windows Pro SP2, OpenGL и видеодрайвер последние на сегодняшний день.
Сообщение отредактировал Michman - Четверг, 20.01.2011, 21:19 |
|
| |
ninth | Дата: Пятница, 21.01.2011, 08:09 | Сообщение # 75 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Можно после загрузки модели ещё попробовать применить на неё flatten - возможно выжмет ещё немного фпсов, хотя операция сама по себе ресурсоёмкая. если конвертнуть egg в bam, то грузиться будет шустрее, хотя это актуально только для первой загрузки после изменения, т.к. панда автоматом кэширует egg, перегоняя при первом запуске в bam. Кста, полезный совет - при загрузке лучше вообще не указывать расширение файла - панда сама разберётся. Это избавит от проблем в дальнейшем, если потребуется конвертнуть модели в bam или egg.pz (особенно актуально при распространении игры)
|
|
| |