Creating game assets - only quads and tris?

That’s what’s hard about Blender in the beginning. A lot of things seem hidden, but once you know them… That and the keyboard shortcuts :heart:

Hey just wanna let you know, instancing in blender does not matter for your end goal of level design in godot. All of your instances in blender will be perceived as single users when you export it into your game engine. You should export your rock assets individually, your road, and a very low poly version of the cliff, and then build up the cliff by instancing the rocks in hand (or using a scatter tool in godot if it has it) Also. Don’t underestimate the power of normal maps, especially in video games.

Thats just if you want to go the route of using your rock assets to build up the cliff. You could still fix the soft rock problem with a single cliff asset. It would be more efficient than building it up with rock assets, since they have a lot of faces on the inside that will effect performance even though you cant see them.

One method that comes to mind, is you could make all your particles there real, once you’re happy with them. Select them all, join them, use the voxel remesher to join it together so there isnt any clipping. And then decimate it in the same way you did the rocks in the first place to get the nice sharp angles. Also delete the the interior faces of course.

I’m surprised how many shortcuts are already in my fingers, after a week or 2. There are some you really can’t go without.

Yes, and Blender is the only software with which i use almost all shortcut, beacause they are soooo easy to memorize. In 80% of the time, the letter is the initial of the effect or so.
I just don’t know how Autodesk users can find intuitive to move with A, rotate with Z, and scale with E. Makes nooooo sens at all XD

So you mean that I should just export the single rocks I have and scatter them in Godot on a plane(?)/curve.

About normal maps: since after a while, I want to be able to drive on the track in VR ( I always wonder how exciting Split Secont would be in VR, that’s why I’m trying to make it myself :grin: ) , apparantly normal maps don’t really work (yet), I’ve read. That’s also why I’m going for a low polycount.

The technique you are describing, is there are (video) tutorial of it online? I’m very fresh to Godot and game-development, so at the moment I’m not fully grasping what you are describing. You’re are mainly talking about stuff to do in Godot instead of Blender, right? :face_with_monocle: :nerd_face:

The exception in Blender being “move” as the “G” button :smile:

Oh yes, for in game, use the game engine to put your stuff.
Unity does make instances if you export collection instance, but i don’t think godot does.
For normal map, it’s not that they don’t work at all, it’s that the relief effect is far less believable in VR, but as it’s on something you don’t have your eyes up close, it doesn’t matter.
If you want to put relief on your road, you may want to use POM (Parallax Occlusion Mapping) or Displacement.

No, you don’t move it, you Grab it :wink:

The last two paragraphs would take place back in blender.

Ok, still one thing. Where is that “make real” button :sweat_smile:

And indeed, wanted to join them someway and “cut” the backside, the things you don’t see, to bring down the facecount. But then I’m probably at risk again of getting n-gons, I guess. But this time they wouldn’t have light/shadow issues I guess.

@Darknoodles And the “G”, you got me there :upside_down_face:

In the modifier tab, click “convert” on the particle system you want to change into geometry.

If you’re really worried of n-gons, just put a triangulate modifier on it, and its all fixed.

Chances are, the exporter you use, or godot will just convert it all to triangles anyways though. Id just try it out, see what happens.

You can apply the modifier as he showed or go into (CTRL+A) Apply->Make Instance Real

1 Like

@NiklasWerth @Darknoodles Ok, thanks. Going to try it. Everything is already a lot cleaner and crispier! Much happier with the result :partying_face: . And if I first take the time to clean up before making it a “single mesh” thing, I’ll probably end up with the same amount or even less faces/vertices/polygons that what I had before. So thanks a bunch :grin: .

Still some time to go before I will see it in VR though.

1 Like

@eyeEmotion, Assuming you already have a VR headset [ HTC Vive, WindowsMR, Fove or Oculus Rift ] if you download BlenderXR from here ( it’s free):

and follow their instructions for adding the dll’s you can open your project in that version of Blender ( it’s a 2.82 version ) and stand in your actaul Blender file in VR ! - all textured ( using Eevee), lit etc.

You don’t need to actually instal this version of Blender either, just unzip it to a place of your choosing on your drive and click the icon inside the Main folder to launch - which is true of any Blender version.

It’s a very good way to assess the scale and such of your scene without having to deal with the whole export-import to a game engine, until you need to. And as they updated the Marui version yesterday ( 6th April) it now even has functional VR sculpting :slight_smile:

Enjoy.
Dj.

