Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Физика

Ответ
 
Опции темы
Старый 15.02.2013, 04:21   #1
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Collider

Вопрос о коллайдерах.
Есть mesh collider , использываеться для твердого тела, что бы обьекты или игрок не проходил мимо этого обьекта.
Для него задаеться mesh эта маска этого обьекта.
есть is trigger и material , вот material для чего он незнаю?
Можна ли без mesh сделать модель твердой? только бех box, sphere и так дальше, есть ли другой способ?
(Offline)
 
Ответить с цитированием
Старый 15.02.2013, 09:15   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Collider

material - это физический материал, который определяет трение и пружинистость тела.
Можна ли без mesh сделать модель твердой?
Нельзя, либо MeshCollider, либо кллайдеры примитивы.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.02.2013, 15:45   #3
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Collider

Когда работал в блитце, там можно было к динамическим телам прикручивать Кулл меши - это физические выпуклые тела, которые я сам лепил в 3д максе.
А здесь такое можно сделать?
Ну т.е. чтобы меш был одной формы, а коллайдер другой?
__________________
(Offline)
 
Ответить с цитированием
Старый 21.02.2013, 16:15   #4
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Collider

Кулл меши
hull?
можно наверное положить детальный объект в иерархию недетального, а недетальный оставить без рендерера, но с коллайдером.
(Offline)
 
Ответить с цитированием
Старый 21.02.2013, 16:31   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Collider

AddComponent<MeshCollider>().convex = true;
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
burovalex (21.02.2013)
Старый 21.02.2013, 17:43   #6
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Collider

Вау, прикольно, юнити сам преобразует в хулл?!!
Я вот только синтаксис такой немного не понимаю.
Т.е. ты этим примером и создаешь коллайдер и сразу ему настраиваешь коллайдер?
т.е. ты сокращаешь две строки?
Collider mc = (Collider)AddComponent<MeshCollider>();
mc.convex = true;
__________________
(Offline)
 
Ответить с цитированием
Старый 21.02.2013, 17:47   #7
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Collider

этим примером и создаешь коллайдер и сразу ему настраиваешь коллайдер?
Да.
которые я сам лепил в 3д максе.
Здесь можно также. Добавляешь компонент MeshCollider в инспекторе. В этот добавленный компонент (в поле mesh) перетаскиваешь твой созданный в максе меш.
То же самое можно сделать и программно.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
burovalex (21.02.2013)
Старый 21.02.2013, 18:02   #8
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Collider

Хотел щас закрепить полученные знания на практике. Но столкнулся с тем что меши добавленные в префаб, всё равно являются отдельными мешами. А нету какой нибудь кнопочки чтобы объединить в один меш?
__________________
(Offline)
 
Ответить с цитированием
Старый 21.02.2013, 18:17   #9
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Collider

Сообщение от burovalex Посмотреть сообщение
Хотел щас закрепить полученные знания на практике. Но столкнулся с тем что меши добавленные в префаб, всё равно являются отдельными мешами. А нету какой нибудь кнопочки чтобы объединить в один меш?
может добавлять не сам меш в префаб, а мешкомпонент (это просто мысль, на практике нет возможности проверить)

как я понял булевские операции объединения мешей в Unity стандартными средствами не реализованы
__________________
Области Хаоса - мой новый Youtube проект
(Offline)
 
Ответить с цитированием
Старый 21.02.2013, 19:57   #10
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Collider

Склеивать меши нет кнопочки. Можно только программно http://docs.unity3d.com/Documentatio...ineMeshes.html
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 21.02.2013, 21:05   #11
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Collider

Но таким образом должна текстурная развертка сбиться, тогда все равно придётся 3д редакторе ковыряться, а если текстуры не объединятся, значит и смысла не будет - получится что объединённый меш все равно будет иметь несколько сюрфейсов, что особо не прибавляет производительности.
С блитца ещё уяснил )

А подскажите ещё, можно както изменить центр меша, префаба.

На префаб у меня получилось только создать пустой объект, расположить его где надо, и с него начинать собирать префаб. Но это лишний элемент, только ресурс тратить..
__________________
(Offline)
 
Ответить с цитированием
Старый 21.02.2013, 21:20   #12
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Collider

Развертка не собьется, если все меши имеют одну текстуру, то их можно склеить.

Центр префаба изменить нельзя, разве что положить его в пустой объект. Нельзя потому что меши имеют вершины в определенных в 3d пакете положениях относительно объекта, на котором они висят.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 22.02.2013, 02:23   #13
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Collider

Таков вопрос, у меня не получаеться
вот есть таков скрипт
void OnTriggerEnter(Collider zombie) {
        
        
realHeals -= 10;
   }

этот скрипт отнимает мне 10 здоровья когда соприкасаюсь с колайдером врага, но дело в том что оно отнимает его один раз, как только я отойду и потойду он снова снимет 10
как правильно сделать что бы он снимал постоянно при соприкосновении одного раза, ну как то так?
(Offline)
 
Ответить с цитированием
Старый 22.02.2013, 03:04   #14
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Collider

все я разобрался)
OnTriggerEnter - отвечает за вход в триггер и срабатывает только раз
а OnTriggerStay - отвечает за вход в триггер продерживаясь там действие постоянно повторяеться =)
void OnTriggerStay(Collider zombie) {
        
        
realHeals -=(1);
   }


Последний раз редактировалось SGREED, 22.02.2013 в 03:06. Причина: неверное
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 11:57.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com