updated direct/particle to import from panda3d.physics

This commit is contained in:
frainfreeze 2015-01-12 21:41:36 +01:00
parent 0aa0f34c74
commit 07e73672db
5 changed files with 34 additions and 36 deletions

View File

@ -12,7 +12,7 @@ class ForceGroup(DirectObject):
def __init__(self, name=None): def __init__(self, name=None):
if (name == None): if (name == None):
self.name = 'ForceGroup-%d' % ForceGroup.id self.name = 'ForceGroup-%d' % ForceGroup.id
ForceGroup.id += 1 ForceGroup.id += 1
else: else:
self.name = name self.name = name
@ -65,7 +65,7 @@ class ForceGroup(DirectObject):
def getNodePath(self): def getNodePath(self):
return self.nodePath return self.nodePath
# Utility functions # Utility functions
def __getitem__(self, index): def __getitem__(self, index):
numForces = self.node.getNumForces() numForces = self.node.getNumForces()
if ((index < 0) or (index >= numForces)): if ((index < 0) or (index >= numForces)):

View File

@ -1,6 +1,6 @@
""" """
Contains the global particle system manager Contains the global particle system manager
""" """
from pandac.PandaModules import ParticleSystemManager from panda3d.physics import ParticleSystemManager
particleMgr = ParticleSystemManager() particleMgr = ParticleSystemManager()

View File

@ -1,27 +1,27 @@
from pandac.PandaModules import * from pandac.PandaModules import *
from pandac.PandaModules import ParticleSystem from panda3d.physics import ParticleSystem
from pandac.PandaModules import BaseParticleFactory from panda3d.physics import BaseParticleFactory
from pandac.PandaModules import PointParticleFactory from panda3d.physics import PointParticleFactory
from pandac.PandaModules import ZSpinParticleFactory from panda3d.physics import ZSpinParticleFactory
#from pandac.PandaModules import OrientedParticleFactory #from panda3d.physics import OrientedParticleFactory
from pandac.PandaModules import BaseParticleRenderer from panda3d.physics import BaseParticleRenderer
from pandac.PandaModules import PointParticleRenderer from panda3d.physics import PointParticleRenderer
from pandac.PandaModules import LineParticleRenderer from panda3d.physics import LineParticleRenderer
from pandac.PandaModules import GeomParticleRenderer from panda3d.physics import GeomParticleRenderer
from pandac.PandaModules import SparkleParticleRenderer from panda3d.physics import SparkleParticleRenderer
#from pandac.PandaModules import SpriteParticleRenderer #from panda3d.physics import SpriteParticleRenderer
from pandac.PandaModules import BaseParticleEmitter from panda3d.physics import BaseParticleEmitter
from pandac.PandaModules import ArcEmitter from panda3d.physics import ArcEmitter
from pandac.PandaModules import BoxEmitter from panda3d.physics import BoxEmitter
from pandac.PandaModules import DiscEmitter from panda3d.physics import DiscEmitter
from pandac.PandaModules import LineEmitter from panda3d.physics import LineEmitter
from pandac.PandaModules import PointEmitter from panda3d.physics import PointEmitter
from pandac.PandaModules import RectangleEmitter from panda3d.physics import RectangleEmitter
from pandac.PandaModules import RingEmitter from panda3d.physics import RingEmitter
from pandac.PandaModules import SphereSurfaceEmitter from panda3d.physics import SphereSurfaceEmitter
from pandac.PandaModules import SphereVolumeEmitter from panda3d.physics import SphereVolumeEmitter
from pandac.PandaModules import TangentRingEmitter from panda3d.physics import TangentRingEmitter
import SpriteParticleRendererExt import SpriteParticleRendererExt
@ -464,7 +464,7 @@ class Particles(ParticleSystem):
t_b = seg.getTimeBegin() t_b = seg.getTimeBegin()
t_e = seg.getTimeEnd() t_e = seg.getTimeEnd()
mod = seg.isModulated() mod = seg.isModulated()
fun = seg.getFunction() fun = seg.getFunction()
typ = type(fun).__name__ typ = type(fun).__name__
if typ == 'ColorInterpolationFunctionConstant': if typ == 'ColorInterpolationFunctionConstant':
c_a = fun.getColorA() c_a = fun.getColorA()
@ -560,7 +560,7 @@ class Particles(ParticleSystem):
file.write('# Tangent Ring parameters\n') file.write('# Tangent Ring parameters\n')
file.write(targ + '.emitter.setRadius(%.4f)\n' % self.emitter.getRadius()) file.write(targ + '.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
file.write(targ + '.emitter.setRadiusSpread(%.4f)\n' % self.emitter.getRadiusSpread()) file.write(targ + '.emitter.setRadiusSpread(%.4f)\n' % self.emitter.getRadiusSpread())
def getPoolSizeRanges(self): def getPoolSizeRanges(self):
litterRange = [max(1,self.getLitterSize()-self.getLitterSpread()), litterRange = [max(1,self.getLitterSize()-self.getLitterSpread()),
self.getLitterSize(), self.getLitterSize(),
@ -573,9 +573,9 @@ class Particles(ParticleSystem):
print 'Litter Ranges: ',litterRange print 'Litter Ranges: ',litterRange
print 'LifeSpan Ranges: ',lifespanRange print 'LifeSpan Ranges: ',lifespanRange
print 'BirthRate Ranges: ',birthRateRange print 'BirthRate Ranges: ',birthRateRange
return dict(zip(('min','median','max'),[l*s/b for l,s,b in zip(litterRange,lifespanRange,birthRateRange)])) return dict(zip(('min','median','max'),[l*s/b for l,s,b in zip(litterRange,lifespanRange,birthRateRange)]))
def accelerate(self,time,stepCount = 1,stepTime=0.0): def accelerate(self,time,stepCount = 1,stepTime=0.0):
if time > 0.0: if time > 0.0:
@ -585,14 +585,13 @@ class Particles(ParticleSystem):
else: else:
stepCount = int(float(time)/stepTime) stepCount = int(float(time)/stepTime)
remainder = time-stepCount*stepTime remainder = time-stepCount*stepTime
for step in range(stepCount): for step in range(stepCount):
base.particleMgr.doParticles(stepTime,self,False) base.particleMgr.doParticles(stepTime,self,False)
base.physicsMgr.doPhysics(stepTime,self) base.physicsMgr.doPhysics(stepTime,self)
if(remainder): if(remainder):
base.particleMgr.doParticles(remainder,self,False) base.particleMgr.doParticles(remainder,self,False)
base.physicsMgr.doPhysics(remainder,self) base.physicsMgr.doPhysics(remainder,self)
self.render() self.render()

View File

@ -1,4 +1,4 @@
from pandac.PandaModules import SpriteParticleRenderer from panda3d.physics import SpriteParticleRenderer
class SpriteParticleRendererExt(SpriteParticleRenderer): class SpriteParticleRendererExt(SpriteParticleRenderer):
@ -126,4 +126,3 @@ class SpriteParticleRendererExt(SpriteParticleRenderer):
m.removeNode() m.removeNode()
return True return True

View File

@ -2,6 +2,6 @@
__all__ = ['physicsMgr'] __all__ = ['physicsMgr']
from pandac.PandaModules import PhysicsManager from panda3d.physics import PhysicsManager
physicsMgr = PhysicsManager() physicsMgr = PhysicsManager()