I am working on adding a particle system exporter for a custom glTF extension. That glTF particle system is not as complete as the Blender one and even some options look very complicate to match.

I would like to create a custom type that internally creates blender stuff, but does not expose all the blender properties. That way I can constrain the properties my custom type have and its easier to create something that later can be exported to glTF.

For example, my particle system emits all the particles from a emission point, instead of from the surface as in blender. To simulate my case, I would create a small plane, but I dont want the user to see that plane or be able to modify it.

Is this posible? If it is, where can I find some inspiration?

  • $\begingroup$ Can make any blender object hidden and unselectable or a collection hidden. AFAIK there is no way to mask them out of the outliner. (via python) For most users would consider hidden and unselectable good enough. (Hmm this could get long winded ...) Suggest that panels and operators could be considered "a custom type" eg you can take out the default and replace (a fair amount of the) UI with your own $\endgroup$ – batFINGER Jun 26 '20 at 10:49
  • $\begingroup$ So ideally I would create an entry to the panel that call a custom operator that spawns all the blender stuff I need to make my prefab object, no? But still some properties of that prefab should be editable, so I should make a custom panel? $\endgroup$ – jjcasmar Jun 26 '20 at 12:30
  • $\begingroup$ Yes. eg Copy the particles panel code , register it with a new id.. Edit out what you dont want a user to set. Have operators or properties updates that create the hidden plane etc... Because Panels have append the draw functions list can be manipulated eg switched between default and yours... append "red" alerts into panel if the setting chosen cannot be exported... Sky's the limit. $\endgroup$ – batFINGER Jun 26 '20 at 12:39
  • $\begingroup$ And is there anyway to make the underlying blender object hidden even for blender? For example, the glTF exporter is exporting all the meshes, and if I add a mesh as part of my prefab, it will be exporter in the glTF file. However that mesh is not really acting as a mesh, is a way to replicate some behavior. $\endgroup$ – jjcasmar Jun 26 '20 at 15:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.