|
11 / 11 / 2
Регистрация: 17.02.2014
Сообщений: 947
|
|
Как создать кубик рубика в Unity?01.01.2017, 16:20. Показов 6942. Ответов 23
Метки нет (Все метки)
0
|
|
| 01.01.2017, 16:20 | |
|
Ответы с готовыми решениями:
23
Кубик Рубика
Как создать Unity 3D приложение? |
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
||
| 01.01.2017, 19:08 | ||
|
Хотя если вам нужен не динамический кубик-рубик( без каких действий, типа разворота кубов ), а талько так, чтобы просто где-то был, то можно обойтись и 1 кубом, на которого "наклеены" текстуры со швами между цветами. Вопрос задан так, что не поймёшь какой вам кубик-рубик вообще нужен. Скажу только, что его можно создать.
0
|
||
|
11 / 11 / 2
Регистрация: 17.02.2014
Сообщений: 947
|
|
| 02.01.2017, 20:49 [ТС] | |
|
0
|
|
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
|
| 02.01.2017, 23:32 | |
|
0
|
|
|
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
|
|
| 03.01.2017, 11:42 | |
|
Почему 27? Граней же 6...
0
|
|
|
11 / 11 / 2
Регистрация: 17.02.2014
Сообщений: 947
|
||
| 03.01.2017, 13:09 [ТС] | ||
|
0
|
||
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
||||
| 03.01.2017, 13:57 | ||||
|
.
0
|
||||
|
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
|
| 06.01.2017, 18:58 | |
|
jestero,
Береш любой 3d редактор и делаеш кубик рубика из 27 маленьких кубичков, красиш нужные плоскости и экспортируеш в Unity. Я создал кубик рубик в программе blender к примеру смотри на картинки.
0
|
|
|
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
|
| 06.01.2017, 19:31 | |
|
Вот смотрим на картинки я сделал кубика рубика, но для него еще нужно сделать и возможность крутить его.
Здесь как бы все просто родительскому кубу красная стрелка сделал дочерние зеленые стрелки смотрим на скрин. Поворачиваю родительский поворачиваются и дочерние- все нормально и отлично! Смысл в том что мы делаем к примеру дочерними кубиками все боковые относительно центрального. Но как их делать программно!? Скрипт к примеру я знаю который сделает дочерним объектом. Кубик крутится во все стороны все кубики родители меняются по отношению к детям кубикам. Ясно что программно нужно вечно менять родителей и детей, но каких детей и каких родителей давайте порешаем эту логику! Добавлено через 10 минут Подведем итоги ребята о сборке кубика в игре что мне удалось немного установить. Все центральные кубички всегда будут родителями! А их 6 штук на 6 сторонах и плюс еще в центре (он невидимый загорожен другими кубиками) и это не меняется что уже хорошо! Менятся тока будут дети, как вобще все это реализовать?
0
|
|
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
|||
| 07.01.2017, 01:26 | |||
|
0
|
|||
|
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
|
|
| 07.01.2017, 08:44 | |
|
Родительский объект будет только тот, чья грань будет вращаться. После вращения все родительские связи надо сбрасывать.
Хранить состояние кубика надо в массиве, транзакции надо как-то определить, чтобы внутри массива делать сдвиги состояний граней.
2
|
|
|
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
||
| 07.01.2017, 14:53 | ||
|
wmysterio,
Ну разваливающийся кубик думаю легче сделать чем нормально крутящийся ![]() Про массив думаю тоже верно! Нужен трехмерный массив 3 x 3 x 3 из 27 элементов. Это уже какие-то продвиги! Небольшие шажки к реализации игры симулятора кубик-рубика!
0
|
||
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
|||
| 07.01.2017, 18:58 | |||
Получится что-то вроде этого:При вращении родителя на угол альфа1, автоматически будут вращаться и его дочерние 9 кубов на угол альфа2, который естественно будет равен альфа1. К тому же этот подход сократит нам работу, поскольку не нужно будет искать родительского куба в группе кубок, которые нужно будет вращать. Осталось только придумать как получить этих 9 кубов для вращения и указать по какой оси будет идти их вращение ( X, Y, Z ), а дальше уже и так знаем ![]() было бы сложно если физику нужно было писать вручную )
0
|
|||
|
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
|
||
| 07.01.2017, 21:38 | ||
|
Более удобная абстракция это: - независимые массивы 3х3 для каждой грани - ссылка на верхнего+нижнего+правого+левого соседа Тогда имея грань и направление вращения можно легко повернуть грань и поменять местами соприкасающиеся ряды соседей. Если принять центральную ячейку за [0,0] - то поворот простенький, а соседей по часовой (или против) стрелке менять местами - ссылки на них же есть.
0
|
||
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
||||||||||||
| 08.01.2017, 02:05 | ||||||||||||
Но в целом работает. Осталось только создать/импортировать нужный объект с 27 дочерними кубами и расположить их в правильных положениях и реализовать "управление", например 18 кнопок, при нажатии которых выполняется какой-то метод TurnCubes. Я тестировал скрипт на обычных кубах от Unity. Сам кубик-рубик(префаб) в прикреплении. Вращение можно проверить во время выполнения, просто кликнув на последний дочерний элемент.
1
|
||||||||||||
|
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
|
||
| 08.01.2017, 07:55 | ||
|
Да и зачем привязываться к реальной модели, когда проще абстракцию сваять?
0
|
||
|
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
|
| 08.01.2017, 16:35 | |
|
wmysterio,
Отлично получилось! Тока я не совсем понял как его вращать в коде, он может быть и вращался но так как все стороны кубика рубика были белые - эти повороты на 90 градусов становились невидимыми..( Прилагаю архив цветного кубик- рубика в удобном для юнити формате .fbx с размерами кубиков такими же как в юнити. Весь кубик отцентрован по координатам и размерам, имена частей кубика это простые порядковые номера (для упрощения написания кода).
0
|
|
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
||||
| 08.01.2017, 19:49 | ||||
и вариант с кубиком, который предложил в прикреплении товарищ NIKOLAYY, точно выбирает необходимый ряд кубов. У меня этот куб прекрасно вращает все необходимые кубы для вращения по любой из оси.NIKOLAYY, спасибо за куб! Он как влитый вписывается и вращается без без проблем:
0
|
||||
|
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
|
|||
| 08.01.2017, 21:27 | |||
|
Как теперь узнать цвета на любой произвольной грани куба?
0
|
|||
|
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
|
||||
| 08.01.2017, 22:32 | ||||
|
0
|
||||
| 08.01.2017, 22:32 | |
|
Помогаю со студенческими работами здесь
20
Как в Unity создать всплывающее окно в игре? Unity 3D (nGUI). Как создать новый динамичный лейбл при нажатии кнопки? Как сделать кубик рубика? Кубик Рубика кубик рубика Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|