Introduction of Dust3D, a modeler for quickly making prototyping assets

(Jeremy) #1

Hello there,

I am the author of Dust3D, a quick 3D modeling software especially for game developers.
@erlend_sh invited me to talk my stuff here, you guys may be interested.
Thanks @erlend_sh for let me know there is a such great project just looks like its name Amethyst, using Rust do gamedev is fantastic cool.

Basically, Dust3D is a free opensource 3D modeler, designed for quickly making gamedev ready assets, with the core mesh generating algorithm meshlite written in Rust. 1.0 beta version has been released.

Here is a video I made two weeks ago for demonstrating how to make a game asset including animation:

Currently, it’s not for highly detailed model making, but is ready for quick low-poly assets.

I’d like to know what you guys think of it.

(Erlend Sogge Heggen) #2

Thanks for stopping by @huxingyi!

To summarize our exchange over the last 24hrs, I’ll reiterate the reasons for my excitement about Amethyst and Dust3D getting better affiliated with one another.

First, Amethyst’s main selling point is large scale games made manageable by the ECS design pattern. However as indie developers we can’t capitalise on that sort of scale with traditionally handcrafted 3D assets, it’s just way too much work! An editor like Dust3D with a focus on procedural generation is the perfect match for Amethyst.

Secondly, the fact that the core of Dust3D is in Rust makes it a prime target for tight integration.

Personally my main interest in Dust3D is rapid prototyping.

If Dust3D could be used to create minimalist assets like these (especially useful with animations) to replace boring greyboxes it’d be of immense interest to a lot of game developers. I will be playing around with Dust3D in the days to come and will surely have a couple feature suggestions soon to follow (already got some in mind).

(Théo Degioanni) #3

This is great! I really love it.
I think this would be great to have it integrated as a module for the editor.
Also, are there any special formats and other needs you have with Dust3D? I assume you can export to formats general enough, but I was wondering if you believed additional data could be passed to the game engine as well.

(Jeremy) #4

Thanks, Currently, you can export to fbx and glb format with all the mesh, texture and animation included. Also you can export as obj if only the mesh is interested. Additional data maybe useful for game engine is the node positions stored in ds3 file format(Dust3D project file) which guide the mesh generating, could be used to make collision box in game engine.

(Erlend Sogge Heggen) #5

Doesn’t it also support gltf export?

(Jeremy) #6

I used to support glTF format before with texture images stored separately, but now supports glb (glTF binary) format instead. glTF binary format is a container for glTF, so, instead of have foo.glTF, foo-texture.png, and foo-normal.png etc, we can have all in one foo.glb
I think there are tools there to explorer glb file to extract sub files inside it.

(Joël Lupien) #7

We support both gltf and glb

(Thomas Schaller) #8

Couldn’t agree more. Dust3D looks very promising, will definitely try it out!

Interesting idea. I’m not sure how tightly it should be integrated though, especially wrt licensing issues. I think it’d be great to present this as a common way to prototype & model your assets, but yeah that’s one potential issue to keep in mind here.

(Jeremy) #9

Thanks, I am always curious how is the quality of result model from other people’s hand made in Dust3D. I am not good at modeling, even though I studied drawing in an art training school for one year on every Sunday back to the year of 2015. I will follow up this thread, hopefully can see other people’s model. Here is a screenshot of mine, paying prototyping models in Unity, all the models are made in Dust3D.

For integrating, there is a non-gamedev company want integrate the modeling function of Dust3D to their software, I planned to separate the UI from Dust3D, so the remaining can be a library something, such as libdust3d. But I don’t get a hand to do it yet, still working on polish the mesh generating algorithm.

(Théo Degioanni) #10

I meant that as a 3rd party integrated modules, available in some form of marketplace.

(Erlend Sogge Heggen) #11

We’re trying to do that too! See Most of the discussion right now is happening in the #editor channel on our Discord, but feel free to ask questions about it here in #development:editor.

Another working example of this in Rust land is the xi-editor, which is front-end agnostic.

(Erlend Sogge Heggen) #12

On a different note, I want to ask about something you talked about on Reddit a while back:

So, what I am planning to do is not an automatically generate tool, people need to change the parts, and configure different parameters of each part manually. Here is an example, Procedural Spiders by Esther Zuidgeest, with different parameters, the generated results vary very different.

Do you aim to accomplish something similar to what is demonstrated in that video? This type of workflow for staging assets is sorely needed in indie game development, and it would benefit greatly from the open source movement since we excel at sharing our stuff and iterating on it over time to make it progressively better.

It would also drastically improve the onboarding experience of Dust3D itself. While it’s already remarkably simple to get started with compared to other 3D modellers, imagine how quickly newcomers would feel productive if you had a small collection of base models that could be altered by parameter tweaking alone. With just a few tweaks you would effectively have created an asset that, while quite similar to others, is completely unique. And you didn’t even have to learn how to move or paint in 3D space! :exploding_head:

(Jeremy) #13

We’re trying to do that too! See

Looks interesting, I will definitely check the details of implementation of Amethyst editor as an example of rust UI.

Do you aim to accomplish something similar to what is demonstrated in that video?

That’s another route of Dust3D, I have a branch named poc, I was experiment this Houdini way of modeling, but finally I picked my original way, that is the current latest implementation, you can copy and paste nodes across Dust3D document, and adjust of you copied, such as you can copy one leg from other people’s document, and adjust the radius and positions of the leg nodes in your document.
You are pulling me back to that time, let me rethink your suggestion, maybe we can put some premade parts and let user adjust easily.