stimull Posted October 20, 2025 Posted October 20, 2025 Подскажите пж народ ) я новичок !в общем проблема такая !есть water и есть шар ) я хочу что бы шар плавал ) он у меня тонет либо улетает в не бытие! подскажите в каком направлении идти?
sevas55 Posted October 20, 2025 Posted October 20, 2025 (edited) как минимум внимательно посмотрите и повторите это. тонет скорее всего из-за того что вы не назначили rigidbody и не добавили физическую воду. Edited October 20, 2025 by sevas55 1
stimull Posted October 21, 2025 Author Posted October 21, 2025 Класс всё получилось )) А возможно ли как глобально добавить его на всю воду ?допустим что у меня типо водный мир! и надо физику на воду растягивать?
sevas55 Posted October 21, 2025 Posted October 21, 2025 (edited) Растягивать как по мне не очень эффективный способ. У меня проект с плавающими дронами и лодками, я сделал бесконечную плавучесть так Создаете физическую воду под размер объекта, который должен плавать на большие расстояния. Назначаем на физическую воду скрипт и объект, который в ней плавает. Код WaterMover: public class WaterMover : Component { double z = 0; public Node NodeBoat; float watheight = 0f; ObjectWaterGlobal w; void Init() { z = node.WorldPosition.z; w = World.GetNodeByName("ObjectWaterGlobal") as ObjectWaterGlobal; w.FetchSteepnessQuality = ObjectWaterGlobal.STEEPNESS_QUALITY.HIGH; } void Update() { watheight = w.FetchHeight(new dvec3(NodeBoat.WorldPosition.x,NodeBoat.WorldPosition.y, 0)); node.WorldPosition = new dvec3(NodeBoat.WorldPosition.x, NodeBoat.WorldPosition.y, z+watheight); } } По сути получается, что лодка плавает в бассейне с водой, который перемещается за самой лодкой. Чтобы получить качку, можно немного менять координату z физической воды. Если хотите чтобы качка совпадала с волнами глобальной воды, то z надо вычислять через функцию FetchHeight. еще пример от разработчиков тут Edited October 21, 2025 by sevas55 1
Recommended Posts