Previous version was an enlarged version of the official cardboard version 1 design with larger lenses. This post is a collection of my notes taken during the process. Not a tutorial.
I started by cutting out a miniature version of the official cardboard version 2 in order to understand how it goes together. It was overly complex for my needs so I developed a simplified design with the tablet sticking out the top so the screen can be used directly as an input button.
Ajax Scientific Polished Glass Double-Convex (Bi-Convex) Lens, Spherical, 38 mm Diameter, 50 mm Focal Length
The viewer was assembled from 3 mm thick cardboard. The shapes were printed and taped to the cardboard to use as a template for creating the pieces. The pieces were assembled using a hot glue gun. The face and bottom pieces were covered with transparent tape to avoid oil and sweat stains on the cardboard.
Nexus 3D model from TurboSquid – http://www.turbosquid.com/FullPreview/Index.cfm/ID/762584
Artist: art_setter factory
Profile QR-Code Generator
from desktop pc open the web page
then open the indicated web address in the tablet
if doesn’t work refresh the desktop web page and use the new indicated web address, repeat until it works
make adjustments on the pc until the tablet looks good then generate the qr code
Primary Button = Touch
Screen to lens = 45.5 mm
Inter-lens distance = 64.0 mm
Screen vertical alignment = Bottom
Distortion K1 = 0.310
Distortion K2 = 0.570
Note that the QR Code needs good lighting to work. Other android scanners will read it in low light, but the cardboard app needs it to be bright.
get shapes from TurboCAD into trueSpace:
remove all text and dimensions
convert circles and arcs to polylines (explode)
make closed shapes via join polylines
export scale depends on viewport scale
Sketchy Unity 3D Notes:
Got it working but a lot of fiddling around and not sure of anything
Daydream technical preview – can be used along side a regular unity install
gvr unity sdk – for samples
to find SDK and JDK path for modern Android Studio
open Android Studio
File > Settings
Appearance & Behavior > System Settings > Android SDK – will show the location for the SDK
The JDK is at C:\Program Files\Android\Android Studio\jre
These path values go into Unity – Edit > Preferences > External Tools
Also enable VR support and set API level 19 also download api 19 inside android studio
Latest Daydream Unity has lag/frame rate problems?
TurboCAD Side Notes: TurboCAD v14 does not work properly with Windows 10. Use of AEC Dimension Styles will cause instant crash. Text tools cause instant crash. The workaround is to save files to v12 format files and ignore the warning messages when using copy and paste. If file is v14 immediately save as v12, close file and reload it. Features unique to v14 will not fully save to v12, but it wasn’t an issue for this project. Printing from model view does not center properly, so page setup values must be set manually.
From old print notes:
in model space
View > Create View, then define the region and give it a name
Workspace > PaperSpace > Insert, or use an existing Paper tab
switch to the paper space
Insert > Viewport then goto the previously defined paper
select the viewport rectangle and right click for it’s properties
Viewport > Scale check “Fixed”
type in the value which does not show in the dropdown list -> “1 in = 25.4 mm”
now will print to size when using the defined paper
Snapping & constraints
Snapping and constraints are used to allow high precision modeling. Snapping tools compute nearest position that may be useful (grid point, vertex, edge…) and constraints lock movement to specified direction(s). These tools are accessible from Player toolbar.
Tool is activated by clicking on it; additional tool properties are accessible by rclicking on the tool icon. Panels for snapping tools are located in preferences encapsulator
(/Preferences/Snapping/ and /Preferences/Snapping/Point edit snapping).
Snapping & constraints can be combined and activated together. For example you can have active grid snapping and snap to edge at once. Then when moving or drawing a polygon nearest point will be used as a snap position. This is also valid for constraints, for example when constraining movement to two non-parallel planes movement will be constrained to their intersection.
You can have as many snapping managers as you wish, movement widget tools are now extended to contain snapping group name. In this way you can add special controls to Widgets that will cause snapping to selected elements, whereas other controls can move without snapping or constraints. Polygon draw
Polygon draw tool allows directly drawing faces or edges during point edit mode.
Activate the tool by clicking on Polydraw tool icon in Player toolbar.
When selected object is not in point edit mode tool will activate it.
You add vertices connected by edges, by clicking on the mesh faces.
To modify vertex position during polygon draw, drag existing vertex.
To add new vertex on the edge, click on it.
When hovering above edge, Polydraw tool shows high/ite of vertex that will be added.
To remove the vertex, move the vertex you want to delete to another vertex.
Tool will not allow creating invalid geometry. When trying to create bad polygon highlite will show in red.
To close the loop, click on the first vertex.
You can draw polygon across multiple faces, but edges need to pass thru edges or vertices on neighboring faces.
When you draw acceptable set of edges, Polydraw will change highlite to selection color.
When you activate other widget tool in this state, tool will finish without closing whole polygon. This behavior is intended for drawing edges or adding vertices.
Snapping and Polydraw
You can use snapping with Polydraw:
simply enable or disable snapping & constraint tools when drawing polygons.
Activate guideline by snapping current vertex to edge and press shift key. If you want to move in perpendicular direction, hold shift and ctrl.
Deﬁned set of general purpose array data objects for scripting:
Universal Array Data.
Int Array Data.
Number Array Data.
String Array Data.
Boolean Array Data.
All are deﬁned in Common Data package.
You can create single-dimensional as well as multidimensional arrays using these data objects.
Universal Array Data can store items of any type (primitives like int, bool, or rosetta data types), but it is slower and more memory consuming than specialized types (e.g. Int Array Data), so choose the right type carefully.
// Create simple array by adding items
a = System.CreateDO(“Common Data Package\Universal Array Data”);
// Create 2 dimensional integer array
a = System.CreateDO(“Common Data Package\Int Array Data”)
for (i = O; i < 10; i++)
for (j = 0;j<10;j++)
Adding a cube. There are 3 modes how to add a cube.
Diagonal — this is Modeler way. LClick to deﬁne ﬁrst corner, drag and rclick do deﬁne second corner.
Edges — deﬁne cube by deﬁning two edges. First click & drag deﬁnes bottom X edge. Second click&drag deﬁnes Z edge.
Corners — cube is created after adding 4 points. (you can either click or drag to use xy or z movements).
For adding torus, sphere, cylinder, cone there are 2 modes.
Diameter — deﬁne diameter for base, by ldrag, rdgar deﬁnes height
Radius – deﬁne center + radius for base, by ldrag, rdgar deﬁnes height
Adding text has only one mode; ldrag + rdrag deﬁnes orjentation of text XY plane rotation.
Primitive employs extensive snapping.
You can specify height directly by snapping to other objects during rdrag. Primitive base can be precisely aligned by constraining movement to lD and aligning with other objects like in rdrag
mode. Constraining can be done either by locking axes or locking to edges / faces.
You can specify edge endpoint (diagonal, radius…) in plane mode directly by snapping to other objects by holding ALT key.
ALT key can be used to force snapping even if cursor is in nosnap range deﬁned by added primitive and nosnap radius found in tool preferences panel.
To ﬁnish primitive tool, rclick in player view.
To access primitive preferences panel, rclick on appropriate tool button. To access primitive tool preferences panel, rclick on any primitive tool and change preferences panel aspect to default.
NOTE: not all primitives are parametric; this means that you cannot change properties for them.
NOTE: there are no magic ring widgets yet, so after adding a primitive no panel/widget is
if maya navigation is installed then need to change snap key from ALT to CTRL in the primitive widget
only cone and cylinder have ldrag and rdrag behavior
text primitive rdrag defines height not orientation
ALT key snapping only seems to snap to edges and maybe faces
base plane = screen only works with cube primitive
WindowsManager.MoveWindow name item enhanced about possibility to work with working area size or the whole window size.
WindowsManager.MoveWindow(idWindow, -1, -1, Width, Height, WorkAreaSize, -1, -1);
info panel +,-,*,/,sin/cos,arcsin,arcos,ln,log,exp,sqrt,PI
can save bvh
RsImport.ExportCollada(‘filename’, ‘list of nodes’)
can change topology after vertex morph
soft paint has a morph mode – paint one morph to another
The view quality can be controlled by increasing antialiasing to about 3 and reducing the clip plane far from 1000 to 500 or less depending on the scene size for a view or camera. See the cameras internal nodes and the D3DView nodes children.