I have a PSVR. With Kinect and some SteamVR plugins, you can use a PSVR headset on a pc/laptop (without the Kinect it still works, but without 6dof-tracking). So I’ll probably going to need SteamVR as a base to make the VR work in other software. I know Godot is able to use SteamVR for testing.

Now I have a little problem. Even after converting 1 particle section of my rocks, when exporting to .dae. None of my rocks show up in Godot. I would suspect that maybe the .dae (collada) isn’t able to export particle systems (although I checked the “apply modifiers” option).
But as my original rocks also don’t show up (as is the car in the blend-file for scaling purposes), can the problem be from appending my rocks in the blend-file? So are these now instances of the other file? Is there a way to disconnect these “starting rocks” from there original file?
Or because they are in a Collection maybe?

Also got something strange with the railings. Although the mesh itself are instances, their array and curve modifiers have different settings and pointing to different curves… but seems with exporting, they get attached to the same curve/modifiers.
Am I doing something wrong with exporting?

Is wanted to check in-game if I was placing some of the rocks in the right location, since there is a sunset and I don’t want any rocks to obscure that view from a certain angle.

I’m not at all familiar with Godot, so I can’t help on that. Appending collections from another Blend file brings them into your current project, so there is no ‘live-connection’ to the original file. You would use LINK for that. As for your export issue, I suggest you try re-importing them into the Blender file [ in another collection ] to see what the issue is. If that is successful, then it’s the Godot side that needs looking into. If it doesn’t import properly into Blender, you’ll need to try collapsing modifiers to isolate the specific issue.

Cheers,
Dj.

Ok, so partially it seems to be a problem with Godot. Although it updated the file, it didn’t show it. I had to close Godot and start it again and my rocks were back.
But the issue with the particle-system and with the railings still happen. The rest of the cliff that is still based around the particle system, still just show up as planes. And my first railing still takes everything from the second railing, giving that double railing problem.

(or Godot doens’t like instances :rage: :face_with_raised_eyebrow: )

Out of curiosity, does Godot support .fbx? Or any other 3d file formats? Surely it supports atleast .obj? This is just anecdotal, but I remember having to use .collada like, 10 years ago for something, and i kept having annoying issues, like things showing up out of place.

I know it supports gLTF very well… even imports materials and such with it, so most of it is retained during import.
It can import .obj, but I think it was without materials and all the objects “collapsed” as one. So in my example, I got the top half of the car as an object and the bottom as an object in Blender. But exporting it as an .obj will not retain the hierarchy from Blender.

I use gLTF for my car and currently .dae (collada) for the track. I should try it again in gLTF, but last time I used it for the track, it would import my collision mesh just as a regular mesh and not as a collisionshape, thus rendering it in-game.
I don’t know Godot from the past, but it seems a decent game-engine. It’s certainly not there yet, but it is working very well for what I need right now. Only thing is the collision detection isn’t 100%, that is why my car “wobbles” a bit when driving uphill and downhill.

Will try to post a video of some in-game “gameplay” in a few days, when I have the rocks of my cliff finished. For comparison and as an end-result what this thread helped me to accomplish. Have done the bottom part today. Tomorrow doing the top part. Already got less faces in my complete scene than I had with one high poly cliff-mesh (and I needed at least 4 for the top part alone) and decimating it made it ugly.

Hi,

I’m close to finishing the whole set up of this (will record a video soon). But at the moment they are still separate rocks. For some reason I’m not able to join the rocks. “Join” is blacked out when I have all the rocks selected (top rocks separate from the waterfront rocks). Wanted to join them as you said and then cut away the back that a player won’t/shouldn’t see anyway (bringing the face-count back further)… but yeah, don’t know why they won’t join. The top rocks I was able to do 1 time, so I don’t know why not anymore.

i usually use CTRL+J to join, there’s a new shortcut for ya. Do you have an active one selected to become the object? thats the only thing I could think of, that or maybe something to do with instancing, you could try to make them all single users, and then join them? but I dont know why that would interfere.

As a heads up, when you search “make single user” and click on it, it wont actually do anything, you have to go to the lil window that pops up in the bottom left corner and select “object” and “object data”

Edit: for a bit of visual explanation as to what i mean in the top paragraph.

these can join because we have an active object (orange)

these cant because our “active object” is deselected, it still has an orange dot in it, but its not outlined. So it doesnt know which mesh to get the origin or modifers or whatever from if joined.