# How to Make Almost Anything - Building 3D Interfaces ## Three.js: - Examples: - [Three.js Examples](https://threejs.org/examples/) - Data Visualization: [A world of Oil](https://www.gsmlondon.ac.uk/global-oil-map/) - Architecture Visuzalization: [Cruciform](https://www.clicktorelease.com/code/cruciform/) - Interactive 3D model: [Renault](https://renaultespace.littleworkshop.fr/) - Tutorials: - [Lynda: Learning 3D Graphics on the Web with Three.js](https://www.lynda.com/JavaScript-tutorials/Learning-3D-Graphics-Web-Three-js/586668-2.html) - [WebGL](https://webglfundamentals.org/webgl/lessons/webgl-fundamentals.html) - [AR](https://stemkoski.github.io/AR-Examples/) - [AR.js](https://jeromeetienne.github.io/AR.js-docs/misc/EXAMPLES.html) - [VR](https://threejs.org/docs/#manual/en/introduction/How-to-create-VR-content) - Topics: - Scene and Camera - Camera - Renderer - Objects Positions and properties - Primitives and Transforms - Update Renderer - Name to objects - Rotate each frame - Parent-Child relationship - Scene traverse - Control - Data.gui - orbit control - Material and Light - Change material - Change to multple objects - Change light type - Realistic Material - Mesh Manipulation and Data - Boxes Movement - Vertices Manipulation - AR/VR - Basic QR Code - https://amiraa.pages.cba.mit.edu/3d_interfaces_recitation/1_Three.js/6_AR/hello-cube.html - [Creating Custom Codes](https://medium.com/arjs/how-to-create-your-own-marker-44becbec1105) ## Unity: - Examples: - [Examples](https://unity.com/madewith?_ga=2.185694379.36137922.1543245587-676820850.1535121275) - Tutorials: - [Lynda: Advanced Unity: 3D Game Programming](https://www.lynda.com/Unity-3D-tutorials/Advanced-Unity-3D-Game-Programming/160270-2.html) - [Example Projects](https://unity3d.com/learn/resources/downloads) - Integration with Hardware: - [Unity and Arduino](http://www.alanzucconi.com/2015/10/07/how-to-integrate-arduino-with-unity/) - [Week 11](http://fab.cba.mit.edu/classes/863.16/section.Harvard/people/Abdel-Rahman/index.html) - VR: - [Tutorial 1: Circuit Stream](https://circuitstream.com/htc-vive-tutorial/) - [Tutorial 2: VRTK](https://vrtoolkit.readme.io/) - [Google Cardboard Workflow](https://developers.google.com/vr/develop/unity/get-started-ios) - [Make your own Cardboard](https://vr.google.com/cardboard/manufacturers/) - AR: - [Unity Project Link](https://www.dropbox.com/s/52hg99eg2hw73to/5_AR.zip?dl=0) - [AR Toolkit Unity](https://github.com/artoolkit/arunity5) - [Marker Based AR](https://assetstore.unity.com/packages/templates/tutorials/markerbased-ar-example-29678) - [vuforia](https://library.vuforia.com/articles/Training/getting-started-with-vuforia-in-unity.html#activation) - Topics: - Unity Interface - First Script - Box Rotation - Input - Keyboard - Mouse - Mesh Manipulation - Building Meshes - Dynamic Mesh - Exporting to webgl