Автор Тема: collison в bge не работает  (Прочитано 2238 раз)

Оффлайн chupasubway

  • Житель
collison в bge не работает
« : 18 Март 2019, 00:16:21 »
вот прикрепил файл, нужно взять ведро и подойти к скале с водой, и поидее объект "вода" изначально невидимый при прикосновении должен стать видимым но этого не происходит!!! Вобще колисон как то странно работает, в 90% вообще не срабатывает
« Последнее редактирование: 18 Март 2019, 00:52:49 от chupasubway »

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: collison в bge не работает
« Ответ #1 : 18 Март 2019, 05:57:35 »
>> и поидее объект "вода" изначально невидимый при прикосновении [с чем?] должен стать видимым но этого не происходит!!!
... без текстур ничего не видно, где в этом розовом озеро? ...
... поясни, к чему должно быть прикосновение? ...

Оффлайн Samovar

  • Житель
Re: collison в bge не работает
« Ответ #2 : 18 Март 2019, 11:57:03 »
Работает, но не срабатывает в некоторых случаях, в зависимости от физики объектов и их родительских связей... BGE сам по себе тут не причём, физикой заведует Bullet.
В общем, экспериментальным путём проб я выяснил, что объекты Static не реагируют сенсорными коллизиями с объектами Static, как и объекты Sensor <-> Sensor... Soft Body вообще никак не реагируют как и объекты No Collision, Navigation Mesh и Occluder.
Все остальные выдают коллизии... Столкновение Sensor<->Static тоже работает, но с одним условием, если у объектов нет родительских связей или родительский объект является объектом типа Sensor, а потомок Static. Обратное не работает...

Можешь сделать так:
добавить какой нить низкополигональный объект рядом со скалой  или прям на ней и в ней
сделать его сенсором и невидимым при рендере
затем проверять этот сенсор  на столкновение с материалом ведра и связать с актуатором видимости воды


Кстати, я бы рекомендовал тебе использовать  UPBGE, вместо BGE, он круче, более оптимизирован чем BGE, и там добавлен новый удобный функционал...

Оффлайн chupasubway

  • Житель
Re: collison в bge не работает
« Ответ #3 : 18 Март 2019, 14:03:31 »
ого про апбге еще не слышал, что то вкусное походу...
сейчас буду пробовать возиться с этим колисоном, уже и с проперти пробовал и так и сяк, и все не славабогу, и еще ведь ведро когда мышь берет то оно тоже становится объектом с родителем мышь, и это уже получается тогда вообще через мышь надо влиять на "воду"? Чото жесть какая то, выглядит как недоработка!!!

ЗЫ выложил скрин где показано что с чем должно соприкасаться
ЗЫ2 Странно, на https://upbge.org/ ругается что незащищенное соединение)

Оффлайн Samovar

  • Житель
Re: collison в bge не работает
« Ответ #4 : 18 Март 2019, 14:15:01 »
Я и пишу, что создай скрытый сенсор рядом со скалой, который будет "доливать воду  в ведро", при его соприкосновении с "ведром" :)  Или "ведро" проверяй на столкновение с сенсором "скалы", они ведь не связаны связью родитель-потомок. Так будет даже правильней, с точки зрения классического геймдева :)
UPBGE (последний 0.2.4): https://download.upbge.org/download/release/
Только учти, что в BGE уже сложновато будет вернутся с тем же самым файлом, но, думаю не пожалеешь... там реалтаймовые отражения/плеломления через Enveornment Map, паралакс маппинг, SSS, фон можно ставить и получать от него освещение, параметры переменных из подключенных к объектам скриптов можно выносить на панель рядом с Property - это очень удобно... да и куча чего ещё... плюс есть готовые решения: https://github.com/UnidayStudio

З.Ы. Да, ещё ребята переписали все дополнения (аддоны) включённые в последний релиз Блендера 2.79, профиксив в них код... на данный момент, считаю это лучшая версия Блендера :)
« Последнее редактирование: 18 Март 2019, 14:47:10 от Samovar »

Оффлайн chupasubway

  • Житель
Re: collison в bge не работает
« Ответ #5 : 18 Март 2019, 15:10:52 »
Сделал скалу сенсором, мне кажется что проблема в том то когда мышь берет ведро, то ведро становится чилдреном мыши, а вода вообще чилдрен ведра, и потому не срабатывает, через ведро поставил колисон который влияет на воду, и все равно не работает!!! Сейчас буду ковырять а то вся работа встала 2 день голова кипит ;(

ЗЫ апбге заценил, так как в блендер 2.8 вроде как собераюся убирать бге то хошь не хошь а переходить на апбге придется) я раньше думал на юнити перелазить но так не хочется пицот редакторов юзать, да и в блендере все дружелюбное и привычное на мой взгляд!!!
ЗЫ2 и точно постависол колисон через мышь, и когда мышь сталкивается  с горой вода наливается, вся беда была в том что на чилдрен колисон не работает!!!

