This is an experimental model of Mammoth Mountain, CA.
This project contains Magic Leap compatible content viewable with the Helio browser.
begin mammoth mountain front
begin mammoth mountain full
see also: the Magic Leap Project
Why We are Making this Project
This is a project used to demonstrate and learn how to use spatial computing in everyday applications. This project contains a large-scale model of Mammoth Mountain that can be extracted and placed in a room space using the Magic Leap One. Try extracting the mountain and placing it in a room - blow it up to about 10ft diameter, and enjoy!
makeSEA is the premier content management and delivery platform for Magic Leap. To learn more and become a beta user please Contact Us.
This project focuses on content designed for delivery via the Helio browser using Prismatic scripting and markup.
- ML Remote
- World Sensing
- Wold Mesh with Occlusion
- Headpose-based Object Placement
- Helio Browser
Summary of Operations:
- Select Photos
- Generate Sparse Point
- Generate Dense Point
- Crop down to subject
- Generate Mesh
- Generate Textured Mesh
- Output gbl, obj, ply
- Use jpg for gbl
First thing first is you have to make sure you have the correct amount of photos for the subject you are trying to recreate as a 3D object. For this project, I was using photos obtained from the mammoth ski mountain website taking screenshots of their 3D map. As surprising as it sounds, this is not the best way to get a 3D object of Mammoth, but if you do not have the materials, like a drone, to take photos or a video of the subject you are trying to replicate, then this will work in a pinch.
The amount of photos you use will directly correlate to how your 3D object will turn out and how long it will take to process. For each project there is a sweet spot of the amount of photos you need, and unfortunately the only way to find that sweet spot is either through experience or guess and check. The best advice I can give you right now is to make sure there is a ton of overlap between each photo (70-80%) and make rings that increase in elevation for each new ring. For more information on how to take proper photos refer to the user manual at:
During this project I only wanted a 3D object that could represent one side of Mammoth and not the whole mountain and since I am using screenshots off of a 3D viewer I did not feel it was necessary to get 70-80% overlap because the I am not worried too much about the detail. I used only 52 photos and was able to a pretty decent result.
Once you have all of the photos of your subject, then it is time to start your project. Open up 3DF Zephyr Lite and select 'Workflow' then 'New Project'. The window shown below will then pop up. This is where you have to make a couple decisions. If this is your first project then deselect all of the boxes underneath 'Additional Options' and hit 'Next'. If this is not your first project then the options below allow for different parts of the project to be created at the same time. This means that if you are letting this work overnight, or if you have something else to do for an hour or so (based on the amount of photos and different settings you select), you could come back and have everything all the way to an exportable 3D object that you could use. The problem about automating all of these different steps is that you do not have the chance to clean up or change different settings if one step turned out bad. Personally, I only automate the sparse point cloud and the dense point cloud, so only have the first box checked, that way I can crop the dense point cloud and change the bounding box and obtain a better mesh and textured mesh. For this project, however, I automated all the way through the creating a mesh.
Below are shots of the different settings that I used when creating this project:
The main reason I use the settings listed above is so that the output gbl of my object will be a smaller size and have decent detail. The best way to understand these settings is to either read about them in the user manual, or mess around with them and see what changes.
Because I automated all the way through the mesh, this is what my mesh 1 looked like:
The reason it looks terrible is because I was not able to crop it before the program made the first mesh. Once I was able to crop the dense point cloud a little bit the following mesh turned out much better.
Since I am only interested in the Mountain and basically nothing else, I even cropped the dense point cloud a little bit more. For this though, I didn't just crop the dense point cloud 1 just in case I needed the extra details later down the road. Instead I right clicked on 'Dense point cloud 1' and selected 'make copy'. This way I do not have to create a whole new dense point cloud, but I am able to edit and crop down this new dense point cloud to just the mountain. Below are the differences between the just mountain dense point cloud and the dense point cloud 1.
The easiest way to select just a certain part of your whole dense point cloud is by using the 'Manual selection' tool and select the part of your project that you want to keep. Then select the 'Invert selection' to make everything that you want to get rid of turn red. Then either hit the delete button on your keyboard or select the 'Delete selected items' button. All of which you can see in this short video below:
I also like to pan so that I am completely above everything so that selecting the items that I want to keep is much easier.
Now once you have your sparse point cloud and have cropped your dense point cloud, then the next step is to create a mesh. Below are the settings that I used in order to create the meshes in this project. I never changed the settings, but like I said above, I created multiple meshes because I cropped the dense point cloud after creating the first mesh shown above.
The last mesh that I made was after cropping everything except for the mountain out of the dense point cloud. That mesh is shown below:
Now that all of the meshes are completed and look almost like the finished product that we expect, it is time to move on and create a textured mesh. The textured mesh stage of a project is one of the easiest stages, but depending on your settings this stage can take the longest for your computer to process. Below are the settings that I used, and the reason I used those specific settings are again because it allows the glb outcome to be as small as possible while still containing as much detail as possible. I highly sugest messing around with these settings to see the different outcomes you can get. This step in the project is the only part where there is only the advanced settings, so it will also be helpful to read the user manual about this stage to help gain deeper knowledge about the different settings.
The final step to this and any project is exporting the files that you would want to use, and for this project all I needed to export was the Glb file. In order to do that, I used the settings displayed below. The only item that I changed after I set the 'Export format' to Glb was the 'Texture type'. If you leave the texture type as a PNG, then the glb file that is created will be massive compared to the glb file created when the texture type is JPG.
Suggested Next Steps