mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-24 10:04:30 +02:00
changing to velocity spread
This commit is contained in:
parent
ddaba19a4e
commit
c2915fc0f5
5 changed files with 49 additions and 49 deletions
|
@ -84,8 +84,8 @@ CONSTRUCT_PROPERTY(shapeType, SHAPE_TYPE_NONE),
|
||||||
CONSTRUCT_PROPERTY(maxParticles, ParticleEffectEntityItem::DEFAULT_MAX_PARTICLES),
|
CONSTRUCT_PROPERTY(maxParticles, ParticleEffectEntityItem::DEFAULT_MAX_PARTICLES),
|
||||||
CONSTRUCT_PROPERTY(lifespan, ParticleEffectEntityItem::DEFAULT_LIFESPAN),
|
CONSTRUCT_PROPERTY(lifespan, ParticleEffectEntityItem::DEFAULT_LIFESPAN),
|
||||||
CONSTRUCT_PROPERTY(emitRate, ParticleEffectEntityItem::DEFAULT_EMIT_RATE),
|
CONSTRUCT_PROPERTY(emitRate, ParticleEffectEntityItem::DEFAULT_EMIT_RATE),
|
||||||
CONSTRUCT_PROPERTY(emitDirection, ParticleEffectEntityItem::DEFAULT_EMIT_DIRECTION),
|
CONSTRUCT_PROPERTY(emitVelocity, ParticleEffectEntityItem::DEFAULT_EMIT_VELOCITY),
|
||||||
CONSTRUCT_PROPERTY(directionSpread, ParticleEffectEntityItem::DEFAULT_DIRECTION_SPREAD),
|
CONSTRUCT_PROPERTY(velocitySpread, ParticleEffectEntityItem::DEFAULT_VELOCITY_SPREAD),
|
||||||
CONSTRUCT_PROPERTY(localGravity, ParticleEffectEntityItem::DEFAULT_LOCAL_GRAVITY),
|
CONSTRUCT_PROPERTY(localGravity, ParticleEffectEntityItem::DEFAULT_LOCAL_GRAVITY),
|
||||||
CONSTRUCT_PROPERTY(particleRadius, ParticleEffectEntityItem::DEFAULT_PARTICLE_RADIUS),
|
CONSTRUCT_PROPERTY(particleRadius, ParticleEffectEntityItem::DEFAULT_PARTICLE_RADIUS),
|
||||||
CONSTRUCT_PROPERTY(marketplaceID, ENTITY_ITEM_DEFAULT_MARKETPLACE_ID),
|
CONSTRUCT_PROPERTY(marketplaceID, ENTITY_ITEM_DEFAULT_MARKETPLACE_ID),
|
||||||
|
@ -349,8 +349,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
CHECK_PROPERTY_CHANGE(PROP_MAX_PARTICLES, maxParticles);
|
CHECK_PROPERTY_CHANGE(PROP_MAX_PARTICLES, maxParticles);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_LIFESPAN, lifespan);
|
CHECK_PROPERTY_CHANGE(PROP_LIFESPAN, lifespan);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_EMIT_RATE, emitRate);
|
CHECK_PROPERTY_CHANGE(PROP_EMIT_RATE, emitRate);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_EMIT_DIRECTION, emitDirection);
|
CHECK_PROPERTY_CHANGE(PROP_EMIT_VELOCITY, emitVelocity);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_DIRECTION_SPREAD, directionSpread);
|
CHECK_PROPERTY_CHANGE(PROP_VELOCITY_SPREAD, velocitySpread);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_LOCAL_GRAVITY, localGravity);
|
CHECK_PROPERTY_CHANGE(PROP_LOCAL_GRAVITY, localGravity);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_PARTICLE_RADIUS, particleRadius);
|
CHECK_PROPERTY_CHANGE(PROP_PARTICLE_RADIUS, particleRadius);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_MARKETPLACE_ID, marketplaceID);
|
CHECK_PROPERTY_CHANGE(PROP_MARKETPLACE_ID, marketplaceID);
|
||||||
|
@ -451,8 +451,8 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(maxParticles);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(maxParticles);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(lifespan);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(lifespan);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(emitRate);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(emitRate);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(emitDirection);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(emitVelocity);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(directionSpread);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(velocitySpread);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(localGravity);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(localGravity);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(particleRadius);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(particleRadius);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(marketplaceID);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(marketplaceID);
|
||||||
|
@ -571,8 +571,8 @@ void EntityItemProperties::copyFromScriptValue(const QScriptValue& object, bool
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(maxParticles, float, setMaxParticles);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(maxParticles, float, setMaxParticles);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(lifespan, float, setLifespan);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(lifespan, float, setLifespan);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(emitRate, float, setEmitRate);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(emitRate, float, setEmitRate);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(emitDirection, glmVec3, setEmitDirection);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(emitVelocity, glmVec3, setEmitVelocity);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(directionSpread, glmVec3, setDirectionSpread);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(velocitySpread, glmVec3, setVelocitySpread);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(localGravity, float, setLocalGravity);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(localGravity, float, setLocalGravity);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(particleRadius, float, setParticleRadius);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(particleRadius, float, setParticleRadius);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(marketplaceID, QString, setMarketplaceID);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(marketplaceID, QString, setMarketplaceID);
|
||||||
|
@ -812,8 +812,8 @@ bool EntityItemProperties::encodeEntityEditPacket(PacketType::Value command, Ent
|
||||||
APPEND_ENTITY_PROPERTY(PROP_MAX_PARTICLES, properties.getMaxParticles());
|
APPEND_ENTITY_PROPERTY(PROP_MAX_PARTICLES, properties.getMaxParticles());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_LIFESPAN, properties.getLifespan());
|
APPEND_ENTITY_PROPERTY(PROP_LIFESPAN, properties.getLifespan());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_EMIT_RATE, properties.getEmitRate());
|
APPEND_ENTITY_PROPERTY(PROP_EMIT_RATE, properties.getEmitRate());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_EMIT_DIRECTION, properties.getEmitDirection());
|
APPEND_ENTITY_PROPERTY(PROP_EMIT_VELOCITY, properties.getEmitVelocity());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_DIRECTION_SPREAD, properties.getDirectionSpread());
|
APPEND_ENTITY_PROPERTY(PROP_VELOCITY_SPREAD, properties.getVelocitySpread());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_LOCAL_GRAVITY, properties.getLocalGravity());
|
APPEND_ENTITY_PROPERTY(PROP_LOCAL_GRAVITY, properties.getLocalGravity());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_PARTICLE_RADIUS, properties.getParticleRadius());
|
APPEND_ENTITY_PROPERTY(PROP_PARTICLE_RADIUS, properties.getParticleRadius());
|
||||||
|
|
||||||
|
@ -1081,8 +1081,8 @@ bool EntityItemProperties::decodeEntityEditPacket(const unsigned char* data, int
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_MAX_PARTICLES, float, setMaxParticles);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_MAX_PARTICLES, float, setMaxParticles);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_LIFESPAN, float, setLifespan);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_LIFESPAN, float, setLifespan);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_EMIT_RATE, float, setEmitRate);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_EMIT_RATE, float, setEmitRate);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_EMIT_DIRECTION, glm::vec3, setEmitDirection);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_EMIT_VELOCITY, glm::vec3, setEmitVelocity);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_DIRECTION_SPREAD, glm::vec3, setDirectionSpread);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_VELOCITY_SPREAD, glm::vec3, setVelocitySpread);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_LOCAL_GRAVITY, float, setLocalGravity);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_LOCAL_GRAVITY, float, setLocalGravity);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_PARTICLE_RADIUS, float, setParticleRadius);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_PARTICLE_RADIUS, float, setParticleRadius);
|
||||||
}
|
}
|
||||||
|
@ -1212,8 +1212,8 @@ void EntityItemProperties::markAllChanged() {
|
||||||
_maxParticlesChanged = true;
|
_maxParticlesChanged = true;
|
||||||
_lifespanChanged = true;
|
_lifespanChanged = true;
|
||||||
_emitRateChanged = true;
|
_emitRateChanged = true;
|
||||||
_emitDirectionChanged = true;
|
_emitVelocityChanged = true;
|
||||||
_directionSpreadChanged = true;
|
_velocitySpreadChanged = true;
|
||||||
_localGravityChanged = true;
|
_localGravityChanged = true;
|
||||||
_particleRadiusChanged = true;
|
_particleRadiusChanged = true;
|
||||||
|
|
||||||
|
|
|
@ -131,8 +131,8 @@ public:
|
||||||
DEFINE_PROPERTY(PROP_MAX_PARTICLES, MaxParticles, maxParticles, quint32);
|
DEFINE_PROPERTY(PROP_MAX_PARTICLES, MaxParticles, maxParticles, quint32);
|
||||||
DEFINE_PROPERTY(PROP_LIFESPAN, Lifespan, lifespan, float);
|
DEFINE_PROPERTY(PROP_LIFESPAN, Lifespan, lifespan, float);
|
||||||
DEFINE_PROPERTY(PROP_EMIT_RATE, EmitRate, emitRate, float);
|
DEFINE_PROPERTY(PROP_EMIT_RATE, EmitRate, emitRate, float);
|
||||||
DEFINE_PROPERTY_REF(PROP_EMIT_DIRECTION, EmitDirection, emitDirection, glm::vec3);
|
DEFINE_PROPERTY_REF(PROP_EMIT_VELOCITY, EmitVelocity, emitVelocity, glm::vec3);
|
||||||
DEFINE_PROPERTY_REF(PROP_DIRECTION_SPREAD, DirectionSpread, directionSpread, glm::vec3);
|
DEFINE_PROPERTY_REF(PROP_VELOCITY_SPREAD, VelocitySpread, velocitySpread, glm::vec3);
|
||||||
DEFINE_PROPERTY(PROP_LOCAL_GRAVITY, LocalGravity, localGravity, float);
|
DEFINE_PROPERTY(PROP_LOCAL_GRAVITY, LocalGravity, localGravity, float);
|
||||||
DEFINE_PROPERTY(PROP_PARTICLE_RADIUS, ParticleRadius, particleRadius, float);
|
DEFINE_PROPERTY(PROP_PARTICLE_RADIUS, ParticleRadius, particleRadius, float);
|
||||||
DEFINE_PROPERTY_REF(PROP_MARKETPLACE_ID, MarketplaceID, marketplaceID, QString);
|
DEFINE_PROPERTY_REF(PROP_MARKETPLACE_ID, MarketplaceID, marketplaceID, QString);
|
||||||
|
@ -311,7 +311,7 @@ inline QDebug operator<<(QDebug debug, const EntityItemProperties& properties) {
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, MaxParticles, maxParticles, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, MaxParticles, maxParticles, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, Lifespan, lifespan, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, Lifespan, lifespan, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, EmitRate, emitRate, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, EmitRate, emitRate, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, EmitDirection, emitDirection, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, EmitVelocity, emitVelocity, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, LocalGravity, localGravity, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, LocalGravity, localGravity, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, ParticleRadius, particleRadius, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, ParticleRadius, particleRadius, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, MarketplaceID, marketplaceID, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, MarketplaceID, marketplaceID, "");
|
||||||
|
|
|
@ -96,7 +96,7 @@ enum EntityPropertyList {
|
||||||
PROP_MAX_PARTICLES,
|
PROP_MAX_PARTICLES,
|
||||||
PROP_LIFESPAN,
|
PROP_LIFESPAN,
|
||||||
PROP_EMIT_RATE,
|
PROP_EMIT_RATE,
|
||||||
PROP_EMIT_DIRECTION,
|
PROP_EMIT_VELOCITY,
|
||||||
PROP_EMIT_STRENGTH,
|
PROP_EMIT_STRENGTH,
|
||||||
PROP_LOCAL_GRAVITY,
|
PROP_LOCAL_GRAVITY,
|
||||||
PROP_PARTICLE_RADIUS,
|
PROP_PARTICLE_RADIUS,
|
||||||
|
@ -136,7 +136,7 @@ enum EntityPropertyList {
|
||||||
PROP_STROKE_WIDTHS,
|
PROP_STROKE_WIDTHS,
|
||||||
|
|
||||||
// used by particles
|
// used by particles
|
||||||
PROP_DIRECTION_SPREAD,
|
PROP_VELOCITY_SPREAD,
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// ATTENTION: add new properties to end of list just ABOVE this line
|
// ATTENTION: add new properties to end of list just ABOVE this line
|
||||||
|
@ -170,7 +170,7 @@ enum EntityPropertyList {
|
||||||
PROP_ATMOSPHERE_CENTER = PROP_MAX_PARTICLES,
|
PROP_ATMOSPHERE_CENTER = PROP_MAX_PARTICLES,
|
||||||
PROP_ATMOSPHERE_INNER_RADIUS = PROP_LIFESPAN,
|
PROP_ATMOSPHERE_INNER_RADIUS = PROP_LIFESPAN,
|
||||||
PROP_ATMOSPHERE_OUTER_RADIUS = PROP_EMIT_RATE,
|
PROP_ATMOSPHERE_OUTER_RADIUS = PROP_EMIT_RATE,
|
||||||
PROP_ATMOSPHERE_MIE_SCATTERING = PROP_EMIT_DIRECTION,
|
PROP_ATMOSPHERE_MIE_SCATTERING = PROP_EMIT_VELOCITY,
|
||||||
PROP_ATMOSPHERE_RAYLEIGH_SCATTERING = PROP_EMIT_STRENGTH,
|
PROP_ATMOSPHERE_RAYLEIGH_SCATTERING = PROP_EMIT_STRENGTH,
|
||||||
PROP_ATMOSPHERE_SCATTERING_WAVELENGTHS = PROP_LOCAL_GRAVITY,
|
PROP_ATMOSPHERE_SCATTERING_WAVELENGTHS = PROP_LOCAL_GRAVITY,
|
||||||
PROP_ATMOSPHERE_HAS_STARS = PROP_PARTICLE_RADIUS,
|
PROP_ATMOSPHERE_HAS_STARS = PROP_PARTICLE_RADIUS,
|
||||||
|
|
|
@ -50,8 +50,8 @@ const float ParticleEffectEntityItem::DEFAULT_ANIMATION_FPS = 30.0f;
|
||||||
const quint32 ParticleEffectEntityItem::DEFAULT_MAX_PARTICLES = 1000;
|
const quint32 ParticleEffectEntityItem::DEFAULT_MAX_PARTICLES = 1000;
|
||||||
const float ParticleEffectEntityItem::DEFAULT_LIFESPAN = 3.0f;
|
const float ParticleEffectEntityItem::DEFAULT_LIFESPAN = 3.0f;
|
||||||
const float ParticleEffectEntityItem::DEFAULT_EMIT_RATE = 15.0f;
|
const float ParticleEffectEntityItem::DEFAULT_EMIT_RATE = 15.0f;
|
||||||
const glm::vec3 ParticleEffectEntityItem::DEFAULT_EMIT_DIRECTION(0.0f, 1.0f, 0.0f);
|
const glm::vec3 ParticleEffectEntityItem::DEFAULT_EMIT_VELOCITY(0.0f, 0.0f, 0.0f);
|
||||||
const glm::vec3 ParticleEffectEntityItem::DEFAULT_DIRECTION_SPREAD(0.0f, 0.0f, 0.0f);
|
const glm::vec3 ParticleEffectEntityItem::DEFAULT_VELOCITY_SPREAD(0.0f, 0.0f, 0.0f);
|
||||||
const float ParticleEffectEntityItem::DEFAULT_LOCAL_GRAVITY = -9.8f;
|
const float ParticleEffectEntityItem::DEFAULT_LOCAL_GRAVITY = -9.8f;
|
||||||
const float ParticleEffectEntityItem::DEFAULT_PARTICLE_RADIUS = 0.025f;
|
const float ParticleEffectEntityItem::DEFAULT_PARTICLE_RADIUS = 0.025f;
|
||||||
const QString ParticleEffectEntityItem::DEFAULT_TEXTURES = "";
|
const QString ParticleEffectEntityItem::DEFAULT_TEXTURES = "";
|
||||||
|
@ -67,7 +67,7 @@ ParticleEffectEntityItem::ParticleEffectEntityItem(const EntityItemID& entityIte
|
||||||
_maxParticles(DEFAULT_MAX_PARTICLES),
|
_maxParticles(DEFAULT_MAX_PARTICLES),
|
||||||
_lifespan(DEFAULT_LIFESPAN),
|
_lifespan(DEFAULT_LIFESPAN),
|
||||||
_emitRate(DEFAULT_EMIT_RATE),
|
_emitRate(DEFAULT_EMIT_RATE),
|
||||||
_emitDirection(DEFAULT_EMIT_DIRECTION),
|
_emitVelocity(DEFAULT_EMIT_VELOCITY),
|
||||||
_localGravity(DEFAULT_LOCAL_GRAVITY),
|
_localGravity(DEFAULT_LOCAL_GRAVITY),
|
||||||
_particleRadius(DEFAULT_PARTICLE_RADIUS),
|
_particleRadius(DEFAULT_PARTICLE_RADIUS),
|
||||||
_lastAnimated(usecTimestampNow()),
|
_lastAnimated(usecTimestampNow()),
|
||||||
|
@ -98,12 +98,12 @@ void ParticleEffectEntityItem::setLifespan(float lifespan) {
|
||||||
_lifespan = lifespan;
|
_lifespan = lifespan;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ParticleEffectEntityItem::setEmitDirection(glm::vec3 emitDirection) {
|
void ParticleEffectEntityItem::setEmitVelocity(glm::vec3 emitVelocity) {
|
||||||
_emitDirection = glm::normalize(emitDirection);
|
_emitVelocity = emitVelocity;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ParticleEffectEntityItem::setDirectionSpread(glm::vec3 directionSpread) {
|
void ParticleEffectEntityItem::setVelocitySpread(glm::vec3 velocitySpread) {
|
||||||
_directionSpread = directionSpread;
|
_velocitySpread = velocitySpread;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ EntityItemProperties ParticleEffectEntityItem::getProperties() const {
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(maxParticles, getMaxParticles);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(maxParticles, getMaxParticles);
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(lifespan, getLifespan);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(lifespan, getLifespan);
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(emitRate, getEmitRate);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(emitRate, getEmitRate);
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(emitDirection, getEmitDirection);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(emitVelocity, getEmitVelocity);
|
||||||
|
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(localGravity, getLocalGravity);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(localGravity, getLocalGravity);
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(particleRadius, getParticleRadius);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(particleRadius, getParticleRadius);
|
||||||
|
@ -152,11 +152,11 @@ bool ParticleEffectEntityItem::setProperties(const EntityItemProperties& propert
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(maxParticles, setMaxParticles);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(maxParticles, setMaxParticles);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(lifespan, setLifespan);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(lifespan, setLifespan);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(emitRate, setEmitRate);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(emitRate, setEmitRate);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(emitDirection, setEmitDirection);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(emitVelocity, setEmitVelocity);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(localGravity, setLocalGravity);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(localGravity, setLocalGravity);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(particleRadius, setParticleRadius);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(particleRadius, setParticleRadius);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(textures, setTextures);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(textures, setTextures);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(directionSpread, setDirectionSpread);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(velocitySpread, setVelocitySpread);
|
||||||
|
|
||||||
if (somethingChanged) {
|
if (somethingChanged) {
|
||||||
bool wantDebug = false;
|
bool wantDebug = false;
|
||||||
|
@ -207,11 +207,11 @@ int ParticleEffectEntityItem::readEntitySubclassDataFromBuffer(const unsigned ch
|
||||||
READ_ENTITY_PROPERTY(PROP_MAX_PARTICLES, quint32, setMaxParticles);
|
READ_ENTITY_PROPERTY(PROP_MAX_PARTICLES, quint32, setMaxParticles);
|
||||||
READ_ENTITY_PROPERTY(PROP_LIFESPAN, float, setLifespan);
|
READ_ENTITY_PROPERTY(PROP_LIFESPAN, float, setLifespan);
|
||||||
READ_ENTITY_PROPERTY(PROP_EMIT_RATE, float, setEmitRate);
|
READ_ENTITY_PROPERTY(PROP_EMIT_RATE, float, setEmitRate);
|
||||||
READ_ENTITY_PROPERTY(PROP_EMIT_DIRECTION, glm::vec3, setEmitDirection);
|
READ_ENTITY_PROPERTY(PROP_EMIT_VELOCITY, glm::vec3, setEmitVelocity);
|
||||||
READ_ENTITY_PROPERTY(PROP_LOCAL_GRAVITY, float, setLocalGravity);
|
READ_ENTITY_PROPERTY(PROP_LOCAL_GRAVITY, float, setLocalGravity);
|
||||||
READ_ENTITY_PROPERTY(PROP_PARTICLE_RADIUS, float, setParticleRadius);
|
READ_ENTITY_PROPERTY(PROP_PARTICLE_RADIUS, float, setParticleRadius);
|
||||||
READ_ENTITY_PROPERTY(PROP_TEXTURES, QString, setTextures);
|
READ_ENTITY_PROPERTY(PROP_TEXTURES, QString, setTextures);
|
||||||
READ_ENTITY_PROPERTY(PROP_DIRECTION_SPREAD, glm::vec3, setDirectionSpread);
|
READ_ENTITY_PROPERTY(PROP_VELOCITY_SPREAD, glm::vec3, setVelocitySpread);
|
||||||
|
|
||||||
return bytesRead;
|
return bytesRead;
|
||||||
}
|
}
|
||||||
|
@ -230,11 +230,11 @@ EntityPropertyFlags ParticleEffectEntityItem::getEntityProperties(EncodeBitstrea
|
||||||
requestedProperties += PROP_MAX_PARTICLES;
|
requestedProperties += PROP_MAX_PARTICLES;
|
||||||
requestedProperties += PROP_LIFESPAN;
|
requestedProperties += PROP_LIFESPAN;
|
||||||
requestedProperties += PROP_EMIT_RATE;
|
requestedProperties += PROP_EMIT_RATE;
|
||||||
requestedProperties += PROP_EMIT_DIRECTION;
|
requestedProperties += PROP_EMIT_VELOCITY;
|
||||||
requestedProperties += PROP_LOCAL_GRAVITY;
|
requestedProperties += PROP_LOCAL_GRAVITY;
|
||||||
requestedProperties += PROP_PARTICLE_RADIUS;
|
requestedProperties += PROP_PARTICLE_RADIUS;
|
||||||
requestedProperties += PROP_TEXTURES;
|
requestedProperties += PROP_TEXTURES;
|
||||||
requestedProperties += PROP_DIRECTION_SPREAD;
|
requestedProperties += PROP_VELOCITY_SPREAD;
|
||||||
|
|
||||||
return requestedProperties;
|
return requestedProperties;
|
||||||
}
|
}
|
||||||
|
@ -257,11 +257,11 @@ void ParticleEffectEntityItem::appendSubclassData(OctreePacketData* packetData,
|
||||||
APPEND_ENTITY_PROPERTY(PROP_MAX_PARTICLES, getMaxParticles());
|
APPEND_ENTITY_PROPERTY(PROP_MAX_PARTICLES, getMaxParticles());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_LIFESPAN, getLifespan());
|
APPEND_ENTITY_PROPERTY(PROP_LIFESPAN, getLifespan());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_EMIT_RATE, getEmitRate());
|
APPEND_ENTITY_PROPERTY(PROP_EMIT_RATE, getEmitRate());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_EMIT_DIRECTION, getEmitDirection());
|
APPEND_ENTITY_PROPERTY(PROP_EMIT_VELOCITY, getEmitVelocity());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_LOCAL_GRAVITY, getLocalGravity());
|
APPEND_ENTITY_PROPERTY(PROP_LOCAL_GRAVITY, getLocalGravity());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_PARTICLE_RADIUS, getParticleRadius());
|
APPEND_ENTITY_PROPERTY(PROP_PARTICLE_RADIUS, getParticleRadius());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_TEXTURES, getTextures());
|
APPEND_ENTITY_PROPERTY(PROP_TEXTURES, getTextures());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_DIRECTION_SPREAD, getDirectionSpread());
|
APPEND_ENTITY_PROPERTY(PROP_VELOCITY_SPREAD, getVelocitySpread());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ParticleEffectEntityItem::isAnimatingSomething() const {
|
bool ParticleEffectEntityItem::isAnimatingSomething() const {
|
||||||
|
@ -480,16 +480,16 @@ void ParticleEffectEntityItem::stepSimulation(float deltaTime) {
|
||||||
quint32 i = _particleTailIndex;
|
quint32 i = _particleTailIndex;
|
||||||
_particleLifetimes[i] = _lifespan;
|
_particleLifetimes[i] = _lifespan;
|
||||||
|
|
||||||
// jitter the _emitDirection by a random offset
|
// jitter the _emitVelocity by a random offset
|
||||||
glm::vec3 randOffset;
|
glm::vec3 randOffset;
|
||||||
randOffset.x = -_directionSpread.x + randFloat() * (_directionSpread.x * 2.0f);
|
randOffset.x = -_velocitySpread.x + randFloat() * (_velocitySpread.x * 2.0f);
|
||||||
randOffset.y = -_directionSpread.y + randFloat() * (_directionSpread.y * 2.0f);
|
randOffset.y = -_velocitySpread.y + randFloat() * (_velocitySpread.y * 2.0f);
|
||||||
randOffset.z = -_directionSpread.z + randFloat() * (_directionSpread.z * 2.0f);
|
randOffset.z = -_velocitySpread.z + randFloat() * (_velocitySpread.z * 2.0f);
|
||||||
|
|
||||||
|
|
||||||
// set initial conditions
|
// set initial conditions
|
||||||
_particlePositions[i] = glm::vec3(0.0f, 0.0f, 0.0f);
|
_particlePositions[i] = glm::vec3(0.0f, 0.0f, 0.0f);
|
||||||
_particleVelocities[i] = _emitDirection + randOffset;
|
_particleVelocities[i] = _emitVelocity + randOffset;
|
||||||
|
|
||||||
integrateParticle(i, timeLeftInFrame);
|
integrateParticle(i, timeLeftInFrame);
|
||||||
extendBounds(_particlePositions[i]);
|
extendBounds(_particlePositions[i]);
|
||||||
|
|
|
@ -98,14 +98,14 @@ public:
|
||||||
void setEmitRate(float emitRate) { _emitRate = emitRate; }
|
void setEmitRate(float emitRate) { _emitRate = emitRate; }
|
||||||
float getEmitRate() const { return _emitRate; }
|
float getEmitRate() const { return _emitRate; }
|
||||||
|
|
||||||
static const glm::vec3 DEFAULT_EMIT_DIRECTION;
|
static const glm::vec3 DEFAULT_EMIT_VELOCITY;
|
||||||
void setEmitDirection(glm::vec3 emitDirection);
|
void setEmitVelocity(glm::vec3 emitVelocity);
|
||||||
const glm::vec3& getEmitDirection() const { return _emitDirection; }
|
const glm::vec3& getEmitVelocity() const { return _emitVelocity; }
|
||||||
|
|
||||||
|
|
||||||
static const glm::vec3 DEFAULT_DIRECTION_SPREAD;
|
static const glm::vec3 DEFAULT_VELOCITY_SPREAD;
|
||||||
void setDirectionSpread(glm::vec3 directionSpread);
|
void setVelocitySpread(glm::vec3 velocitySpread);
|
||||||
const glm::vec3& getDirectionSpread() const { return _directionSpread; }
|
const glm::vec3& getVelocitySpread() const { return _velocitySpread; }
|
||||||
|
|
||||||
|
|
||||||
static const float DEFAULT_LOCAL_GRAVITY;
|
static const float DEFAULT_LOCAL_GRAVITY;
|
||||||
|
@ -144,8 +144,8 @@ protected:
|
||||||
quint32 _maxParticles;
|
quint32 _maxParticles;
|
||||||
float _lifespan;
|
float _lifespan;
|
||||||
float _emitRate;
|
float _emitRate;
|
||||||
glm::vec3 _emitDirection;
|
glm::vec3 _emitVelocity;
|
||||||
glm::vec3 _directionSpread;
|
glm::vec3 _velocitySpread;
|
||||||
float _localGravity;
|
float _localGravity;
|
||||||
float _particleRadius;
|
float _particleRadius;
|
||||||
quint64 _lastAnimated;
|
quint64 _lastAnimated;
|
||||||
|
|
Loading…
Reference in a new issue