Страница 2 из 4

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

СообщениеДобавлено: 06 янв 2011, 14:14
alexz
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)

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

СообщениеДобавлено: 07 янв 2011, 11:02
ScorpionMax
Я что-то не совсем улавил, извеняюсь за нудство, если я присвоил скрипт физ телу, дапустим бревну, то как на счет воды? воде тоже нужен скрипт. [curved_hands]

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

СообщениеДобавлено: 07 янв 2011, 11:16
alexz
Вода не нужна. Предполагается, что она присутствует на уровне 0м.

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

СообщениеДобавлено: 07 янв 2011, 14:27
alexz
Обновил скрипт.

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

Изображение

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

СообщениеДобавлено: 07 янв 2011, 21:34
ScorpionMax
alexz писал(а):Вода не нужна. Предполагается, что она присутствует на уровне 0м.


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

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

СообщениеДобавлено: 07 янв 2011, 21:53
alexz
ScorpionMax писал(а):
alexz писал(а):Вода не нужна. Предполагается, что она присутствует на уровне 0м.


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

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

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

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

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

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


Подбирать массу, к каждому предмету, бессмысленное занятие. Я конечно не программист, но хотел бы внести лепту - ( предложения ). Создать два скрипта для воды и для физ.тела, допустим в этом скрипте как я понял объект барахтается на середине, если увеличить массу, то он опустится ниже, так можно долго экспериментировать с ним, но если указать в скрипте объекту что он должен плавать по воде, для этого можно и просто план создать в юнити, и присвоить ей скрипт, чтобы объект знал что это вода и плавал по нему... :)

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

СообщениеДобавлено: 08 янв 2011, 21:20
alexz
В скрипте есть функция, которая говорит объекту, на какой высоте находится вода.

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

― Если плотность объекта меньше плотности воды (<1000), он будет плавать около её поверхности. Чем больше у объекта плотность, тем глубже он погрузится, но всё-таки не утонет.
― Если плотность больше 1000, он уйдёт под воду целиком, утонет. И чем больше плотность, тем стремительнее пойдёт вниз, пока не стукнется обо дно, если таковое предусмотрено.

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

СообщениеДобавлено: 08 янв 2012, 11:38
trololoid
Если присутствует два водоема на разных уровнях?

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

СообщениеДобавлено: 12 янв 2012, 06:48
DeeTwoAr
(3A4OT)
Очень полезная вещь, плавают как настоящие, и не тормозят даже когда их под сотню. Ходить по брёвнам не так-то просто, они гады провернуться хотят - как в реале. Очень даже идея для полосы препятствий :ymdaydream:
ПС Меня в конце брёвнами завалило так что не выбраться )))

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

СообщениеДобавлено: 09 фев 2012, 02:32
waruiyume
После нехитрых манипуляций можно барахтаться на волнах.
Скрытый текст:
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>

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

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

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

СообщениеДобавлено: 02 апр 2012, 16:47
mihanocho
Здравствуйте!
Не получается вставить скрипт...
Скинте исходник пожалуйста!:)
ЗА РАБОТУ
(3A4OT)

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

СообщениеДобавлено: 04 апр 2012, 22:17
berserk95
Поиграл в демку - скрипт шикарный! Внедрил себе в проект, мозг морочил около часа, но так и не понял куда его поставить. Ставлю на физ-объект - ничего не происходит. Создаю плэйн и вешаю на него этот скрипт, предварительно оснастив плэйн коллайдером - плэйн начинает себя дико вести, проваливается под террейн, крутится в воздухе, но брошенный на него объект оснащенный этим же скриптом никак не влияет. Что не так делаю? Поддерживаю предыдущий пост: исходник в студию, если не жалко! :)

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

СообщениеДобавлено: 05 апр 2012, 04:54
waruiyume
Вы мне? Если мне, то исходник под демкой (wave.7z).