Snap 3D

that's it

just add 3d

Hmm. Lots of people have implemented 3D for Scratch; you could import one of their projects. Or you could use BeetleBlocks.

We think that 2D is one of the decisions Scratch got right. It's really hard to get 3D right as a user. I once watched someone spend an hour trying to debug his Alice program that wasn't doing anything, and finally it turned out that the camera was facing the wrong direction and the action was happening just fine but behind it. With 2D you see everything at once.

Is there a reason you need 3D as primitive? Because you, or someone, could make a 3D library in :sn: itself.

I've tried Alice, both of them. Too simplistic. I've tried Beetle blocks. Literally meant for 3d modelling and not much else. I've tried UE4. Too slow and complex.

The best I've gotten so far is Unity, but even then I'm a huge beginner who has no idea what anything means but is glad it works at all.

And don't get me started on even adding a simple cube to godot.

Also, raycasters don't work In snap. If you've ever played a snap raycasters, you would know.

Maybe that's why you guys say snap has the wrong GL version... hmm...

Could you be more specific about the "don't work"? Thanks.

Technically yes. Snap! supports javascript, and javascript supports opengl. However, I don't know much javascript, and most other Snap! users don't either. So maybe a libarry?

Oh, I see, you want JS-native 3D. I guess that would be okay, but you'll have to find someone other than me to write it; I know nothing about graphics. Gang, anyone want to take this on?

I could try, but I have 0 js knowledge

I have a bit of JS knowledge but 0 3d JS knowledge

if you look at any raycaster on snap, or import one from scratch, you'll immediately see problems.

a'ight, I think I'mma learn JS.

and of course, I'm going to make this as scratch/snap! like as possible, with a bunch of different libraries for stuff like VR or using a controller.

This is gonna be hard, but it's for the good of the community


Actually, that would be awesome! I've tried using Godot before, and I think I'll try Unity instead lol.
Having a block-based 3D programming language would be fantastic!.

Someone could probably whip up a WebGL interface that loads onto the canvas and make scratch blocks to interact with it.

I just realized that opengl is hard to figure out.

For beginners at least.

And also I'd have to make a way to add the actual block coding, which would take more JS knowledge.

And don't get me started on trying to put it on a website.

Oh gosh why did I agree to this

Edit: webgl, more specifically, not opengl.

Oh yeah, forgot to talk about that.
I'm a noob beginner in 3d

That's literally it.

Ah. Then, instead of trying to interface to a 3D package, I'd recommend learning the little bit of analytic geometry and projective geometry that you need to roll your own.

Feel free to play with this project as a starting point...


Wow, that's actually pretty good for a snap raycasters, those usually don't work on snap.

Unfortunately, we're talking about WebGL, but thanks for the suggestion! :smile:

That is one of the best projects I've ever seen

Perhaps you should check scratch, those also have amazing raycasters. Have you seen griffpatch's laser tag 3d? then again, some projects and games have better characteristics than others, and dan_garcia's is more math-based.