 |
28.03.2012, 01:21
|
#1
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Столкновение двух объектов (C#)
Как сделать, что бы происходило событие когда колайдер объекта 'a' касался колайдера объекта 'b'. При этом сам скрипт не привязан к 'a' или 'b'.
|
(Offline)
|
|
28.03.2012, 01:33
|
#2
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Столкновение двух объектов (C#)
Повесить в позишен любого из обьектов триггер идентичный самому обьекту и снимать с него событие.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
28.03.2012, 02:28
|
#3
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Столкновение двух объектов (C#)
Lestar, не мог бы ты привести пример, буду благодарен :3
|
(Offline)
|
|
28.03.2012, 06:55
|
#4
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Столкновение двух объектов (C#)
Например имеем два шара, на один из них вешаем думик с координатами, совпадающими с рутовым обьектом. На думик добавляем примитив коллайдер сферу, делаем коллайдер диаметром как у рутового обьекта. На думик вешаем скрипт, обрабатывающий столкновение.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
28.03.2012, 07:55
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Столкновение двух объектов (C#)
А почему не хочется вешать скрипт? У меня такое подозрение, что схема с триггером будет работать через раз...
|
(Offline)
|
|
28.03.2012, 17:49
|
#6
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Столкновение двух объектов (C#)
обрабатывающий столкновение.
|
Вот в этом и заключается вопрос - как это все выглядит в C#, я не понимаю как пользоватся oncollider.stay и другими подобными функциями связанными с coll 
|
(Offline)
|
|
28.03.2012, 17:58
|
#7
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,861 пользователей)
|
Ответ: Столкновение двух объектов (C#)
При чём здесь C#?
C# - это язык, .Net - программная платформа, Unity - инструмент.
В твоём случае, речь идёт о Unity, а не о C#.
|
(Offline)
|
|
28.03.2012, 18:02
|
#8
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Столкновение двух объектов (C#)
Если отвечать на вопрос поставленный в первом посте: нельзя без привязки скриптов. Эвенты столкновения приходят в скрипты объектов, участвующих в столкновении.
upd: дальше эти эвенты можешь отсылать куда угодно.
|
(Offline)
|
|
28.03.2012, 18:03
|
#9
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Столкновение двух объектов (C#)
MoKa, я думаю не сложно догадаться, что речь идет о разновидности C#, который используется в Unity3D. Людям, здесь сидящем, не надо каждый раз объяснять в какой раздел форума они заходят. 
|
(Offline)
|
|
28.03.2012, 18:24
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,861 пользователей)
|
Ответ: Столкновение двух объектов (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
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Столкновение двух объектов (C#)
MoKa, а по теме есть что сказать? Жаль...
pax, а если скрипт все же привязан к одному из объектов, то как выглядит код?
|
(Offline)
|
|
28.03.2012, 19:40
|
#12
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,861 пользователей)
|
Ответ: Столкновение двух объектов (C#)
Сообщение от SaM_
MoKa, а по теме есть что сказать? Жаль...
|
Хм, я смотрю ты язвить молодец.
Сообщение от SaM_
pax, а если скрипт все же привязан к одному из объектов, то как выглядит код?
|
Документация с примером обработки коллизии: http://unity3d.com/support/documenta...sionEnter.html
Если нужно обработать в отдельном месте, то создай например singleton класс, с функцией обработки, и далее реализуй там обработку как если обрабатывал бы в скрипте самого объекта. И вызывай как обычный метод синглтон класса передавая данные о коллизии.
ЗЫ, поддерживается ли в Unity наследование классов для реализации сложных объектов? Если да, почему не создать дочерный класс, который бы реализовывал обработку коллизии, и далее уже наследовать свои объекты от него.
ЗЗЫ, и вопрос твой видимо исходит из весьма глупой мотивации, не опишешь задачу?
|
(Offline)
|
|
28.03.2012, 19:54
|
#13
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Столкновение двух объектов (C#)
MoKa, спс. Но все же проблема в непонимании структуры примера в документации. Например, что значит '(Collision collision)'... Поэтому надеялся, что кто-то приведет более 'прозрачный' пример.
Задача была сделать пик-ап предмета: когда персонаж касается сферы вокруг объекта, то можно совершить какое-то событие, но до меня дошло, что тут лучше подсчитывать расстояние от предмета до персонажа.
|
(Offline)
|
|
28.03.2012, 20:01
|
#14
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Столкновение двух объектов (C#)
Думаю надо вооружиться переводчиком и читать справку, разбирая названия всех свойств и методов объектов 
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.10.2014, 02:24
|
#15
|
Бывалый
Регистрация: 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)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:35.
|