Interactive Rubik Cube (x * x * x)

$7
Publisher Inner Drive Studios
File size 1.47MB
Number of files 57
Latest version 1
Latest release date 2020-10-13 09:13:13
First release date 2020-10-13 09:13:13
Supported Unity versions 2018.4.2 or higher
This package contains all assets and code required to create an interactive Rubik Cube of varying sizes.

WebGL demo

This package has two main goals:
• Providing you with a starting point to build your own interactive Rubik cube application
• Act as a learning project for those interested in the 3D math behind implementing such a cube

The package provides an optimized implementation that allows for cubes of arbitrary sizes without the use of extensive ray casting (the provided sample scene demonstrates cube sizes 2 to 9, but you can go higher if you wish). In addition the package is divided in clear classes that can be reused as is, or adapted to your needs as you see fit.

Contents
• Clear, cohesive and extensively documented classes (note that reading the comments and understanding the source code does require a fundamental understanding of vectors, matrices, dots, crossproducts and left & right handed coordinate systems).
• A UV-ed cublet mesh with realistic albedo, normal and smoothness textures (.psd included)
• A cublet.blend file with high and low poly cublet meshes included
• A sample scene demonstrating all the features

Most important classes and features
• RubikCube class: contains core cube definition, rotation and undo features and the ability to check if the cube is solved or not
• DiscRotator: transforms your mouse actions into disc rotation actions on the RubikCube
• CubeRotator: transforms your mouse actions into 90 degree rotations on the cube as a whole
• CameraMouseOrbit: transforms your mouse actions into free orbit camera movements
• AxisDisplay: shows the orientation of your cube on the top right of your screen as a gizmo
• RubikCubeInitializer: shows you how to spawn a cube of a specific size and handle its lifetime

Package limitations:
• This package doesn't come with a cube solving algorithm
• All the rubik cubes are built up dynamically using the same prefab for every cublet, in other words there is no distinction between corner, edge and center pieces.
• There is no side introspection mechanism included, in other words, the cube can tell you whether it is solved or not, but you can't say "Give me the color of cublet R(2,2)" for example.
• The current controls are mouse based but located centrally and easily changed.

WebGL demo

Top Publisher Assets