Оффлайн Samovar

  • Житель
Re: collison в bge не работает
« Ответ #6 : 18 Март 2019, 15:27:47 »
Цитировать
через ведро поставил колисон который влияет на воду, и все равно не работает!!!
заработает, если ведро сделаешь сенсором в параметрах физики объекта... иначе никак.. ,а если вода будет сенсором, а ведро статическим, то не сработает...тоже самое со скалой... либо ведро, либо скала должны быть сенсором, либо другого типа кроме статического. Статические со статическими не взаимодействуют. Это сделано в целях оптимизации производительности, потому, что коллиизии для статических объектов рассчитываются на базе полигонов мешей в Bullet...
Или прилепи невидимый сенсор к ведру как ещё одного потомка, и проверяй его на столкновение с водой (или со скалой... я в принципе понял задумку, но не понял зачем нужно столкновение воды с ведром?)... х.з., по идее, вариантов куча, и всегда найдётся решение :)

Оффлайн chupasubway

  • Житель
Re: collison в bge не работает
« Ответ #7 : 18 Март 2019, 15:41:37 »
ОООО То что надо вообще, ведро сделал сенсором, и теперь хоть оно и чилдрен мыши работает,  а мне как раз это надо было потому что надо изменить параметр в котором ведро меняется чтобы кастер тушить, а через мышь это никак не сделать вот сейчас голову ломал, вообще замечательно прекрасно!!!

ЗЫ Хотя когда ведро прикасается к "костру" костер не удаляется, видимо влияет только колисон на ведро

Оффлайн Samovar

  • Житель
Re: collison в bge не работает
« Ответ #8 : 18 Март 2019, 16:01:01 »
Цитировать
ЗЫ Хотя когда ведро прикасается к "костру" костер не удаляется, видимо влияет только колисон на ведро
Вот мутно как-то у тебя всё :) Решил "только через одни коллизии набрать воды и костёр затушить?" :)
Создай у ведра булевскую переменную в Property, которая будет принимать значения истина при наборе воды со скалы и проверяясь вместе сколлизией костра на тушение... то есть, к контроллеру And будет 2 входа...

Оффлайн chupasubway

  • Житель
Re: collison в bge не работает
« Ответ #9 : 18 Март 2019, 16:23:20 »
Точно так и сделал, но это жесть каждому объекту все это переделывать))) + еще одна проблема сейчас появилась когда объект кастер "энд объект" то звук гашения костра не звучит

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: collison в bge не работает
« Ответ #10 : 18 Март 2019, 16:35:41 »
>> Точно так и сделал, но это жесть каждому объекту все это переделывать)))
python?

Оффлайн Samovar

  • Житель
Re: collison в bge не работает
« Ответ #11 : 18 Март 2019, 17:09:25 »
Цитировать
Точно так и сделал, но это жесть каждому объекту все это переделывать)))
это если логика разная, а так, она копируется запросто с одного объекта, остальным выделенным... а если надо что-то масштабное рассчитывать (тесть, присутствует куча объектов с разными переменными и функциями), то да, лучше юзать Python... но для банального квеста, логических кирпичиков, думаю, более чем достаточно...

Оффлайн chupasubway

  • Житель
Re: collison в bge не работает
« Ответ #12 : 19 Март 2019, 02:02:12 »
да давно пора питон юзать я все никак не возьмусь капитально, неоч люблю кодить но постоянно надо
ЗЫ armory3d или все таки upbge???

Оффлайн Samovar

  • Житель
Re: collison в bge не работает
« Ответ #13 : 19 Март 2019, 16:14:45 »
Это всё для простых игрушек и прототипирования хорошо... Проблема с BGE и UPBGE больше в том, что нельзя игру засунуть в один файл с движком, чтобы их вместе распространять без исходников даже бесплатно из-за лицензии GNU GPL. Обязательно надо приложить ссылку на исходные blend-файлы. Armory, вероятно лучше. Для серьёзных вещей лучше классического программирования на компилируемых ЯП и сборки игры на базе исходников игрового движка и своего кода, ничего не придумано :)  Таких движков есть куча на ЯП Си: Irrlich,Ogre 3D и т.д. Так же есть куча Бейсиков (Если Си сложно понять) и интеграция этих движков с ними: FreeBasic, Purebasic (за бабло), Blitz3D, BlitzMax... хотя х.з. Есть ведь такие монстры как Unity и Unreal

Если кто знает как защитить blend-файл от открытия вне blenderplayer, то поделитесь пожалуйста.
« Последнее редактирование: 19 Март 2019, 16:45:13 от Samovar »

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 68
Автор: LEXA ANЭGROWND
blender.png
Скачано: 78
Автор: ipv2007
4.png
Скачано: 100
Автор: hiroyukiss
2.png
Скачано: 122
Автор: hiroyukiss

Скачано: 112
Автор: Dilifa12