Blender is a 3D editor, one of the best. Three.js is a 3D JavaScript library, top-notch. To draw an analogy, they’re like Photoshop and the HTML canvas. While you can edit images programmatically on a canvas, it can be inefficient and may never achieve the polish Photoshop provides.
The best workflow combines both: use Blender for what it excels at, 3D modeling, animations… And use Three.js for displaying and interacting with the imported models. You can create multiple animations with blender, and trigger them with three.js.
Alternatively, if you’re more comfortable with Three.js and the animations are simple, you can create them there instead. It really depends on the complexity of your models and animations, so it’s up to you to choose the approach that works best for your needs.
And here’s an interesting discussion on the topic:
Either way, you wouldn’t normally create models in Threejs. That is what Blender is for and you should absolutely learn it. If you only know Threejs but can’t model your expression is severely limited, it’s like you have a canvas but no brushes and no paint.
PS
Get this x.com it’s 50% off atm. That is the best Threejs course on the market and it contains a blender chapter. You will create this model and bring it into Threejs https://codesandbox.io/p/sandbox/ni6v4
However, in Three.js characters must be created via program code, not via drawing. For example, Mannequin.js uses a Three.js-made character, no Blender used at all. Here is a demo:
You want to create 3D assets in programs like 3ds max, maya, Houdini, blender etc. You can create static renderings of them, you can create animation, or you can export them to a file which can then be used in an engine. Three is not a (game) engine per se, since it can do whole bunch of other things, but lacks a lot of stuff that something like unreal has. But for sure, it can do stuff with 3D assets.
You could use threes math, threes render, and create something akin to blender or 3ds max, but that is… not a task for a single person.
One use case is to “block in” a scene. Setup on a mocap plugin. You get Spiderverse VFX if you composite the sequence(?) in StableDiffusion. Back up the JSONP!