Проблема с переменой нормалей. (РЕШЕНО частично)

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

Проблема с переменой нормалей. (РЕШЕНО частично)

Сообщение Neodrop 01 июл 2009, 21:05

Вот код :

Код: Выделить всё
public static void ReverseNormals(Mesh mesh)
        {
           Vector3[] normals = mesh.normals;
           int l = normals.Length;
           for (int k=0; k<l; k++)
           {
              normals[k] = -normals[k];
           }
           l = mesh.subMeshCount;
           for (int m=0;m<l;m++)
            {         
              int[] triangles = mesh.GetTriangles(m);
              int tl = triangles.Length;
                        for (int t=0; t<tl; t+=3)
                        {
                            int temp = triangles[t + 0];
                            triangles[t + 0] = triangles[t + 1];
                            triangles[t + 1] = temp;
                        }
              mesh.SetTriangles(triangles, m);
            }
           mesh.normals = normals;
            mesh.RecalculateNormals();
        }


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

Re: Проблема с переменой нормалей.

Сообщение Neodrop 01 июл 2009, 21:17

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

Re: Проблема с переменой нормалей. (РЕШЕНО)

Сообщение Neodrop 01 июл 2009, 21:31

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

Re: Проблема с переменой нормалей. (РЕШЕНО частично)

Сообщение wild_r 01 июл 2009, 22:20

Возможно Mesh Collider (ведь он там был ?) считается только с одной стороны, и эта стороны просчитывается только один раз - вначале.

В общем - суть моего предположения такова: ради оптимизаици коллидер делают односторонним, с видимой стороны. Хотя конечно это больше похоже на бред.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Проблема с переменой нормалей. (РЕШЕНО частично)

Сообщение Neodrop 02 июл 2009, 00:42

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


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

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

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