Страница 1 из 1

Процедурное создание костей

СообщениеДобавлено: 13 сен 2012, 14:20
nile
Всем привет!
Вопрос к знатокам: возможно ли в Unity3d [unity 3D] процедурно создать кости на основе ребер меша?(Есть подозрение что только через с помощью сторонних dll) Имеется модель авто, имеется его упрощенная модель, которую я использую как коллайдер. Ради эксперимента хочется сделать так, чтобы при ударении проминался коллайдер (это сделано), а меш самой машины проминался в след за ним, как будто коллайдер - это аналогия костей какого-либо персонажа.

Если нет, то может быть кто-нибудь знает программы, где это можно сделать малой кровью? Всем заранее спасибо за ответы.

П.С.
На данным момент корпус и коллайдер проминаются независимо друг от друга. Пока что у меня есть идея сделать так, чтобы каждой вершине коллайдера были привязаны все те вершины автомобиля, которые находятся в радиусе R от нее (вершины коллайдера). И при смещении этой вершины, за ней двигались те, что к ней привязаны. + как дополнение, в дальнейшем есть идея реализовать что-то типо как soft sellection в 3dsmax (max_sm) , чтобы чем дальше вершина авто находится от вершины коллайдера - тем меньше ее смещение (но там свои тонкости). Вообще я стремлюсь получить результат, близкий к rig of rods (http://www.youtube.com/watch?v=yQZLvl0f7DE)


Для наглядности поста вот скрин с моделью и ее меш коллайдером.
Изображение

Re: Процедурное создание костей

СообщениеДобавлено: 13 сен 2012, 20:25
IDoNotExist
Кости привязать можно без сторонних dll, нужно добавлять в Mesh веса для каждой вершины boneWeights и bindposes для каждой кости, затем юзать SkinnedMeshRenderer, и добавлять сами кости в массив bones.

На мой взгляд гораздо проще для вас будет пересчитывать координаты вершин модели на основе расстояния которые прошли вершины коллайдера при столкновении.

Re: Процедурное создание костей

СообщениеДобавлено: 13 сен 2012, 20:54
nile
Спасибо за ответ, сделаю.
На счет пересчитывания координат: ну это сделать то проще. Но хочется создать ощущение, что машина сделана из железных рам и тд, а не из пластика или камня. например при лобовом столкновении чтобы она не просто смялась в гармошку, но и хотя бы немного прогибалась пополам.

Re: Процедурное создание костей

СообщениеДобавлено: 15 сен 2012, 12:56
lol
А риг оф родс - это игра или просто демка?

Re: Процедурное создание костей

СообщениеДобавлено: 15 сен 2012, 14:03
nile
Это игра. На сколько мне известно, она сделана на собственном энтузиазме кем-то. Идея заключалась в том, чтобы максимально проработать физику автомобиля.
Кстати говоря, вот результат переноса движка RoR в CryEngine 3 http://www.youtube.com/watch?v=KppTmsNFneg

Re: Процедурное создание костей

СообщениеДобавлено: 15 сен 2012, 20:54
Syberex
nile писал(а):... Ради эксперимента хочется сделать так, чтобы при ударении проминался коллайдер (это сделано)...

А как это сделано, можете рассказать? :)

Re: Процедурное создание костей

СообщениеДобавлено: 16 сен 2012, 15:39
nile
Вот тут вроде бы это уже реализованно
http://forum.unity3d.com/threads/52040- ... arly-stage)
Хотя я допиливал старый скрипт (или какой-то другой), в котором этого еще не было.

Принцип прост: меш коллайдер основан на обычном меше, вершины которого вы можете двигать с таким же успехом, что и визуального меша.
Чтобы сделать GO коллайдером, надо создать пустой объект, присвоить ему меш коллайдер и в компоненте коллайдера в пункте меш, выбрать из списка подходящий меш (обычно он повернут на 90 градусов вокруг оси Х) и поставить его на нужное место. Так же я ставлю галочку Convex для создания упрощенного коллайдера без внутренних полостей (не помню точно, но там в этом случае число вершин коллайдера не должно превышать 255).

Re: Процедурное создание костей

СообщениеДобавлено: 16 сен 2012, 21:28
Syberex
Не понимаю тогда, что вам мешат поступить также с мешем самой модели? (popcorn1)

Re: Процедурное создание костей

СообщениеДобавлено: 17 сен 2012, 16:30
nile
Вот
http://www.youtube.com/watch?v=t3lOR2KW ... age#t=117s
обратите внимание как прогибается машина, как сдвигаются ее колеса вокруг столба. Создается впечатление наличия метал конструкции. Вот именно такого эффекта я и хочу добиться. Пока что у меня авто просто нелепо сминается как пластилин.

П.С. в данном автосиммуляторе используются кости.