FiEctro потому что в юнити для MeshCollider действуют такие правила:
Цитата:
Faces in collision meshes are one-sided. This means GameObjects can pass through them from one direction, but collide with them from the other.
что логично заставляет объект или выталкиваться или проваливаться в зависимости от застрявшего объема. Тем не менее устанавливаются существенные ограничения, в том числе для террейна, а именно
а. Два MeshCollider не могут взаимодействовать между собой, если один из них не конвексный
б. Для взаимодействия с RigidBody (что в целом базовый объект для физики, в том числе игрока) MeshTerrain обязан быть Convex
и это приводит нас к принципу действия этой волшебной галочки:
Цитата:
This generates the collider shape as a “convex hull” which is like the original mesh but with any undercuts filled in
то есть буквально то же самое, что делал Physx в том же ксаше - конвексные хуллы. К слову, если коллайдер не использует физический материал, то при его создании можно отключить нормали, так как они в расчёте физики не участвуют. А что касается полигональной коллизии, я сомневаюсь, что она сейчас вообще применяется в более-менее продвинутых проектах, я таким последний раз занимался, когда делал 3D движок для Java-телефонов, там по объективным причинам полноценное пересечение объёмов нещадно жрало процессор, а сама трасса была максимально примитивна, я просто кидал несколько лучей, из глаз, ног и макушки игрока на наличие пересечения с полигоном (именно плоскостью, не объёмом). В основном всё работало нормально, но иногда при движение вдоль стен да, игрока начинало дико колбасить. Для пресечения я кажется установил какой-то допустимый гэп и просто не давал игроку приблизиться к стенам вплотную
Я думаю любой конкейвный меш можно представить как несколько конвексных. Да и нормали наверное можно как то тут приспособить.
__________________ Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.
KiQ
Фиг его знает, я так глубоко не думал, наверное есть варианты. Наверняка даже кто то пробовал. Вон Дядя Миша как я понял преобразовывал же конкейвные меши в браши.
__________________ Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.
Дядя Миша писал: Convex Decomposition. Но она может занимать довольно много времени.
Благо у тебя свой формат, это можно сделать и при компиляции модели.
__________________ Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.
Lev писал: Дядя Миша Помнится ты как-то говорил об оптимизации отрисовки геометрии, которую ты разрабатывал для NT, и которую гипотетически можно встроить и в обычный ксаш
Цитата:
Дядя Миша писал: Вот и для нее в том числе надо перевести движок на С++.
Цитата:
Aynekko писал: Кстати, раз уж к ксашмоду планируется обновление, можно ли как-то ускорить рендеринг брашей, если это возможно?
Нет. Та вещь строит упрощённое дерево, которое ускоряет лукап по хеадноде, что в целом положительно сказывается на общем фпс, т.к. всё в одном потоке выполняется. Но отрисовку оно никак не оптимизирует.
Ну чтожы. Я думаю в основной кодобазе достаточно ограничиться исправлением ошибок, чтобы не вносить сумятицу и рассинхронизацию с форками. А вот над компилятором p2st можно и поработать, добавить туда кое-какие недостающие вещи. А так же, выпустить такой особый плагин для Джека с поддержкой CSM.
Дядя Миша
В чем особенность этого формата? Плейны наконец он будет поддерживать? Или как всегда только конвексные браши?
__________________ Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.