![]() |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Цитата:
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
ABTOMAT, спасибо что развернул мой вопрос! +n!
Насчёт стрельбы (сразу оговорюсь что не реализовывал, но считаю это наглядно реальным и оптимальным). Есть класс пуль, у пуль есть параметр скорости полёта, это зависит от оружия, длины дула, и калибра пули. К примеру натовские пули, из M16 (достаточно длинный ствол), имеют начальную скорость пули ~900 м/с. Тоесть она пролитает почти киллометр в секунду. Зная скорость полёта пули в секунду, мы можем узнать сколько она пролетела за один такт, для этого нам нужно узнать продолжительность такта: TickLenghtMS = (CurMS - LastMS) TickLenghtMS% - длительность такта в MS CurMS% - текущее системное время в MS (функция MilliSecs()). LastMS% - прошлое значение CurMS, до присвоения ему нового данного текущего системного времени. Предположим что TickLenghtMS=16.667 - это примерно 60 кадров в секунду. Значит пройденный путь пули за один такт равен: BulletTickLenght=BulletSpeed/float(TickLenghtMS) BulletTickLenght# - Длина пройденного пути в метрах (как и единица указания скорости). BulletSpeed# - скорость пули, у нас она 900. BulletTickLenght будет примерно: 53.999, тут конечно нужна максимальная точность, чтобы где-то не оплошать. Значит столько метров пуля пролетела за такт, делаем от прошлой позиции пули в направлении вектора полёта, RayCast пик, и если точка пересечения с динамикой не дальше чем BulletTickLenght метров, тогда пуля попала в цель. Далее задача исходя из скорости полёта пули, точки пересечения, веса пули, и направления полёта, применить импульс к динамическому объекту, чтобы он соответствующе себя вёл при поподании в него. По моим наблюдениям, во всех играх это поведение очень отличается! Если поподание в статику, то импульс применять не нужно, но тут есть другой моммент, этот метод просчёта, даёт хорошую возможность реализовать отскоки, т.к. есть чёткие данные для этого: вектор пика, вектор пикнутой плоскости, далее немного математики, и получим вектор отскока. И будут у вас стрелы из арбалета как в HL2! Но тут есть один моммент, если в моммент просчёта первого такта, точка коллизии была чучуть длинее чем длина пройденного пути, а на следующий такт, тот объект двигаясь, уже ближе стал, то в слудующем пике, точка будет уже позади пули. Тут нужно чётко пересмотреть просчёт, либо делать какие-то зазоры на пиках, толи ещё чего. Но естественно такой шанс совпадения Очень невелик, но он есть, и с ним можно иногда сталкиваться, особенно если стреляешь по большому колличеству в тебя летящих объектов. Такая сложноватая система по сути себя не сильно оправдывает, и я рекомендую обойтись вообще без скорости, и делать мгновенные пики. Но если кто-то хочет по задротничеть - почему бы и нет :) Это хорошая фича в игре, темболее с ней можно приятно визуализировать полёт пули! Простым отрезком от прошлой до текущей точки полёта пули, такой прозрачненький шлейфик - и будет реальный полёт пули, а если ночью, так вообще как на роликах с ютуба. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Да это элементарно:
делаем пик, получаем координаты попадания, вектор и дистанцию заносим их в новый элемент типа "пападания пули" в зависимости от дистанции включаем таймер, который обрабатывается в цикле перебора попаданий. как таймер истек - бум-бах-чмок (мясо), импульс на физобъекты и тд, все что нужно элемент удаляем - он отработан делов на 10 минут с отладкой |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
tormoz, если полёт пули будет дольше чем 2 секунды, в твоём варрианте на пути пули может что-то встать, тогда твой варриант будет слишком этим бросаться в глаза, при этом если поподание просчитывается в моммент выстрела, и поподаем в двигающийся объект, то представь как будет выглядеть, если это ОЧЕНЬ быстрый к примеру поезд, бум-бух-чмок, произойдёт уже за километром, даже если пройдёт 100мс будет сильно заметна разница.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
зачем делать задержку полета пули ?? делаем просто пик + проверку на дистанцию и в зависимости от этого уменьшаем импулсь
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
NitE, ты постоянно тупишь.
Читать ещё раз: Цитата:
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
так я непонял, ты отвечал на чейто вопрос ? если да то пост был ему адресован, а если нет то зачем вообще столько бесполезной информаций ?
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
NitE, иди соси сосочку, ты начинаешь реально выбешивать.
Я тебе объяснять не буду зачем нужна та или иная информация. Эт форум, комьюнити, и его задача нести информацию, если твой мозг не видит в этом информации, тогда гуляй мимо, и не пости дебильных постов. Будь я модером в этом разделе, сразу бы потёр твоё сообщение #69. Если тебе нужны + к постам, есть раздел: Болтовня. КОНЧАЙ ТУПИТЬ! Иль ты добиваешся чтобы другие не постили? Если по правилам получу бан на срок, не обижусь, и поделом, отдохну.. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
NitE, глупенький ты просто, флуди скока хочешь, но не обижай других, и тебя ни кто не попытается обидить.
Твои посты заставляют о тебе считать, что твоё неаргументированное убеждение является истинным, на самом деле оно выглядит глупо, во первых ты себя не утвердил как корректного и весьма успешного программиста, ни проектами, ни наработками, во вторых, отсутствие аргументации доводов - всегда вызывает недоверие и сомнения, т.к. читатателей много больше чем ты один, и один раз тебе проаргументировать намного рациональнее, чем утруждать десяток читателей делать это за тебя. Спустись с неба, и прислушайся, я только хорошего желаю, ничего плохого. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Tadeus, понятно от куда такие надекваты берутся..
Я перегибаю палку! :lol: |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Чот мне кажется что пуля вылетающая со средней скоростью 700м/с, настолько быстро попадёт в цель на расстоянии 100 м (а в шутерах дальше редко враги бывают), что нет смысла заморачиваться с задержками и полётом пули.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
SBJoker, приведу пример: Call of Duty 4, там расстояния стрельбы колеблятся от 1м до 1,5 км, при этом если это будет игра с большим объёмом физики, к примеру как стрелялка от Ageia, то такой простой подход, будет сильно заметен, и неприятен.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Nite,Moka,братаны, ну зачем вы так ?
Идея то про пули хорошая. Пик выглядит каряво если ты снайпер а цель за пару километров. Не верю что нельзя найти не дурный способ для просчёта полёта пули. Всё потехньку упросчается. Ведь раньше сложно было увидеть Регдолл в игре. А ща дурный тон выпустить игруху без него. Moka, ещё одно отдельное тебе спасибо,#66 ответ Профессионала. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Цитата:
Так мы получим точное место попадания и избежим глюков с коллизией быстродвижущихся объектов. Но данная фича нужна только в каком-нить навороченном снайперском симуляторе. Кстати, жутко люблю снайперки, и очень мало игр, где действительно интересно в них играть |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
tormoz, либо я не догнал, либо ты и предложил именно тот же варриант как и я, только переформулировал:
Цитата:
В моём варрианте я обошёлся без пивота с тем же результатом. Просто прибовляешь к 3 координатам вектор направления умноженный на пройденный пулей путь за цикл. Я тоже обожаю, в CoD4 нет такой детализации выстрела, но там невероятно интерестно играть за снайпера по интернету, чисто из-за графики, и скрытности.. А на прохождение там была миссия в припяти, нужно было подстрелить из винтовки с очень далёкого расстояния чела, там ветер на пулю влиял. :) |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Цитата:
tormoz, я вот недавно задумался над этим способом, но в серьёз не успел занятся :) Кстати ещё один пример, OFP там какраз всю игру приходится сталкиваться с опаздыванием пули. И без элементарных знаний балистики никак. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
в CMH-ке есть раздел CCDSkeleton, всего 7-м функций, раскажите что это такое, хотяб в кратце? заранее спасибо.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
насколько я понял из хелпа - это надо чтобы быстро летящие тела не пролетали сквозь другие тела, а так хз ))
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
АВТАМАТ, будет продолжение этого учебника по physx?
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Будет, но сейчас зашиваюсь :(
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
ты только не забрасывай, а то вещь нужная, многое узнал:)
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
АВТОМАТ, есть вопрос.
Создаю методом компоундов физ тело. Основа, энтити с чилдами. После, поочереди удаляю чилды и одновременно объновляю физ тело. После, где то 30-40 объновлений блитз встаёт, всё замирает. Убираю обновление всё норм. В чём проблема ? что посоветуешь? |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
CRASHER, ты не используешь серийный ключик для PhysX'a?
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Да, без ключа там ограничение на кол-во предметов и на кол-во обновлений физики
Цитата:
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Мока, ключь есть, я так думаю действующий, ведь когда не использую обновление физ тела (для ентити с чилдами), всё работает.
АВТОМАТ, ну допустим ентити загружен как аним мешь и у него чилды есть. Я каждый записываю в компоунд и создаю на этой основе тело. Когда какойто чилд удоляется из энтити происходит объновление боди. Когда много наделаю таких обновлений, вот тогда и встаёт. Да к тамуже если из-за ключа, то тогда можно было бы вертеть камерой и спокойно выйти из проги. А он просто встаёт и приходится процесс выгружать.:dontknow: |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
как обновляешь боди?
старые тела удаляешь - создаешь новое? |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Угу, на создание тел тоже есть лимит. Кстати разрушаемые тела лучше неподвижными джойнтами делай.
А вот что сам блиц зависает - это хз... Что говорит дебаг? |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
HolyDel, ну вобщем да так и есть удаляю тело которое составлено из боди чилдов, и загружаю новое тело уже меньшим количеством боди.
АВТОМАТ, ну это я думаю не из-за ограничения, ведь поидее должна остановится только физика, ведь так? А уменя всё просто замирает и нет никакой реакции, дебаг пуст. Кстать с ключом есть ограничения на тела? Джоинтами ты имеешь ввиду, создавать сколько мне надо частей объекта и соединить их джоинтом да? |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
проверь удаление. может где накасячил.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
HolyDel, да я ещё в позопрошлое воскресенье понял что всё с этим норм :)
я вот незнаю что с КомпоундДеск происходит когда мы уже с помощью него создали тело. А так всё вродь норм. Воть Кодь 1) аним энтити 2)имя чилда 3)кол-во чилдов Function CreateDestStatObject(etalon,namechild$,CountC) Descs = pxCreateCompoundDesc() Набираем, загружаем боди чилдов в КомпоундДеск For i=1 To CountC semple=FindChild(etalon,namechild+i) If semple<>0 Sh=CompoundCreateAddHullShape(Descs,semple) pxCompoundSetShapePos(Sh,EntityX(semple),EntityY(s emple),EntityZ(semple)) pxCompoundSetShapeRot(Sh, EntityPitch(semple),EntityYaw(semple),EntityRoll(s emple)) CretSet=CretSet+1 EndIf Next If CretSet>0 posx=EntityX(etalon) posy=EntityY(etalon) posz=EntityZ(etalon) For oco.Px_Object = Each Px_Object Если с таким энтити есть боди то If oco\cube_mesh=etalon Удаляем его pxdeletebody(oco\cube_body) Delete oco Создаём новое oco.Px_Object = New Px_Object oco\cube_mesh=etalon ;oco\cube_body =pxCreateCompound(Descs,0) ;pxbodysetposition(oco\cube_body,posx,posy,posz) ;pxBodySetRotation oco\cube_body,EntityPitch(etalon),EntityYaw(etalon ),EntityRoll(etalon) Next1=1 Exit EndIf Next Если нет такого, то просто создаём If Next1=0 oco.Px_Object = New Px_Object oco\cube_mesh=etalon oco\cube_body =pxCreateCompound(Descs,0) pxbodysetposition(oco\cube_body,posx,posy,posz) pxBodySetRotation oco\cube_body,EntityPitch(etalon),EntityYaw(etalon ),EntityRoll(etalon) oco\life=1 oco\TypeDest=2 oco\Longlife=-1 EndIf Next1=0 CretSet=0 EndIf End Function |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Есть два тела, друг перед другом. Есть луч. Как сделать проверку на то, что луч пересекает второе тело, если его загораживает первое? Перевести первое тело в состояние solid не получится, у меня проперка по динамическим и статичным мешам идет. Мне надо как-то отключить проверку на pick у первого тела, чтобы луч его игнорировал. Как это можно реализовать?
А, пардон, сам нашел ответ. Проглядел функцию pxBodySetFlagRayCast. Другой вопрос. А сколько стоит лицензия на враппер физикса для блитца? |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Все цены на xors3d.com
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Ну что, ни кто, ни чего, не подскажет? ;)
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Цитата:
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Первым делом выясни на каком месте зависает. Раз дебаггер виснет вместе с игрой значит делай лог каждого события, и где он прервётся там стало быть и висить.
Как мока сказал, в голом коде никто не будет копаться, т.к. его не продебажить самостоятельно и ничего, только если что-то уж совсем явное. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Люди добрые. А учебник кто-нибудь будет продолжать. А то я жду не дождусь эго. Особенно я прошу автора следуйщего урока написать о ragdoll. Я думаю что не я один и уже давно этого хотим. Буду премного благодарен.:super: ;)
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Экзамены, поступление - это вам не цыцки мацать.
Вот вам крест на пузе, продолжение будет через пару недель (последний экзамен 15 мая) Рад что учебник кто-то читает! |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
А коли буде наступний урок? Я чекаю недочекаюсь!!! АВТОМАТ ти знаєш як замутити фізику на машину? Опиши будь-ласка як не впадло ;)
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Знаю, у міру готовності напишу, але наступний урок буде присвячений регдоллу, він буде приблизно двадцять третього червня.
И да, пиши, пожалуйста, по-русски ;) |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
__________________________________________________ ________________
Насчёт капсулы - самый оптимальный вариант Причём можно так сделать, что никто и не заметит, что это на самом деле капсула (ящики отскакивают как положено)) (у меня так). Капсула хороша тем, что почти не жрёт вычислений. __________________________________________________ _______________ ABTOMAT -Обясни подробней как ето сделтьт |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
2 АВТОМАТ:
а мажны учьиэбнег скочиадь апдиЛЕныим файэелом? |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Slavik
Цитата:
impersonalis Увы, не храню (есть только бэкап в виде всё той же web-страницы) |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
я обязательно сделаю chm, когда учебник будет закончен
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
В принципе, можно и ща потихоньку делать, а потом его пополнять :)
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Вложений: 1
для тех что себя не уважает... всё оставляет желать лучшего, но будет учебник готов можно и качественно сделать, а щяс лень берёт своё.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Ну да)
Из серьезных ошибок: сслыка регдол ведет на хиндж. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Вложений: 1
поправил :)
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
АВТОМАТ, ты просто мен. Респект тебе и уважуха. Продолжай своё дело. Не закидай. У тебя очень хорошо получается. И, спасибо тебе.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Всё для просвещения народа ;)
Умеешь сам - научи другого На подходе статья об ускорении регдолла |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Я незнаю конечн, мож чего не понимаю, но вродеб регдол как я понял, из ещё давно АВТОМАТ'ом выкладываемом примере по регдолу, что главная кость привязывается к сцене. Если точка где создан регдол(с которого делаем копии) уйдёт далеко за края видемости камеры, то все регдолы накопированные исчезнут. Проверял и в самом свежем примере, вроде тоже самое. Надеюсь что это не так, или это можно поправить. Кто, что думает по этому поводу?
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
MeshCullBox, опишу позже
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
ABTOMAT- а как делать "капсюльную" физику игрока?
________________________________________________ Продолжай учебник не забрасуй я уверен многие в нем втыкают. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Будет.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Скажите пожалуйста, как правильно делать физику автомобиля?
А то я сделал фигню какую то. Вроде все норм, но машину постоянно переворачивает. Чентр тяжести менял, но получается тоже фигня, машина если перевернется, то обратно сама встает. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Ну неужели не кто не знает, как правильно делать автомобиль на Физиксе?
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
SkyDream
может просто нету едино правильного решения задачи ? ;) |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
ABTOMAT, очень попрошу, опишы как сделать нормальное движение игрока по какрте с применением физикса. Шоб припятствия переходил, такие как бордюры или ступеньки. Не хочу показатся навязливым но ето действительно очень сложная тема, и до сих пор, наверное, негде нормально не описывалась. И, кстати, как я понимаю, с ней повязано еще много чего. Например, перелазывание через стену, укрытие, врезание машыни в стену и соответствующяя анимация.
А ты молодец. Я очень уважаю твои старания. Вот делаю свою игру на физиксе, так без твоего учебника наверное давно забилбе на етот проект. Просто уроков толковых к физиксу мало, а самому както нереально все понять и разобрать (просто я в основе модельер, а потом уже програмер). Ну вот, а как только выйдет новый урок, выжу что все реально, и на чтото начинаю надеятся. Короч спасибо тебе, даже если не поможеш с етой проблемой, всеравно спасибо, очень класно все зделал, ты молодец, так держать.:super: |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Ну вообще я собирался писать по теме "улучшение регдолла" =\
Ок следующая тема будет "капсульный игрок", потом вернёмся к регдоллу |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
А как это, капсульный игрок? Не могу понять что ето означает. Обясните мне.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Вложений: 2
Ну это вот такие чуваки: (похожие на пилюлю)
|
Часовой пояс GMT +4, время: 08:34. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot