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

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

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

Ответ
 
Опции темы
Старый 28.03.2012, 01:21   #1
SaM_
ПроЭктировщик
 
Аватар для SaM_
 
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений
(для 3 пользователей)
Вопрос Столкновение двух объектов (C#)

Как сделать, что бы происходило событие когда колайдер объекта 'a' касался колайдера объекта 'b'. При этом сам скрипт не привязан к 'a' или 'b'.
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 01:33   #2
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Столкновение двух объектов (C#)

Повесить в позишен любого из обьектов триггер идентичный самому обьекту и снимать с него событие.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 02:28   #3
SaM_
ПроЭктировщик
 
Аватар для SaM_
 
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Столкновение двух объектов (C#)

Lestar, не мог бы ты привести пример, буду благодарен :3
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 06:55   #4
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Столкновение двух объектов (C#)

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

А почему не хочется вешать скрипт? У меня такое подозрение, что схема с триггером будет работать через раз...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 17:49   #6
SaM_
ПроЭктировщик
 
Аватар для SaM_
 
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Столкновение двух объектов (C#)

обрабатывающий столкновение.
Вот в этом и заключается вопрос - как это все выглядит в C#, я не понимаю как пользоватся oncollider.stay и другими подобными функциями связанными с coll
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 17:58   #7
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Столкновение двух объектов (C#)

При чём здесь C#?
C# - это язык, .Net - программная платформа, Unity - инструмент.
В твоём случае, речь идёт о Unity, а не о C#.
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 18:02   #8
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Столкновение двух объектов (C#)

Если отвечать на вопрос поставленный в первом посте: нельзя без привязки скриптов. Эвенты столкновения приходят в скрипты объектов, участвующих в столкновении.

upd: дальше эти эвенты можешь отсылать куда угодно.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 18:03   #9
SaM_
ПроЭктировщик
 
Аватар для SaM_
 
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Столкновение двух объектов (C#)

MoKa, я думаю не сложно догадаться, что речь идет о разновидности C#, который используется в Unity3D. Людям, здесь сидящем, не надо каждый раз объяснять в какой раздел форума они заходят.
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 18:24   #10
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Столкновение двух объектов (C#)

Сообщение от SaM_ Посмотреть сообщение
MoKa, я думаю не сложно догадаться, что речь идет о разновидности C#, который используется в Unity3D.
Какой РАЗНОВИДНОСТИ?
Читай (кликабельно):
C#
Unity3D

Если внимательно читал, то поймёшь, что есть ЯП (Язык Программирования), такие как: C++, BlitzBasic, C#, Java, Assembler (и т.д.), и есть инструменты (движки в данном случае), такие как: Ogre, Irrlicht, Unity, UnrealEngine, Xors3D и т.д.
Это две разные вещи, и сильно отличаются.

То что там евенты, и всякая архитектурная хрень - это реализация самого Unity, а не ЯП, который лишь даёт возможность реализации подобных фишек.

Это как спрашивать вопрос про Xors3D движёк забинженный к С++, и называть тему: как в через С++ загрузить текстуру. Что на самом деле относится прямым образом к Xors3D, а не к С++.

Сообщение от SaM_ Посмотреть сообщение
Людям, здесь сидящем, не надо каждый раз объяснять в какой раздел форума они заходят.
Если человек зашёл в раздел под названием "Unity", то он следственно ожидает видеть материал по Unity, а не по ЯП, т.к. для самого C# есть отдельный раздел, т.к. сам язык, представляет из себя намного богатые возможности, а не только выступающий в роли языка для разработки используя Unity..
Да и судя по тому как ты "разделяешь" ЯП и инструменты, видимо стоит таки объяснять и не только это.
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 19:02   #11
SaM_
ПроЭктировщик
 
Аватар для SaM_
 
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Столкновение двух объектов (C#)

MoKa, а по теме есть что сказать? Жаль...

pax, а если скрипт все же привязан к одному из объектов, то как выглядит код?
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 19:40   #12
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Столкновение двух объектов (C#)

Сообщение от SaM_ Посмотреть сообщение
MoKa, а по теме есть что сказать? Жаль...
Хм, я смотрю ты язвить молодец.

Сообщение от SaM_ Посмотреть сообщение
pax, а если скрипт все же привязан к одному из объектов, то как выглядит код?
Документация с примером обработки коллизии: http://unity3d.com/support/documenta...sionEnter.html
Если нужно обработать в отдельном месте, то создай например singleton класс, с функцией обработки, и далее реализуй там обработку как если обрабатывал бы в скрипте самого объекта. И вызывай как обычный метод синглтон класса передавая данные о коллизии.

ЗЫ, поддерживается ли в Unity наследование классов для реализации сложных объектов? Если да, почему не создать дочерный класс, который бы реализовывал обработку коллизии, и далее уже наследовать свои объекты от него.

ЗЗЫ, и вопрос твой видимо исходит из весьма глупой мотивации, не опишешь задачу?
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 19:54   #13
SaM_
ПроЭктировщик
 
Аватар для SaM_
 
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Столкновение двух объектов (C#)

MoKa, спс. Но все же проблема в непонимании структуры примера в документации. Например, что значит '(Collision collision)'... Поэтому надеялся, что кто-то приведет более 'прозрачный' пример.
Задача была сделать пик-ап предмета: когда персонаж касается сферы вокруг объекта, то можно совершить какое-то событие, но до меня дошло, что тут лучше подсчитывать расстояние от предмета до персонажа.
(Offline)
 
Ответить с цитированием
Старый 28.03.2012, 20:01   #14
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Столкновение двух объектов (C#)

Думаю надо вооружиться переводчиком и читать справку, разбирая названия всех свойств и методов объектов
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (28.03.2012)
Старый 25.10.2014, 02:24   #15
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: Столкновение двух объектов (C#)

Чтобы не плодить еще одну тему попробую задать вопрос здесь.
Мне нужно добиться абсолютно упругого столкновенияв 3Д физике.
Сделал Bouncing=1, убрал скорости засыпания и т.п. - rigidbody.sleepVelocity = 0; drag=0;...
Но при этом, столкновение получается упругое, только если скорость достаточно большая... при малых скоростях наблюдается эффект прилипания как бы.
Что еще можно настроить? Чтобы при малых скоростях было упругое столкновение?
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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