Buoyancy - плавучие объекты

Лучший способ помочь другим, поделиться своими находками.

Re: Buoyancy - плавучие объекты

Сообщение alexz 06 янв 2011, 14:14

ScorpionMax писал(а):Все стандартое, как из деки Bootcamp, имею в виду размеры, масса 1 кг...
Сейчас скрипт новый погляжу...

Если кубику размером 1м*1м*1м поставить массу 1кг и засунуть под воду, после запуска сцены его в первом же кадре выстрелит высоко в небо, что даже заметить не успеешь:

сила = плотность_воды * g * объём
ускорение = (сила Архимеда - сила тяжести) / масса = (плотность_воды * g * объём - g * масса) / масса = (плотность_воды * объём/масса - 1) * g = (плотность_воды/плотность_тела - 1) * g

У куба размером 1м*1м*1м и массой 1кг плотность равна 1 кг/(м^3). Ускорение получится (1000/1 - 1) * 9,81 = 9800 м/(с^2)
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: Buoyancy - плавучие объекты

Сообщение ScorpionMax 07 янв 2011, 11:02

Я что-то не совсем улавил, извеняюсь за нудство, если я присвоил скрипт физ телу, дапустим бревну, то как на счет воды? воде тоже нужен скрипт. [curved_hands]
3D max 2011, Photoshop CS и CS5. Game Develop Unity3D...
Аватара пользователя
ScorpionMax
UNIт
 
Сообщения: 61
Зарегистрирован: 28 дек 2010, 11:51

Re: Buoyancy - плавучие объекты

Сообщение alexz 07 янв 2011, 11:16

Вода не нужна. Предполагается, что она присутствует на уровне 0м.
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: Buoyancy - плавучие объекты

Сообщение alexz 07 янв 2011, 14:27

Обновил скрипт.

― Старый работал неправильно, если тело было куда-нибудь повёрнуто во время инициализации скрипта.
― Сделал рисование Gizmos, чтобы было видно силы и точки их приложения.

Изображение
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: Buoyancy - плавучие объекты

Сообщение ScorpionMax 07 янв 2011, 21:34

alexz писал(а):Вода не нужна. Предполагается, что она присутствует на уровне 0м.


Применяю скрипт обьекту, даю массу дапустим 150, он тупа в воздухе барахтается, но не понимает где вода. Как и что делать?
3D max 2011, Photoshop CS и CS5. Game Develop Unity3D...
Аватара пользователя
ScorpionMax
UNIт
 
Сообщения: 61
Зарегистрирован: 28 дек 2010, 11:51

Re: Buoyancy - плавучие объекты

Сообщение alexz 07 янв 2011, 21:53

ScorpionMax писал(а):
alexz писал(а):Вода не нужна. Предполагается, что она присутствует на уровне 0м.


Применяю скрипт обьекту, даю массу дапустим 150, он тупа в воздухе барахтается, но не понимает где вода. Как и что делать?

Такое получается, если масса очень мала для объекта такого размера. Можно поставить 1500 или 15000.

Выложил в первый пост очередное обновление. Вместо того чтобы подбирать массу, теперь можно просто указать желаемую плотность.
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: Buoyancy - плавучие объекты

Сообщение ScorpionMax 08 янв 2011, 19:12

alexz писал(а):Такое получается, если масса очень мала для объекта такого размера. Можно поставить 1500 или 15000.

Выложил в первый пост очередное обновление. Вместо того чтобы подбирать массу, теперь можно просто указать желаемую плотность.


Подбирать массу, к каждому предмету, бессмысленное занятие. Я конечно не программист, но хотел бы внести лепту - ( предложения ). Создать два скрипта для воды и для физ.тела, допустим в этом скрипте как я понял объект барахтается на середине, если увеличить массу, то он опустится ниже, так можно долго экспериментировать с ним, но если указать в скрипте объекту что он должен плавать по воде, для этого можно и просто план создать в юнити, и присвоить ей скрипт, чтобы объект знал что это вода и плавал по нему... :)
3D max 2011, Photoshop CS и CS5. Game Develop Unity3D...
Аватара пользователя
ScorpionMax
UNIт
 
