Blog

Why Use Web Player + JSON

2016-08-05

Instantaneous scene export from Blender to HTML is an outstanding feature of the Blend4Web engine that catches one's attention from the start. You might get used to it and later find out that creating web applications is a struggle without this fast and convenient method. However, I have frequently heard suggestions from the framework developers to use the combination of Web Player + JSON. So, what's the secret?

Stereotypical Thinking

When we hear the word "player", we usually imagine a separate program for playing back certain files; this is correct! Blend4Web's Web Player is an application for viewing Blender 3D scenes exported in JSON format.

If we think about a player in the context of a web browser, something like Flash or Unity plug-ins come to mind, but this is incorrect. The Web Player is not an add-on for the browser, but simply scripts loaded by a web page.

Regardless of how we choose to use the Web Player (HTML export vs. Web Player + JSON), it always uses the same application. Only, in the first case the application and all the data are packed into a single file, and in the second, you yourself specify the data for the player to load.

So, why might you need additional steps if you can get a ready-to-use HTML file right away?

Fact #1. File Size and Loading Time

At first glance, it might not seem so evident and clear, but try exporting your scene using two methods, and measure the size of files they produce (don't forget to add the player files to the JSON file!). I've been experimenting with the default Blender scene and have found that the difference is trivial, only several dozens of kilobytes. But when I compared more complex scenes, the difference was significant. For example, the fairly simple Solar System app turned out to be smaller by more than a megabyte when using the Web Player + JSON option. Then I became interested in why this is, and talked it over with the developers of the framework. As it turned out, while exporting to an HTML file, all the resources, including models and textures, are base64-encoded. This approach, of course, does affect the final size of the file.

Because of this, not only does an HTML file load slower than Web Player + JSON, but it also doesn't start as quickly. The reason for this is that an application has to spend some additional time unpacking the resources after loading them.

Fact #2. Customization

Sometimes, while working on a project, you discover that the features that the Web Player provides out-of-the-box don't quite meet your needs. For example, you might need to alter the loading screen or to add custom buttons to the program interface.

What you need to know is that the Web Player is just a web page with linked scripts and resources, which you can edit without any restrictions. In essence, it is a ready-made construction set for creating applications of any complexity.

So, the fact is that you can do all these things only with the separate Web Player. There is no (convenient) way for you to modify the application obtained through HTML export.

Fact #3. Physics

The framework developers haven't "taught" the HTML exporter to work with physics. Not every scene uses the physics engine, and including it upon each export would consume additional space.

But when you are working with Web Player + JSON, you are not limited by anything. Just use the Project Manager to automatically copy the physics module to your application directory.

Summary

Let's try to combine all these facts into one whole picture and to understand how and in which cases each of the export methods offered to us by the developers is most suitable.

Blend4Web HTML is perfectly suitable for showing a 3D model you've created or a presentation prototype. A single file doesn't have any dependencies and can easily be sent by e-mail or placed on a website..

The Web Player + JSON method is specifically good for final deployment to a server. It is faster, more compact and scalable. Don't forget that is also saves some disk space on the server, as you don't have to use a separate copy of the player for every JSON file. Furthermore, you can also use shared assets for multiple projects. And, what's of no small importance, the whole might of the Project Manager will be at your service. Using this unique tool, you can control the development process: conveniently adjust scene parameters in the viewer application, convert media resources, backup projects and building them by pressing a single button.

As you can see, Blend4Web HTML and Web Player + JSON simply belong to different weight classes. The decision what to choose should depend on the situation, but for a major project, you should use the whole might of the Blend4Web framework.

Comments
16 jul. 2024 05:53
服务质量是衡量Report代写 http://www.emwchinese.com/store/info?id=4 机构的重要指标之一。不同机构在写作质量、交稿准时性和原创性方面存在显著差异。高质量的代写机构通常拥有一支专业化的写作团队,团队成员具备丰富的学术背景和写作经验,能够确保Essay的学术水平和逻辑严密性。这些机构通常有严格的质量控制流程,包括多次审核和编辑,确保文章无拼写和语法错误,逻辑清晰,论点有力。此外,优秀的代写机构还会提供原创性保证,使用高级检测工具检查文章的抄袭率,确保每一篇Essay都是独一无二的。然而,一些低质量的代写机构为了追求利润,可能会雇佣非专业写手,导致文章质量低劣,甚至存在大量抄袭行为。因此,学生在选择代写机构时,应注重考察其写作团队的资质和质量控制流程,确保服务质量。
Please register or log in to leave a reply.