Technologies & Tools
- Unreal Engine
The challenge for this development was to create interactive widgets that would retain student engagement while adhering to both the curriculum’s educational standards and the WCAG standard.
Our Team Structure for Interactive 3D Scenes development.
An open source software solution, Babylon.js v4.2, was used during the creation of this software. Furthermore, to provide visualization for 2D and 3D graphics, Microsoft’s WebGL software was also used. By combining these two solutions, the development of 3D graphics was sped up.
Since suitable tools are made available, Babylon.js is commonly used with «adult» 3D animation. Moreover, because of the tool’s similar functionalism and semantics, it’s commonly used and understood by game devs as well.
The original inspiration for Babylon.js was a tool called Three.js, although the former provided the superior balances of strengths and weaknesses for application with this project. Indeed, while Three.js provides superior abilities to configure objects and scenes, Babylon.js is more specific and provides only the necessary API for configuration.
During development of the demo, the developers had to consider modularity to provide a clear code that could be applied for upcoming projects as well. By creating the script in Babylon.js v4.2, the team were able to work with Typescript, which is Aristek Systems’ primary choice of developing language.
Babylon.js is suitable for numerous «out of the box» interfaces, and is widely used during development. It allows developers to use tools that can greatly speed up the development process, while also allowing devs to check examples covered in the Playground functionality — a destination where code can be written, saved, and stored.
- Sandbox is the platform where you are allowed to see your 3D models whenever you need to load them from Blender or Maya.
- NME (Node Material Editor) is considered useful for the developers when they have mastered Babylon.js. It is associated with the production-quality visual programming instrument for the development of shade like the shading networks in Maya.
- Exporters allow you to export to third-party software.
- Importers let you import the models that have been exported in the past from third-party software.
- Spector.js is a WebGL authentication instrument.
- Draco 3D Data Compression — Babylon developers support this tool when models imported into the active scene are quite large. This tool allows to zip significantly the size of the imported model as well as unzip it into run time, wherever to be further used.
During the process of developing the volcano 3D scenes, Babylon.js v4.2 played a crucial role. This version was selected due to it being the most stable version of Babylon.js at the time. Indeed, past versions of Babylon.js potentially expressed many inadequacies. Furthermore, it could often be problematic to work with.
However, the current v4.2 was far more stable and reliable, making it a more practical solution for successful scene rendering. Plus, the unique functionality allowing the development of fully-fledged GUI elements from scene interaction were also of benefit and a key contributor to the choice of tool. Finally, as part of the decision-making process, the Babylon.js v4.2 technology also provided broader browser support overall than other solutions.
The assets manager instrument was used for loading scenes. The assets manager tool is designed specifically to optimize the process of displaying objects and/or models. This is a notable aspect of ensuring efficient development and is also crucial for the final efficacy of the software.
For the GLSL Language, Babylon.js is commonly considered to be the major form of support for developing vertex shades and custom pixels. To this end, the choice of using Babylon was also further supported, as this allowed for simple scene visualization. Such is even possible without amplification on modern computer graphics, making it a valuable tool to consider. Moreover, the Babylon.js tool provides «live» effects of interaction, which help to create immersivity for the viewer and encourages engagement between the objects and the scene.
The only drawback of Babylon.js is that it struggles from a resource consumption front. Indeed, Babylon systems are designed for use with modern graphics; hence, low-power devices may have a reduced experience overall since the solution is not optimized for these systems.
Following completion of the project, the client was provided with 3D interactive models, designed to help students visualize shapes and textures of a variety of real-world objects. By integrating interactivity in the learning process, it is expected that the students will engage more easily with the learning process and experience superior educational results accordingly.
It has been seen that such visualizations and interactive learning experiences can boost learning efficacy by as much as 30% over other eLearning solutions such as quizzes, making it an important part of successful eLearning methods. As such, it is hoped that this tool would be able to provide these anticipated levels of success.