diff --git a/direct/src/particles/Particles.py b/direct/src/particles/Particles.py index c53873f626..4d61927e7b 100644 --- a/direct/src/particles/Particles.py +++ b/direct/src/particles/Particles.py @@ -25,6 +25,7 @@ import SphereVolumeEmitter import TangentRingEmitter import string import os +import DirectSelection SparkleParticleRenderer.SparkleParticleRenderer.SPNOSCALE = 0 SparkleParticleRenderer.SparkleParticleRenderer.SPSCALE = 1 @@ -105,6 +106,9 @@ class Particles(ParticleSystem.ParticleSystem): self.renderer = LineParticleRenderer.LineParticleRenderer() elif (type == "GeomParticleRenderer"): self.renderer = GeomParticleRenderer.GeomParticleRenderer() + npath = hidden.attachNewNode(NamedNode('default-geom')) + bbox = DirectSelection.DirectBoundingBox(npath) + self.renderer.setGeomNode(bbox.lines.node()) elif (type == "SparkleParticleRenderer"): self.renderer = SparkleParticleRenderer.SparkleParticleRenderer() elif (type == "SpriteParticleRenderer"): diff --git a/direct/src/tkpanels/ParticlePanel.py b/direct/src/tkpanels/ParticlePanel.py index b620d2c9c7..e10e86fa0f 100644 --- a/direct/src/tkpanels/ParticlePanel.py +++ b/direct/src/tkpanels/ParticlePanel.py @@ -1077,7 +1077,10 @@ class ParticlePanel(AppShell): color[2]/255.0, color[3]/255.0)) # Geom # def setRendererGeomNode(self, event): - self.particles.renderer.setGeomNode(self.rendererGeomNode.get()) + node = loader.loadOnce(self.rendererGeomNode.get()) + if (node == None): + return None + self.particles.renderer.setGeomNode(node) # Point # def setRendererPointSize(self, size): self.particles.renderer.setPointSize(size)