fountain.ptf 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. self.reset()
  2. self.setPos(0.000, 0.000, 0.000)
  3. self.setHpr(0.000, 0.000, 0.000)
  4. self.setScale(2.000, 2.000, 2.000)
  5. p0 = Particles.Particles('particles-1')
  6. # Particles parameters
  7. p0.setFactory("PointParticleFactory")
  8. p0.setRenderer("PointParticleRenderer")
  9. p0.setEmitter("DiscEmitter")
  10. p0.setPoolSize(10000)
  11. p0.setBirthRate(0.0200)
  12. p0.setLitterSize(300)
  13. p0.setLitterSpread(100)
  14. p0.setSystemLifespan(0.0000)
  15. p0.setLocalVelocityFlag(1)
  16. p0.setSystemGrowsOlderFlag(0)
  17. # Factory parameters
  18. p0.factory.setLifespanBase(0.5000)
  19. p0.factory.setLifespanSpread(0.2500)
  20. p0.factory.setMassBase(2.0000)
  21. p0.factory.setMassSpread(0.0100)
  22. p0.factory.setTerminalVelocityBase(400.0000)
  23. p0.factory.setTerminalVelocitySpread(0.0000)
  24. # Point factory parameters
  25. # Renderer parameters
  26. p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
  27. p0.renderer.setUserAlpha(0.45)
  28. # Point parameters
  29. p0.renderer.setPointSize(3.00)
  30. p0.renderer.setStartColor(LVector4(0.25, 0.90, 1.00, 1.00))
  31. p0.renderer.setEndColor(LVector4(1.00, 1.00, 1.00, 1.00))
  32. p0.renderer.setBlendType(PointParticleRenderer.PPONECOLOR)
  33. p0.renderer.setBlendMethod(BaseParticleRenderer.PPNOBLEND)
  34. # Emitter parameters
  35. p0.emitter.setEmissionType(BaseParticleEmitter.ETCUSTOM)
  36. p0.emitter.setAmplitude(1.0000)
  37. p0.emitter.setAmplitudeSpread(0.0000)
  38. p0.emitter.setOffsetForce(LVector3(0.0000, 0.0000, 4.0000))
  39. p0.emitter.setExplicitLaunchVector(LVector3(1.0000, 0.0000, 0.0000))
  40. p0.emitter.setRadiateOrigin(LPoint3(0.0000, 0.0000, 0.0000))
  41. # Disc parameters
  42. p0.emitter.setRadius(0.0500)
  43. p0.emitter.setOuterAngle(356.1859)
  44. p0.emitter.setInnerAngle(0.0000)
  45. p0.emitter.setOuterMagnitude(2.0000)
  46. p0.emitter.setInnerMagnitude(1.0000)
  47. p0.emitter.setCubicLerping(0)
  48. self.addParticles(p0)
  49. f0 = ForceGroup.ForceGroup('gravity')
  50. # Force parameters
  51. force0 = LinearVectorForce(LVector3(0.0000, 0.0000, -1.0000), 25.0000, 1)
  52. force0.setActive(1)
  53. f0.addForce(force0)
  54. force1 = LinearJitterForce(3.0000, 1)
  55. force1.setActive(1)
  56. f0.addForce(force1)
  57. self.addForceGroup(f0)