стандартный cube mesh

Программирование на Юнити.

стандартный cube mesh

Сообщение Bialand 28 авг 2010, 01:11

Хотел написать скрипт котрый изменял бы мешь колайдера обьекта. Для этого разместил Первый куб с Box Collider в качестве земли и Второй куб с Mesh Collider для того чтобы он падал на землю, и написал скрипт:

Скрытый текст:
который по синусу меняет форму меша(то увеличивает то уменьшает ) это из документации пример
скрипт добавлен ко Второму кубу
Код: Выделить всё
function Update () {
var Co :  MeshCollider = GetComponent (MeshCollider);
var mesh : Mesh = Co.sharedMesh;
   var vertices = mesh.vertices;
   var normals = mesh.normals;
  for (var i=0;i<vertices.length;i++)
    {
        vertices[i] += normals[i] * Mathf.Sin(Time.time)*0.01;
    }
    mesh.vertices = vertices;
}


но оказалось что мешь который я изменяю вроде как один на всех , то есть анологично изменяется и видимая часть Первого куба и видимая часть Второго и мешь колайдера Второго куба (то что я и собирался менять)
и самое странное что после завершения проигрывания все боксы в сцене остаются Кривыми (измененными)

Как сделать чтобы обьекты имели свои ресурсы а не общие или может я не так к ним обращаюсь?
Аватара пользователя
Bialand
UNец
 
Сообщения: 6
Зарегистрирован: 27 авг 2010, 21:39

Re: стандартный cube mesh

Сообщение Paul Siberdt 28 авг 2010, 01:39

Морфинг меша коллайдера, не приведет ни к чему хорошему. Физика работает в своих таймингах, Апдейт-функция - в своих. Появятся жуткие артефакты, ну и вообще, не припомню я в индустрии динамически изменяемую колизионную поверхность, кроме декоративных новомодных тряпок и влюидов.
Но тряпки и флюиды - это сложные конструкции жестких и неизменяемых коллайдеров.

Вы хотите получить эдакий эффект надувающегося мяча/кирпича? Попробуйте сначала просто поизменять масштаб коллайдера и посмотрите на результат. Думаю, даже тут получится непредсказуемая штука, чрезвычайно зависящая от производительности конкретной машины.

Касаемо самого вопроса общего референса: не хочется собирать свой тестовый проект, но если выложите необходимое, поглядеть будет интересно. Мыслей несколько, я даже писать их начал, а потом запутался и потер все. :)
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: стандартный cube mesh

Сообщение Bialand 28 авг 2010, 02:45

В последних опытах я ненаблюдаю изменение меша коллайдера (только видимый мешь изменяется)
вот визуально как http://rss-x.narod.ru/t1.html

Вообще я хотел делать динамически создаваемый уровень желательно бесконечный(естественно с забываением старого)
конечно надо его собирать из боксов если это город напимер
но как то накткнулся на эту проблему, хотя незнаю даже можно ли вообще создавть обьекты скриптом :D (недошол до этого)

ps после перезапуска [unity 3D] все меши исправляются
Аватара пользователя
Bialand
UNец
 
Сообщения: 6
Зарегистрирован: 27 авг 2010, 21:39

Re: стандартный cube mesh

Сообщение Neodrop 28 авг 2010, 06:42

Создавать меши можно, конечно. Но проще асинхронно грузить модели, по мере необходимости.
Вот как тут у меня на видео :

Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: стандартный cube mesh

Сообщение Paul Siberdt 28 авг 2010, 15:32

Вместо того, чтобы морфить меши, не проще ли насочинять составные части уровня, а потом случайным образом их собирать в бесконечное поле.
Так сделано в Диабле и в Торчлайте. Главное тут - создать разнообразные однотипные варианты, чтобы игрок не замечал повторения локации на одинаковых участках.

Neodrop, а центр чудный вышел, ЛадаРейсингКлаб отдыхает :)
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14