You have successfully prepared your assets and are ready to start building the 3D Internet. First, you need to create your project and solution.
On the Dashboard page of Unlimited3D, you need to navigate to Projects.
We took the liberty to create the first project for you and it will appear here:
If you need to create more projects you can do it by pressing the Add new project button.
You will be asked to Name your project, place a short description and Add collaborators to help you create amazing solutions. Once you set up everything navigate to create project button.
Your project is created.
If you are collaborating with someone on a project you can easily add them to your team:
Simply enter the Collaborator’s email address and the notification will be sent for him to accept collaboration.
*If the future collaborator isn’t subscribed to our platform, don’t worry! He will still get the link that will let him create a free account and collaborate with you on your project!
You have created your project and are ready to create your solution. Navigate to Add new solution button.
Here you need to decide which project will the solution be part of, the Name of your Solution and the Description. When you are ready, simply navigate to the Create solution button.
Congrats! You are one step closer to building the 3D web!
If you are same as us and love to use shortcuts as much as possible, checkout our current list.
A simple example of the whole jewellery process.
First of all, we want to make sure all of the elements are prepared for our platform.
Depending on your wishes for this solution, you might want to separate the rings as well. For this example, we will keep them together, and separate each diamond. The result got us to 78 side diamonds and 1 main diamond.
Now we want to apply 2 placeholder materials. One on rings, and second on all the diamonds.
Now we are ready to upload the model. We will export it as fbx. In this case. Once we upload the diamond we are ready to apply our shader (decoration entry).
For the ring material, we will use one of our preset materials from the global material library (1. We click on the ring part. 2. We click on import from the library. 3. We select a global material library. 4. We choose the material that suits our needs).
Now it’s time to apply our shader by first creating new material (we assign the name we want and set the setting to apply to All Meshes with the previous material; that’s why we made a placeholder material and press submit).
Now we select each separate diamond and create a new Decoration entry(shader). This has to be done manually for now, but we are working on the possibility to assign the same decoration to multiple objects at once.
Now that we assigned the decoration to all the diamonds on the object, we need to adjust the settings for the most optimal results.
Please have in mind that the diamonds defer, and depending of your needs, you need to find a suitable environment map. For map sizes please take a look at the Size of an environment map section.
These values will vary depending of your needs:
Uploading your assets for the first time
When you created your solution, you are ready to upload all the assets that you are going to use in your solution. It is worth mentioning that all assets uploaded in your solution can be used throughout the whole project, so we strongly recommend organizing your assets in folders for easier management.
You can upload your assets by simply dragging them to the library window or by pressing the Upload button in the top left corner.
With uploaded assets we are one step closer to creating our first 3D solution.
At the moment our platform offers two ways of lighting the scene:
We advise our users to be careful with the Environment Maps sizes as those impact the loading time a lot. For desktop solutions, everything over 2K in size might cause some issues.
We also advise being moderate with the number of artificial lights. Always try to achieve the best results with the lowest resources possible.
In the Artificial Lights section you can create several types of light sources.
Every created light can be found in our Scene Manager on the right as well.
As every artificial light is an interactive object (other than Ambient Light), you can move the light in the position that you want by pressing the shortcut W and navigating to the desired light.
The gizmo will appear which will allow you to easily move the light in any direction you want. You can experiment with the values until you are happy with the result.
If your object uses 1 AO Map you can simply insert it here and it will be applied on all the parts. However, if your solution uses several AO Maps you will have to place them in the AO map slot in the Material menu.
Establishing the terminology that will be used to explain the platform's requirements.
Geometry/polygon mesh is a collection of vertices, edges and faces that make up the shape of 3D object. This can be a bottle, cream, furniture, jewellery, car, etc.
Vertices: Plural noun for the vertex. These are the points that make up the surface of a 3D object.
Edges: Edge is what you get when you connect 2 vertices with a straight line.
Polygon: 4 vertices connected to each other by 4 edges then become a polygon. This is sometimes also referred as a face. We strongly advice our users to create quads (a 4 sided polygons) when modelling instead of triangles (3 sided polygons) or ngons (5 or more side polygons).
Element/Object/Mesh: Number of polygons joined and closed together from the element. This is sometimes also referred as an object.
*Depending on the needs and complexity of your 3D model we recommend following our rule for Maximum number of polygons.
If you are just starting with modelling a 3D model that will end up on Unlimited3D, we strongly advise you to read our modelling guidelines to prepare your model for most optimal use of our software.
Real-world scale modelling
We strongly recommend modeling the object in it’s realistic measures.
During modelling, it is possible to create a vertex that is not part of any face. It is necessary to remove all of these vertices.
Remove/Weld separate vertices that occupy the same location.
When two or more faces or polygons occupy the same space, rendering can be invalid due to Z-fighting. You should check for and remove all overlapping faces.
Front of a polygon’s face is graphically represented using a directional vector that is perpendicular to the face. Make sure that face normals point outward.
Center model at scene origin x/y/z - 0/0/0
Each mesh/object or transformation node can have only one pivot point. The model can be scaled or rotated around this point. We suggest a center pivot point to each respective object.
Resets the transform values. The object's rotation values will be set to 0, and the scale to 1. This is necessary if you were scaling, rotating or mirroring the whole object during your workflow.
Vertex normals determine the visual softness/hardness between polygons. They are determining how the model should shade under the light. Custom vertex normals are supported.
The usage of instances is encouraged wherever possible.
Assign unique names for meshes, groups and materials. If the names are not unique, they will be automatically generated. This can cause a discontinuity to model update. Avoid special characters when naming.
Textures are 2D images mapped to the model surface. Textures work in conjunction with Shaders and Materials to produce the final rendering. You can upload/delete multiple assets in inventory or add them during the work. For optimal results while using Unlimited3D see recommended maximum textures sizes.
At the moment supported formats are .jpg, .png and .hdr.
For AO map, Global AO map and Lightmap you need to unwrap UV channel 2. All other maps are assigned to channel 1.
You may combine b/w images RMA (Roughness + Metallic + Ambient occlusion) to the RGBA channels in PBR workflow. Alpha channel is optional.
Texture resolution should use the “power of two” rule. In short, the power of two is a set of simple criteria ensuring 2D image assets conform to regulated sizes and dimensions, which typically manifest as; 1) width/height being divisible by "8", and/or 2) width/height that can be doubled-up or divided-down by "2". In other words any image that is "8", "16", "32", "64", "128", "256", "512", "1024", "2048" will work good.
Recommended aspect is 1:1 or 1:2.
Make unwrapping more compact in order to effectively use texture space. That way you will be able to use smaller resolution maps. Keep a low number of UV shells. Hide UV seams.
If you need more resolution you can use multiple texture sets.
Remove all unused UV channels.
While using the Unlimited3D platform you should be aware of few rules regarding materials:
Turn on transparency and lower opacity slider to set the effect. You can also use map in alpha map or use the alpha channel from the diffuse map. For transparent objects, you have blending modes available.
You can use blend modes from the Blending dropdown list inside the shader.
You can adjust Alpha Test slider which is located in shaders advanced options.
PBR - Physically Based Rendering
To create PBR (Physically Based Rendering) scene, use MeshPhysicalMaterial combined with HDRI lighting.
Limit the number of lights only to necessary ones. In most cases default lights are sufficient. You can choose from Point, Spot, Directional, Hemisphere or RectArea.
Simple environment reflections
Use any small size .jpg or .png to add global or/and individual reflections.
To improve the performances, you can lighten your scene by an HDR image only, without using any other light sources. Keep HDR file size under 1.5MB. You can have global or separate HDR on material, but try to avoid that to save on size.
If your object is static, for best performance, you may bake shadow and ambient occlusion maps and apply them to the plane under the object.
Due to current technology limitations, we are forced to ask our clients to follow a specific set of rules with the common goal of achieving the best possible experience of using Unlimit3D software.
Maximum size of input files
Input files can include but are not limited to textures, optional parts, etc. We divided our most common 3D products into simple categories. Please note that these file sizes are for optimal experiences but not a must-have. In the web 3D, all resources are taken into account. While the model can work on your previewing device, on someone with weaker configuration it may not, so we encourage you to be as optimal as possible.
Simple complexity products: 1MB
Advanced complexity products: 3MB
High complexity products: 5MB
Extreme complexity products: 30MB
For 3D ads: 1.7MB
*Note for 3D ads: We recommend 1.7MB as most DSPs have 2.4MB total ad file size restriction. However, if a user prepares an ad for direct publishing or premium ads, the file size can be higher.
Maximum number of polygons
The goal is to have as few polygons/triangles/vertices as possible. That will reduce download time and improve performances while using Unlimited3D.
Simple complexity products: 2.000
Advanced complexity products: 20.000
High complexity products: 50.000
Extreme complexity products: 400.000
For 3D ads: As low as possible
3D file formats
Unlimited3D software supports the following file formats: .fbx, .obj, .glb
Maximum textures size
For all types of 3D projects on Unlimited3D (except for 3D for mobile devices), we recommend using textures with a maximum size of 2048px. Depending on the model complexity, a size of 4096px is also a possibility but only if it’s necessary.
For the most aesthetically pleasing 3D solution we recommend using a specific UV map or seamless UV map.
Unlimited3D software supports Unwrapped UV maps, however, in case of extreme complexity 3D, we advise using Unwrap only if necessary.
Low, Mid or High-poly
If you were reading through all of our documentation, you probably got the right idea when to use low, mid or high-poly modelling. Just in case we will propose what we consider is the best practice corresponding to the previously mentioned types of models.
ARcore (Android compatible) .glb file format and ARKit (iOS compatible) .usdz file format For more detailed instructions we advise our users to check official google and apple guidelines for optimal AR experience:
Due to current technology limitations and the nature of 3D models that are viewed on mobile devices, we are strongly recommending our users to read the following guidelines.
Rules to follow for solutions that will be viewed on mobile:
If you need a 3D Configurator (you want to show different types of the same model, for example: different tires on a car model, different wrists on a watch or different laces on a shoe, etc), then you need to additionally prepare your model before uploading.
Logical grouping of elements that will be configured
Let’s take an example of a car model. Let’s say you finished modeling a car or you purchased a model of one. If you modeled the product from the scratch, depending on your workflow, you will most likely have more objects/entities in the scene at the end of the modeling process. If you purchased the model it usually comes with separated objects/entities, so you will have to merge it in the first step.
The first step you should do is decide, what parts you will want to change in your 3D Configurator. For this example, we will say we want to change the tires. So, in that case, we have to combine tires into a single separate entity/element, and the rest of the car into a single separate entity/element. So that will leave us with 2 different entities/elements, the tires and the rest of the car.
Now that we made sure the car is divided the way we want, we want to get the new type of tires and prepare them the same way we did with the previous ones.
Now that we prepared the tires, we need to place them in the same place as the original ones. They are currently overlapping, but we will have the option of turning them off on the Unlimited3D platform. This preparation will allow you to make a 3D Configurator of switching between these two types of tyres.
With the same preparation, you can choose any other parts of your product that you wish to present in different versions.
Specific requirements of model upload for semi 3D Configurator w/ annotations
An annotation is extra information associated with a particular point in a 3D model or another piece of information. It can be a note that includes a comment or explanation, it can be a trigger button that activates the animation of your 3D product or similar. We offer our clients the possibility to add annotations in their 3D projects. Depending on your needs there are few guidelines you should follow. Example of annotation from our clients that you can see for yourself at https://threedium.co.uk/features.
Annotation image preparation
The background of annotation should never be on 0% opacity. When creating a png. image of your annotation, make sure to provide a picture with at least 1% opacity, as the clickable area will be larger.
Depending on your needs, you might have to include someone with some medior level of knowledge in programming to implement the idea on your website. The things you can achieve by yourself are following:
Model preparation for annotations with animation
In case you wish for an animation to happen with your object when clicking on an annotation you need to prepare the model before uploading. The animated part of the model should have a corresponding Gizmo. To explain better we will take the example of a car and the door being the interactive part. Firstly we prepare all the objects that will have the animation, in this case, the right door on a sample car should be detached from the rest of the model and form a single entity/object.
After that, we need to adjust the gizmo to the most logical place so that when we simulate the door opening, it looks as natural as possible.
If the gizmo is placed in the correct position then the animation of the object with the rotate command will look smooth and natural.
Some software requires you to specifically bake the gizmo/pivot on the needed location.
If you have a jewellery model that you wish to publish on our platform there are several guidelines you need to follow.
Best modelling practice when using Unlimited3D shader/decoration
If you intend to make most of our shader we recommend the following guidelines. Diamond should be modelled as a single geometry with faces pointing outwards. The diamond should not have overlapping geometry.
Faces should be pointing outwards.
Model should be made of single faces with no overlapping geometry.
Number of faces/polygons
As was the case with every model that goes on our platform, we want to have the as least possible amount of faces. While we have successfully published projects of jewellery with up to 300K polygons, we advise you to try to be as responsible as possible with the number of faces.
Decoration entry / Custom Unlimited3D Shader
For the needs of diamond models, we developed a custom Shader to help you present your jewellery models in the most aesthetically pleasing way possible. Through our example, we will show you how to edit the values and reach the best result.
Every piece of diamond has to be a single entity/object
For our Shader to individually apply the Environment Map and create the most realistic result, every piece of the diamond needs to be individually detached.
Size of an Environment Map
Depending on the level of detail and the number of diamonds, you should consider the size of the Environment Map. If there is only a single diamond you can use the size of 512x512px. If there is more than one we advise using a 256px or even 128px size Environment Map.
Now for the best part of the workflow. Depending on the type of file you uploaded, you will probably have to manually insert maps in their according slots.
It is worth noting that each object in the scene has its own material. You can have the same material on multiple objects.
The platform will automatically import the Material name of the material used in your software, so all materials that you used while creating the model will be there. If you wish to add more materials, clone existing ones you have the following options:
1 - Create new Material from scratch
2 - Cloning the existing material
3 - Copying the parameters from material
4 - Pasting the parameters from material
Since we have already uploaded all the textures before starting to work on our materials we can simply drag and drop the wanted texture in the texture slot.
As you can see the texture is now applied in the Diffuse Map slot and we can already see in the model the result.
*Depending of your workflow and desired results, you need to Unwrap the model before uploading it on Unlimited3D platform.
If we repeat the process for every map we want and every object eventually we get to this:
A sprite is a plane that always faces towards the camera, generally with a partially transparent texture applied. Sprites do not cast shadows.
We will be using sprite materials for annotations.
If you are in a need of creating custom text over your 3D model, this is how you can achieve it with our Overlays commands.
You need to navigate the Overlays tab and press the create new overlay button.
Once you have created the overlay it will be automatically assigned to the selected object. You should have in mind that you can still use material beneath the overlay.
As in any text editor, you have the option of changing the font, colour, size, spacing etc. Feel free to experiment as the possibilities are countless.
By default, we create one camera for you called “Camera Publish”. If you plan for your 3D solution to have several cameras here you can add them.
In-Camera settings you can set maximum near and far viewing distance, Field of view, Position and Target of the camera.
*It’s worth mentioning that you can choose the default camera in the Scene tab.
Independent of Camera, you can have multiple Camera Controls, allowing your solution to be panned, zoomed in or scrolled.
Distance segment controls, the maximum zoom in and zoom out for the 3D solution.
By changing the Polar Angle value, you can forbid the 3D to be viewed from the bottom.
By changing the Azimuth Angle value, you can forbid the 3D to be viewed from some side that you choose.
By setting Pan Speed to a value of 0, you are forbidding the 3D to be panned.
Different Tone mappings for a better presentation of your 3D solution. Examples:
Simple colour adjustments if you need to tweak the final result a bit.
If you have a custom lookup table you can import it here and adjust the opacity.
You can also turn on the Bloom effect to showcase the lights in your scene in more artistic way.
You can play with the Depth of Field.
You can add a simple vignette to your solution.
In the Annotations menu, you can navigate to create a new Annotation button.
When you create the annotation, you will see the grey square placeholder as in the image above. Just like any object you can move it or scale it. As it is by default sprite material, you cannot rotate it, as it is always perpendicular to the camera.
Now you will want to prepare the annotation in some 2D software. Have in mind that the texture for the annotation needs to be in the power of 2, and in size as low as possible. You don’t need a 4K texture that will only take a small part of the solution.
With prepared texture for annotation, you can now create Sprite material.
It will automatically navigate you back to the material menu, sprite tab, where you can set a texture in the diffuse slot.
It’s advisable for the textures to have at least 1% of background so the whole area of the texture is clickable but not seeable in the solution.
At the moment Unlimited3D platform doesn’t support converting 3D models to GLB or USDZ file format. However, you can still provide your own GLB or USDZ files and upload them in AR menu. This will automatically create a QR code on your solution once it’s published.
In the Scene Menu, you can see all the objects and easily control what will be visible or active in the published solution.
The difference between the left side menu that is mentioned above and the right side scene manager as we like to call it is that in the scene manager you can hide objects, lights to test or for easier workflow, but in the left, you control what will be visible to others once you publish the solution.
Here you can choose what Camera will be used in the published solution, or what lights will be on or off.
In the Scene menu, tab objects you can manually control Position, Scale or Rotation of the selected object.
In the Viewport Tab, you can set the background look by changing the background type.
Allows you to simply change the colour with the colour grid or by entering the hex code.
In the Viewport Tab, you can set the background look by changing the background type.
Allows you to simply change the colour with the colour grid or by entering the hex code.
This type of background will match your site’s background colour.
Skybox can use the same map that we previously used for the global environment map slot, or you can use a different one. Skybox is just a background 360 images, it’s not a source of light.
Option of Static background type lets you place a simple image as an environment.
You can choose to have a grid in your 3D solution, define it’s spacing, extent and colours.
The time has come to publish your solution. Simply navigate to publish button next to the user profile icon and press Save and Publish.
When you have published your solution it should look something like this:
From there you can easily copy the Embed Code and API to wherever you want to use your solution.
*It’s worth mentioning that you can republish your solution in case you saw some mistake, and the old solutions will be kept for 120 hours before they are deleted. You are able to revert to older versions in that time frame.