Сообщения: 61
Зарегистрирован: 28 дек 2010, 11:51

Re: Buoyancy - плавучие объекты

Сообщение alexz 08 янв 2011, 21:20

В скрипте есть функция, которая говорит объекту, на какой высоте находится вода.

Синтаксис:
Используется csharp
private float GetWaterLevel(float x, float z)
        {
                return 0.0f;
        }
 

― Если плотность объекта меньше плотности воды (<1000), он будет плавать около её поверхности. Чем больше у объекта плотность, тем глубже он погрузится, но всё-таки не утонет.
― Если плотность больше 1000, он уйдёт под воду целиком, утонет. И чем больше плотность, тем стремительнее пойдёт вниз, пока не стукнется обо дно, если таковое предусмотрено.
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: Buoyancy - плавучие объекты

Сообщение trololoid 08 янв 2012, 11:38

Если присутствует два водоема на разных уровнях?
Аватара пользователя
trololoid
Старожил
 
Сообщения: 712
Зарегистрирован: 15 сен 2011, 19:18
Откуда: Туапсе, Краснодарский край, Россия

Re: Buoyancy - плавучие объекты

Сообщение DeeTwoAr 12 янв 2012, 06:48

(3A4OT)
Очень полезная вещь, плавают как настоящие, и не тормозят даже когда их под сотню. Ходить по брёвнам не так-то просто, они гады провернуться хотят - как в реале. Очень даже идея для полосы препятствий :ymdaydream:
ПС Меня в конце брёвнами завалило так что не выбраться )))
DeeTwoAr
UNец
 
Сообщения: 24
Зарегистрирован: 30 окт 2010, 20:59

Re: Buoyancy - плавучие объекты

Сообщение waruiyume 09 фев 2012, 02:32

После нехитрых манипуляций можно барахтаться на волнах.
Скрытый текст:
HTML код для вашего блога :
Код: Выделить всё
<script language='javascript' type="text/javascript"> document.write("<iframe marginheight='0' src='http://unity3d.ru/distribution/player.php?url=http://dl.dropbox.com/u/23279033/boat/WebPlayer.unity3d&w=640&h=480&t=true&preview=1' height='"+(480+30)+"' width='640' frameborder='0' scrolling='no'></iframe>"); </script>
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Buoyancy - плавучие объекты

Сообщение durak007 10 фев 2012, 08:29

Саул
durak007
 

Re: Buoyancy - плавучие объекты

Сообщение mihanocho 02 апр 2012, 16:47

Здравствуйте!
Не получается вставить скрипт...
Скинте исходник пожалуйста!:)
ЗА РАБОТУ
(3A4OT)
mihanocho
UNITрон
 
Сообщения: 167
Зарегистрирован: 19 фев 2012, 13:20

Re: Buoyancy - плавучие объекты

Сообщение berserk95 04 апр 2012, 22:17

Поиграл в демку - скрипт шикарный! Внедрил себе в проект, мозг морочил около часа, но так и не понял куда его поставить. Ставлю на физ-объект - ничего не происходит. Создаю плэйн и вешаю на него этот скрипт, предварительно оснастив плэйн коллайдером - плэйн начинает себя дико вести, проваливается под террейн, крутится в воздухе, но брошенный на него объект оснащенный этим же скриптом никак не влияет. Что не так делаю? Поддерживаю предыдущий пост: исходник в студию, если не жалко! :)
berserk95
UNITрон
 
Сообщения: 278
Зарегистрирован: 21 ноя 2011, 08:18
Откуда: Удомля, Тверская обл.
  • Сайт

Re: Buoyancy - плавучие объекты

Сообщение waruiyume 05 апр 2012, 04:54

Вы мне? Если мне, то исходник под демкой (wave.7z).
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Пред.След.

Вернуться в Исходники (Копилка)

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

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