Как создать 3d куб воды?
Как создать именно 3d воду? То есть она не только сверху будет как водичка полоскаться, а когда с боку посмотришь там тоже будет видно воду. То есть такой вод куб воды в стеклянном прозрачном кубе мне надо..
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как создать 3D куб
Подскажите, первый раз этим заинтересовался! т.е. куб с 6 гранями с рисунками Просто интересно.
Как создать куб с разными текстурами на гранях?
Т.к. на предыдущую тему я ответа не получил, то теперь я задам простой вопрос: Как создать куб у.
Сколько воды нужно пропустить и как меняется концентрация соли в зависимости от темпа пропуска воды
Сколько воды нужно пропустить и как меняется концентрация соли в зависимости от темпа пропуска воды.
3339 / 1761 / 1019
Регистрация: 26.10.2018
Сообщений: 5,174
Сообщение было отмечено Gordon1482 как решение
Решение
Куб, в котором вода или куб, который сам как вода?
Можно сделать шейдером, но он никогда не будет растекаться https://catlikecoding.com/unity/tutorials/flow/
Можно сделать частицами, он будет растекаться https://assetstore.unity.com/p. luid-63067
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.)
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы.
создать класс куб
С методами : 1.считывание сторон.2. вычисление обьема.
Создать 3д куб с условиями
Нужно создать 3д куб с этими условиями на с++ builder отобразить вращающийся кубик; кнопки для.
В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В , потом из
В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В.
C# В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В , потом
В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В.
Как создать редактируемый куб в юнити? Не могу решить?
Есть задача. При клике пользователя в пространстве он может растягивать плоскость по x и z, если он тянет за какую-либо грань, плоскость растягивается по y в результате чего создается куб. Есть идеи на счет того что нужно будет использовать Raycast, но не знаю как реализовать.
- Вопрос задан более трёх лет назад
- 549 просмотров
1 комментарий
Средний 1 комментарий
Примитивы
Unity может работать с 3D моделями любой формы, создаваемыми в приложениях для моделирования. Однако, существует ряд примитивных моделей, которые можно создать прямо в Unity: Куб ( Cube ), Сфера ( Sphere ), Капсула ( Capsule ), Цилиндр ( Cylinder ), Плоскость ( Plane ) и Квад ( Quad ). Эти объекты часто применяются как есть (плоскость обычно используется в качестве поверхности земли, например), но также они позволяют быстро создать прототипы сложных объектов в целях тестирования. Любой из примитивов может быть добавлен в сцену с помощью соответствующего пункта в меню GameObject > Create Other .
Куб
Это простой куб, с длиной ребра в одну единицу измерения. Куб текстурирован так, чтобы изображение повторялось на каждой из 6 его граней. Сам по себе куб не так часто встречается в играх, но если его отмасштабировать, то его можно использовать в качество стен, столбов, коробок, ступенек и других аналогичных предметов. Для разработчиков, куб — удобная замена итоговой модели, если она ещё не готова. Например, кузов автомобиля может быть грубо представлен в виде вытянутого до нужных габаритов куба. Хоть это и не приемлемо для готовой игры, но вполне подходит в качестве заготовки для тестирования кода управления автомобилем. Так как длины рёбер куба равны одной единице измерения, вы можете проверять пропорции импортированного в сцену меша просто поставив куб рядом, для сравнение размеров.
Сфера
Это сфера диаметром в одну единицу измерения (то есть, с радиусом в 0.5 единицы измерения), текстурированная так, чтобы всё изображение огибало сферу один раз, при этом верхняя и нижняя границы картинки будут находиться на полюсах сферы. Очевидно, сферы полезны для создания мячей, планет и снарядов, но полу-прозрачная сфера может также служить и удобным GUI инструментом для представления радиуса эффекта.
Капсула
Капсула — это цилиндр с полусферическими колпаками на концах. Объект имеет диаметр в одну единицу измерения и высоту в две единицы измерения (цилиндр высотой в одну единицу и оба колпака по половине единицы каждый). Капсула текстурирована таким образом, чтобы изображение огибало её ровно один раз, с закреплением в вершине каждой из полусфер. Хоть в реальном мире и не так много объектов с такой формой, капсулу удобно использовать для прототипирования. В частности, в некоторых задачах физика закруглённого объекта предпочтительнее, чем таковая у прямоугольного.
Цилиндр
Это простой цилиндр, высотой в две единицы и диаметром в одну единицу, текстурированный так, чтобы изображение было один раз обёрнуто вокруг цилиндрической поверхности, и при этом полностью повторялось на плоских гранях цилиндра. Цилиндры удобно применять для создания столбов, труб и колёс, но вы можете заметить, что форма коллайдера а самом деле — капсула (в Unity нет коллайдера в форме цилиндра). Если вам всё-таки нужна точная физика цилиндра, то для этого придется смоделировать соответствующий меш и использовать на нём меш коллайдер.
Плоскость
Это плоский квадрат с длиной стороны в 10 единиц, ориентированный в плоскости XZ локального пространства координат. Он текстурирован так, чтобы всё изображение точно заполнило квадрат. Плоскость удобна для отображения картинок и видео в GUI, и для различных спецэффектов. Хоть плоскость и может использоваться для описанных выше вещей, более простой примитив квад чаще подходит для таких задач.
Квад
Примитив квад аналогичен плоскости, но его стороны имеют длину одной единицы измерения и поверхность ориентирована по плоскости XY локального пространства координат. Также, квад состоит только из двух треугольников, в то время как плоскость — из двухсот. Квад будет полезен, если в сцене требуется создать экран для вывода изображений или видео. С помощью квадов можно создать простые информационные и GUI экраны, а также частицы, спрайты и “обманные” изображения для имитации удалённых больших объектов.
Создание Minecraft на Unity3D. Часть первая. Создаем базовый куб с текстурой
Мы начинаем серию уроков, ориентированную на то, чтобы научить вас создавать простую Minecraft-подобную игру, а также изучить различные аспекты движка Unity3D. Так как это вводный урок, алгоритмы и структура объектов, представленные в этой серии, не самые эффективные.
Приступаем к разработке
Скачайте последнюю версию Unity3D отсюда.
Скачайте текстуры, которые вам потребуются в процессе разработки проекта, описанного в этом руководстве.
- Текстуры куба:16×16;32×32;64×64;128×128;256×256;512×512;Вы можете использовать любое из предложенных разрешений. Вы также можете скачать оригинал:верхняя часть;боковая часть;нижняя часть;
- Текстуры skybox: красивый пакет текстур можно скачать отсюда.
Для начала давайте познакомимся с Unity3D. Когда Вы запустите Unity3D в первый раз, всплывет окно Project Wizard. Вы можете импортировать один из встроенных пакетов Unity. Пакеты — это коллекции различных файлов (кода, моделей, аудио-файлов, текстур и т.д.), которые хранятся в виде иерархической структуры, инкапсулированной в файлы с расширением .unitypackage. Пакеты могут быть экспортированы из любого Unity-проекта. Таким образом можно очень просто переносить различные файлы между проектами, сохраняя их иерархию. Сейчас нам не нужно импортировать какие-либо пакеты.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
После того, как вы зададите путь для нового проекта, нажмите кнопку Create, чтобы завершить создание проекта. Если Вы открыли Unity и создали проект заблаговременно, вы всегда можете создать новый проект, нажав File → New Project, чтобы вызвать окно Project Wizard.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Интерфейс Unity разделен на несколько вкладок:
- Вкладка Project содержит все ресурсы, используемые в игре. Для опрятности рекомендуется, чтобы все файлы проекта находились в папках с соответствующими именами (Materials, Textures, Models, Prefabs и т.д.). Это окно показывает, как файлы хранятся на вашем жестком диске, но очень важно, чтобы любые изменения файлов проекта были сделаны из вкладки Project, а не из Проводника, иначе Вы рискуете необратимо потерять связь между файлами.
- Вкладка Console отображает полезные отладочные сообщения. Если у вас есть минимальный опыт в программировании, вы, вероятно, знаете, почему именно они полезны.
- Вкладка Inspector показывает различные компоненты, содержащиеся в объектах из вкладок Hierarchy или Project. Вы можете модифицировать любые значения редактируемых объектов отсюда.
- Вкладка Hierarchy содержит список названий всех объектов, расположенных на текущей сцене.
- Вкладка Scene показывает игровой мир с произвольной точки (отличной от точки, в которой расположена главная игровая камера). Вы можете изменить позицию этой камеры с помощью клавиш W, S ,A, D и правой кнопки мыши.
- Вкладка Game показывает, что происходит, когда вы начинаете игру, с точки зрения игровой камеры. В отличие от вкладки Game, вкладка Scene отображает сетку.
Вы можете расположить вкладки, как вам удобно, перетащив их мышкой в нужное место.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Любой объект или скрипт, добавленный в проект, может быть сохранен в файле сцены с расширением .unity. Сцены идентичны игровым уровням. Unity-разработчик может разместить игровые файлы на отдельную сцену, когда это необходимо, и загрузить их во время выполения кода. Любой проект может содержать несколько сцен. Чтобы сохранить текущую сцену, нажмите File → Save Scene / Save Scene as… и наберите название в окне проводника.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Сохраните ее в папке Assets — корневой папке Unity-проекта.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Если вы откроете папку Assets во вкладке Project, вы можете обнаружить там только что созданную сцену. Кликните здесь правой клавишей мыши и создайте три новых папки: Code, Materials и Textures, как показано на картинке:
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Теперь мы готовы начать! Перетащите текстуры куба и скайбокса в папку Textures.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Затем зайдите в папку Materials и создайте четыре материала:
- SkyboxMaterial,
- BottomMaterial,
- SideMaterial,
- TopMaterial.
Материалы добавляют цвета на 3D-объекты с помощью программ, называемых шейдерами и обрабатываемых на GPU. Больше информации о материалах Unity и шейдерах вы можете получить здесь. Три материала, которые мы создали, будут применены к сторонам куба, который мы создадим в следующем разделе.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Кликните левой кнопкой мыши на BottomMaterial. Во вкладке Inspector кликните по кнопке Select, расположенной в компоненте Texture материала, а затем, во всплывшем окне, выберите текстуру bottom.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Затем выберите соответствующие текстуры для SideMaterial и TopMaterial, как показано на картинке ниже.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Если вы хотите, чтобы на заднем плане отображался красивый пейзаж, вы можете добавить скайбокс. Для этих целей мы создали SkyboxMaterial, на который мы наложим шесть оставшихся текстур из папки Textures.
Нажмите левой кнопкой мыши на SkyboxMaterial. Во вкладке Inspector, рядом с меткой Shader, кликните на выпадающий список и выберите RenderFX → Skybox. Это встроенные в Unity шейдеры, которые имплементируют базовые (модель освещения Блинна-Фонга, рельефное текстурирование, отражения, прозрачность и т.д.) и несколько продвинутых шейдеров, таких как параллакс-эффект. Вы также можете писать свои шейдеры и добавлять их в проект.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Далее, по аналогии с материалами сторон куба, описанными выше, нам нужно добавить шесть skybox-текстур в соответствующие места.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Далее, мы должны добавить скайбокс на нашу сцену. Перейдите в Edit → Render Settings. Во вкладке Inspector, рядом с меткой Skybox Material, нажмите на маленький кружок справа и выберите SkyboxMaterial из материалов проекта.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Если мы приглядимся, мы можем обнаружить грани skybox-куба. Этого можно избежать с помощью наложения текстур. Когда текстура наложена на другую, пиксели, расположенные на краях текстуры, повторяются, заполняясь цветом краев модели, на которой они расположены. Больше информации о наложении текстур можно получить здесь.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Перейдите в папку Textures во вкладке Project, выберите все изображения, в пункте Wrap Mode выберите Clamp из выпадающего списка и нажмите Apply.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Создаем куб
Было бы очень заманчиво использовать встроенный примитив Unity — куб — как основу для кубов Minecraft, и расположить соответствующие текстуры из текстурного атласа на стороны куба, используя UV-преобразования, но в этом руководстве мы будем придерживаться простых методик (с наименьшим количеством внешних ресурсов) и будем использовать отдельные меши для каждой стороны.
В верхнем левом меню кликните на GameObject → Create Other → Quad. Повторите это действие еще пять раз (нам нужно создать шесть сторон куба).
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Теперь назовите каждую из шести сторон соответствующим именем:
Top, Bottom, Right, Left, Front, Back.
Объекты, расположенные на сцене, называются GameObject. Чтобы переименовать GameObject, кликните правой клавишей мыши на нем во вкладке Hierarchy и нажмите Rename.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Если вы только начинаете знакомиться с Unity, вам крайне рекомендуется ознакомиться с навигацией в окне Scene и позиционированием GameObject, прежде чем идти дальше.
После создания игровые объекты будут размещены на сцене случайным образом (на самом деле, новые GameObject расположены в точке текущего расположения камеры). Мы должны расположить все стороны куба. Чтобы выровнять их, во вкладке Hierarchy кликните на каждую сторону и модифицируйте её позицию и вращение во вкладке Inspector таким образом:
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Вуаля! Наш серый куб готов:
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Если куб не центрирован в окне Scene, дважды кликните на одной из его сторон во вкладке Hierarchy, чтобы выровнять камеру.
Во вкладке Project зайдите в папку Materials. Чтобы создать красивый пиксельный куб, мы должны переместить следующие материалы:
- TopMaterial на верхнюю сторону,
- BottomMaterial на нижнюю сторону,
- SideMaterial на левую, правую, заднюю и переднюю сторону во вкладке Hierarchy.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Замечательно! Выглядит, как куб из Minecraft, но сейчас у нас есть шесть разделенных частей, а не автономный GameObject, который мы могли бы разместить на нашей сцене. Мы будем использовать простую систему иерархий Unity, чтобы переместить эти части в один GameObject. Она позволяет любому GameObject стать потомком другого GameObject на сцене с помощью простого перетаскивания объекта-потомка на желаемый объект-родитель. Это чрезвычайно удобно, потому что Transform потомка (позиция, вращение и масштаб объекта) станет относительным родительскому объекту.
В левом верхнем меню выберите Game Object → Create Empty. Это действие создаст пустой GameObject, который будет содержать только компонент Transform.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Кликните правой кнопкой на объекте и переименуйте его:
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Кликните левой кнопкой на объекте и измените его позицию на (0,0,0).
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Теперь выберите шесть сторон куба и перетащите их в новый пустой GameObject.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Если вы обнаружили ошибки, как на картинке ниже, учтите, что это обычное явление, когда вы вручную меняете иерархию GameObject. Просто нажмите Clear on Play во вкладке Console, чтобы очистить лог ошибок, когда запускаете игру.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Куб готов! Не забудте сохранить сцену!
В следующей части мы завершим создание нашей игры.
Следите за новыми постами по любимым темам
Подпишитесь на интересующие вас теги, чтобы следить за новыми постами и быть в курсе событий.