https://github.com/jay-k98/hskl_brickbuildar
The greatest AR brick instructions you'll ever meet!
https://github.com/jay-k98/hskl_brickbuildar
augmented-reality augmentedreality bricks unity unity3d
Last synced: about 1 month ago
JSON representation
The greatest AR brick instructions you'll ever meet!
- Host: GitHub
- URL: https://github.com/jay-k98/hskl_brickbuildar
- Owner: jay-k98
- Created: 2021-12-20T23:59:01.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-01-20T15:42:27.000Z (over 4 years ago)
- Last Synced: 2025-10-25T04:59:32.563Z (8 months ago)
- Topics: augmented-reality, augmentedreality, bricks, unity, unity3d
- Language: C#
- Homepage:
- Size: 32.4 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BrickBuildAR
The greatest 3D Brick instructions you'll ever meet.

## Required Packages
### Unity Registry
- ARKit XR Plugin 4.2.1
- AR Foundation 4.2.1
- Input System 1.1.1
- Post Processing 3.1.1
### Unity Asset Store
- [Lean Touch 2.3.5](https://assetstore.unity.com/packages/tools/input-management/lean-touch-30111)
## Project Settings
### Resolution and Presentation
- Portrait: **false**
- Portrait Upside Down: **false**
- Landscape Right: **true**
- Landscape Left: **true**
### Player
- Target Device: **iPhone + iPad**
- Target minimum iOS version: **12.0**
- Requires ARKit support: **true**
- Active Input Handling: **Both**
### XR Plug-in Management
- Initialize XR on Startup: **true**
- Plug-in Providers > ARKit: **true**
## Parts and Colors
We used parts from the community run part library [LDraw Parts List](https://www.ldraw.org/cgi-bin/ptlist.cgi). The meshes were optimized in Blender and exported as FBX.
Official colors can be obtained from [Brickipedia Color Palette](https://brickipedia.fandom.com/wiki/Colour_Palette).
## Instructions YAML
The data structure is based on the YAML format. Each build step has a unique ID.
Related build steps can be referenced by the ID's.
There are different types of build steps:
### Assembling single parts
Single parts are joined together here. Each build step contains the ID of the component, the local position, the rotation of the component, as well as the color of the component.
### Assembling components
For components, only the component ID and the position are specified. Specifying the rotation would be possible like for single parts, but is not required at the moment.

### Rotate view
These steps only contain a rotation vector, to rotate the view and a so called "Smoothing-Factor", which should indicate if the rotation should be animated (value = 1) or not (value = 0).
Furthermore, each building step contains a specification for the position on the y-axis, as well as a rotation vector for the correct alignment in space. The y-axis represents the height of the object in space. Sometimes this is desirable, for example if the object has to be turned upside down.
### Inventory entry
The inventory is listed in the same YAML file as the build steps. An inventory entry contains the required parts or components, as well as their quantity and color. The associated steps are specified under the "steps" parameter.

## Future Work
- Android version using "AR Core"
- Enable import of own models
- Realize instructions away from building brick models
- Use Lidar sensor of iPad Pro (possibly better AR functionality)
- "Mixed Reality" application for HoloLens
- Automatically capture the current build step
- Develop a GUI to construct own instructions of a model