![]() |
Коллизии
Специфика коллизий в блитце такова:
Создаётся коллизионная сфера в объекте, радиус которой регулируеш. Вопрос: Допустим я поставлю дом. Стены дома должны коллизиться, чтобы я сквозь них не ходил. Но получается мне дом надо утопить в коллизионной сфере. Следовательно я не смогу войти внутрь дома вообще. Как мне попасть внутрь? |
Re: Коллизии
На блитце не кодил, но выскажу решение, которое напрашивается само собой: обрабатывать коллизии не всего дома, а каждой стенки в отдельности.
|
Re: Коллизии
Ну если не кодил значит наверно незнаеш, что такое сферическая коллизия в блитце )
Вот: ![]() А если отдельно в блитце то мне придётся грузить не модель дома, а отдельные части (соберать как конструктор) Да и с конструктором из таких стен ничего хорошего не выйдет: ![]() Хотя быть может я не доконца понимаю коллизии в блитце? Но когда я делал коллизию кораблю с землёй и врезался в неё, я понял что коллизия у моего корабля какрас сферическая: ![]() |
Re: Коллизии
Используй коллизию сфера(игрок) - полигон(дом)
Если в доме слишком много поликов, сделай невидимую малополигональныю модель повторяющую очертания дома (и стен) |
Re: Коллизии
А да это вариант )
|
Re: Коллизии
А если вдруг у тебя дом движется=))), то используй специально созданную для таких случаев библиотеку. Не помню названия, но она находится в разделе библиотеки, где-то в самом начале. И еще, она не работает с анимированными объектами.
|
Re: Коллизии
Цитата:
|
Re: Коллизии
Нехилый домик такой :)
|
Re: Коллизии
ну дык много или нет ??
я просто незнаю создавать вторую модель или так оставить !! |
Re: Коллизии
ну... если у тебя там маленький городок, то думаю мона :) хотя я не знаю...
|
Re: Коллизии
Цитата:
|
Re: Коллизии
А не проще сделать так: в максе отделить стены от всего остального и назвать иx "stena" а в коде найти и применить к ним коллизию?
dom=LoadMesh("dom.b3d") stena=FindChild(dom,"stena") |
Re: Коллизии
Цитата:
мне нужно и с крышой и со ступеньками !! (некоторые домики 2-х этажные) |
Re: Коллизии
Ну тогда нужна низко полигональная модель или пользоваться либами физики.
|
Re: Коллизии
Цитата:
|
Re: Коллизии
Конечно много, да и 10 домов по 5к полигонов, это 50к а это практически предел для средних видеокарт.
|
Re: Коллизии
поскольку их не все сразу видно, то в кадре где-то до 30000 поликов !!
|
Re: Коллизии
Делай невидимый колизионный макет из 200 полигонов ))
Какрас полезный макет. В нём можно ступеньки дома наклонной плоскостью сделать, и так реализовать подъём по ступенькам. |
Re: Коллизии
вопрос : если так много поликов, то буде тормозить, КОГДА ??
когда происходит колизия или всегда ?? |
Re: Коллизии
если я не туплю, то всегда, расчет коллизии идет постоянно, а значит и лагает всегда...
|
Re: Коллизии
ну проверка в главном цыкле всегда !!
но разница (колизит\неколизит) есть же какаэто ?? |
Re: Коллизии
Лагует при вызове UpdateWorld (просчитывает коллизии). Короче говоря всегда.
|
Re: Коллизии
может кто то скрин покажет, какая разница в производительности, если 50000 поликов ??
|
Re: Коллизии
физикс наверно решил бы проблему
но лучше игра без прилагающихся к ней дров |
Re: Коллизии
Crystal, а причём тут дрова? Физикс бездровный выдаётся для готовых проектов.
IGR, ну сам подумай какая нагрузка на видяху? 50к большая, 150к почти заоблочная для средних и ниже видях, 5к жирафов. (оффисный варриант) |
Re: Коллизии
вот меня и интересует разница 50000 и 5 000 !!
какая будет разница в ФПС ?? |
Re: Коллизии
Ну по идее 1 : 10 :))
|
Re: Коллизии
Цитата:
было 100 станет 1000 ?? здесь не так измеряется !! |
Re: Коллизии
график изменений фпс\треугольники имеет ваще не линейное происхождение, да и на разных видухах по разному
|
Re: Коллизии
jimon, ты пример на скрине можеш показать ??
очень интересно посмотреть ?? |
Re: Коллизии
ну блин ... мне такая фигня нафиг не надо :)
зделай пример и посмотри как оно там меняется ... |
Re: Коллизии
Цитата:
я ваще удивляюсь твоим вопросам. Бедный Джимон. Годик назад он сразу посылал в известном направлении :-D |
Re: Коллизии
to tormoz: я удивляюсь твоему замечанию !!
а чем это не вопрос ?? я просто не сталкивался с этим и решил спросить !! |
Re: Коллизии
IGR
For n=1 to 5000 Cube=CreateCube() MoveEntity Cube,rnd(-50,50),rnd(-50,50),100+rnd(-50,50) Next и выведи Трис рендеред, а потом просто измени 5000 на 500. IGR, а ты ленивей оказывается чем я думал ;) Ну как затестишь, выложи и остальным результаты фпсов. |
Re: Коллизии
ок !! зделаю !! Я не ленивый !! :)
|
Re: Коллизии
Можно еще добавить фпс зависит не столько от количества полигонов сколько от количества энтити и сюрфейсов в них.
А по коллизии... если твой дом неподвижен ему не нужна ни коллиз. сфера ни куб, он сам никаких коллизий создавать не будет, будут коллидится об него ( дом из 4К - это... дворец Абрамовича :) ? ) |
Re: Коллизии
Цитата:
|
Re: Коллизии
Вложений: 2
Вот собственно график: Вложение 4648
но он условный поскольку невыдержан масштаб по оси ФПС !! но на нем можно увидеть средние показатили ФПС при заданом количестве полигонов на экране !! p.s. это для nVidia, на счет ATI там наверное по другому !! |
Re: Коллизии
IGR, хм а на какой машине график составлялся? У меня немного получше, но примерно та же ситуация.
|
Re: Коллизии
Цитата:
у меня комп немного слабоват !! :) |
Re: Коллизии
IGR, ну дык, какой проц, озу, видео?
|
Re: Коллизии
celeron 2800+, GeForce 5200, 256 DDR !!
комп уже 2,5 года без единого апгрейда !! даже мышку не менял !! :) |
Re: Коллизии
IGR, ГАФ! Сколько видяха МБ? Блин, ну почему нельзя сразу развёрнуто всё описать? :)
|
Re: Коллизии
видео естественно 128х128 !!
ну подумай, 2,5 года назад 256мб юзали далеко не все !! :) |
Re: Коллизии
MoKa, а нафиг тебе объем видиопамяти, я так поянл вы просто создавали кубы, без текстур.
1 куб это 8 вершин и 12 триугольников. на одну вершину скока памяти нада? цвет 4 - байта, позиция - 4 флоата. все. на один треугольник что нада? три индекса по 4байта каждый итого получаем: 4+4*4 - на вершину = 20 3*4 на треугольник = 12 на куб 8 вершин = 8*20=160 12 треугольников 12*12=144 итогоЖ 304 байта на один куб. 5000 кубов * 304 байта = 1 520 000 - полтора метра видеопамяти! конечно хз чо там разработчики делали, но даже если принять что они тратят в 10 раз больше чем в идеале, то это все равно будет тока 15 метров. ЗЫ. кстати, можно было бы и copyentity-ем зодать новые объекты, чтоб видеопамять не захламлять. ПС. спамибо всем за тесты, побольше бы таких. хочу еще тесты на отображение текстур, анимированных мд2 моделей, ну и анимированных текстур также, отражения (рендер в кубетекстуру) и пока все. сам делать небуду ибо влом. внимание! в тексте присутствует ирония. |
Re: Коллизии
IGR! я понил одно ты.. ты пытаешся оптимизировать свое детище под слабые машины! что бы все моглибы наслодится в будущим твоим проэктом! на сколько я помню домик 5000 поликов это только без текстуры! с текстурой это будет 10000 поликов! кто считает что это ни так или маловажный факт подправте!! :)
|
Re: Коллизии
to Bazalt, нет я просто провел маленький тест !!
Цитата:
|
Re: Коллизии
Их будет удваиваться если использовать мультитекстуринг.
|
Re: Коллизии
о мультитекстуринге и речи небыло !! :)
|
Re: Коллизии
MoKa, тормаз как то выкидовал очень хорошую прогу по мультетекстурингу! мне понравилось! только я передумал использовать ее! но ВОПРОС В ДРУГОМ! использование текстуры детал, на меше такойже эффект дает!?
|
Re: Коллизии
Кажется ни текстуры, ни мультитекстуры на количество полигонов не влияют...
А прога тормоза не совсем о мультитекстуринге, но там да, добавляются трианглы как я понял. |
Re: Коллизии
мультитекстуринге - это наложение несколько текстур на один и тот же полик !!
по этому увеличевается количество памяти которое отводится на один полик, а их как было, допустим 5000, так и осталось !! |
Re: Коллизии
IGR, дамм... теперь ясно все стало!! кстати я домики делал не сплейнами а из квадратов выращивал! но как бы не мудрил до 5000 не дотягивало! как ты так умудрился :)! может шот покажишь? мне если чесно кажеться у тебя там много лишней геометрии ! я так дом из 1800 в 1084 сделалл! правдо времини ушло много! :(
|
Re: Коллизии
я их не делал, а нашел в инете !!
они просто двухэтажные, и там не 5000, а где то 3000 !! 5000 я для примера взял, как бы с запасом !! :) кста, я тож домики по 1000 делал, но они не красивые !! :( |
Re: Коллизии
IGR- ты просто наверно не экспереминтировал с удолением лишней геометрии! я как то сталкнулся с етим! меня прям занесло! :) я теперь сразу при виде модели стараюсь оценить на сколько ее можно урезать! что бы вид почти не постродал!!! :) так я хотел из воина в 1500 ( для 3Д стратегии !) сделать 450 поликов! :) конечно уродство получилось! но на ростоянии обычном для 3Д стротежик.. очень даже нечего!
|
Re: Коллизии
Цитата:
я когда моделю что то (эт очень редко бывает), то сразу пытаюсь зделать всё по минимуму, что и другим советую !! |
Re: Коллизии
Если модели скачаны, то скорей всего их автор не стремился сделать лоуполи и даже наоборот, не удивлюсь если он применял turbosmuth и т.д.
Можно попробовать модификатор optimize. |
Re: Коллизии
там точно нет turbosmuth !!
и какой turbosmuth если 2-х этажный дом имеет 3000 ?? это вообще оптимально я считаю !! |
Re: Коллизии
Появилось время, и дошли руки до коллизий.
Решено было утопить корабль в трёх сферах которым была назначена коллизия. Привязал сферы к кораблю. Вроди всё норм, с кораблём сферы летают, коллизятся, НО! При врезании сферы в объект об который она коллизится она смещается, и никак не влеяет на корабль. Вопщем подскажите как сферы привязать к кораблю чтобы они были как одно целое? Как один меш! |
Часовой пояс GMT +4, время: 12:19. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot