Close

Scene roots, meshes, VehicleBodies, & mane hair

A project log for Silly software wishlist

Motivation to do some software projects by writing them down.

lion-mclionheadlion mclionhead 07/07/2018 at 23:180 Comments

So Freecad exported as much as it could, to test godot.

If you followed 1 gootube video, you exported an Salesforce/Autodesk/Alias/Wavefront .stl file & godot created a meshinstance inside an existing scene for the .stl file.


But the Vehicle Demo video caused blender to export a .gltf file, which caused godot to make an entirely new scene dedicated to just the .gltf file, with all the objects in the .gltf file enumerated under a Node object.  The Node object had to be changed to a Spatial object in the Change type menu to get a rotation option.  In the video, he changed the Node object to the VehicleBody object defined in vehicle_body.cpp.  The Change type menu can also make objects VehicleWheel in vehicle_body.cpp or KinematicBody in physics_body.cpp.  They're all defined in .cpp files.

What if you export a launchpad, drone ship, & hangar in other .gltf files & godot creates new scenes without putting them all in the same scene?  They're combined by creating Node objects in the mane scene, then clicking the chain icon for each Node object, presenting all the .gltf scenes to link in as the Node objects.  Godot calls it "instancing a scene file as a node"

Of course, godot doesn't call them Node objects, but node nodes.  There's a confusing relationship between node nodes & spatial nodes which aren't nodes.

The reason Vehicle Demo guy used the .gltf approach was apparently to make changes in Blender without recreating the godot nodes from scratch, every time.  It also allowed the VehicleBody class to drive the vehicle & inherit all the physics functions from RigidBody instead of writing scripts to manipulate meshinstances.

The problem is there's no VehicleBody for a BFR & the only example of a RigidBody is in C++, while the godot GUI only edits python derivatives.  You need to recompile the game engine or create a module in C++, while writing higher level behavior in 1 of 3 other languages besides C++.  Your contribution to unnecessary language soup so a startup can get bought out has finally arrived.

20 years ago, anyone who used anything higher than C was satan.  Now, anyone who standardizes on 1 language is satan for standing in the way of valuations.

Discussions