change emit shape circle to sphere in CPUParticles2D
This commit is contained in:
parent
0f543ba99d
commit
7d1ee6d3c3
3 changed files with 8 additions and 7 deletions
|
@ -270,8 +270,8 @@
|
|||
<constant name="EMISSION_SHAPE_POINT" value="0" enum="EmissionShape">
|
||||
All particles will be emitted from a single point.
|
||||
</constant>
|
||||
<constant name="EMISSION_SHAPE_CIRCLE" value="1" enum="EmissionShape">
|
||||
Particles will be emitted on the perimeter of a circle.
|
||||
<constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
|
||||
Particles will be emitted on the surface of a sphere flattened to two dimensions.
|
||||
</constant>
|
||||
<constant name="EMISSION_SHAPE_RECTANGLE" value="2" enum="EmissionShape">
|
||||
Particles will be emitted in the area of a rectangle.
|
||||
|
|
|
@ -469,7 +469,7 @@ void CPUParticles2D::_validate_property(PropertyInfo &property) const {
|
|||
property.usage = 0;
|
||||
}
|
||||
|
||||
if (property.name == "emission_sphere_radius" && emission_shape != EMISSION_SHAPE_CIRCLE) {
|
||||
if (property.name == "emission_sphere_radius" && emission_shape != EMISSION_SHAPE_SPHERE) {
|
||||
property.usage = 0;
|
||||
}
|
||||
|
||||
|
@ -647,8 +647,9 @@ void CPUParticles2D::_particles_process(float p_delta) {
|
|||
case EMISSION_SHAPE_POINT: {
|
||||
//do none
|
||||
} break;
|
||||
case EMISSION_SHAPE_CIRCLE: {
|
||||
p.transform[2] = Vector2(Math::randf() * 2.0 - 1.0, Math::randf() * 2.0 - 1.0).normalized() * emission_sphere_radius;
|
||||
case EMISSION_SHAPE_SPHERE: {
|
||||
Vector3 sphere_shape = Vector3(Math::randf() * 2.0 - 1.0, Math::randf() * 2.0 - 1.0, Math::randf() * 2.0 - 1.0).normalized() * emission_sphere_radius;
|
||||
p.transform[2] = Vector2(sphere_shape.x, sphere_shape.y);
|
||||
} break;
|
||||
case EMISSION_SHAPE_RECTANGLE: {
|
||||
p.transform[2] = Vector2(Math::randf() * 2.0 - 1.0, Math::randf() * 2.0 - 1.0) * emission_rect_extents;
|
||||
|
@ -1356,7 +1357,7 @@ void CPUParticles2D::_bind_methods() {
|
|||
BIND_ENUM_CONSTANT(FLAG_MAX);
|
||||
|
||||
BIND_ENUM_CONSTANT(EMISSION_SHAPE_POINT);
|
||||
BIND_ENUM_CONSTANT(EMISSION_SHAPE_CIRCLE);
|
||||
BIND_ENUM_CONSTANT(EMISSION_SHAPE_SPHERE);
|
||||
BIND_ENUM_CONSTANT(EMISSION_SHAPE_RECTANGLE);
|
||||
BIND_ENUM_CONSTANT(EMISSION_SHAPE_POINTS);
|
||||
BIND_ENUM_CONSTANT(EMISSION_SHAPE_DIRECTED_POINTS);
|
||||
|
|
|
@ -75,7 +75,7 @@ public:
|
|||
|
||||
enum EmissionShape {
|
||||
EMISSION_SHAPE_POINT,
|
||||
EMISSION_SHAPE_CIRCLE,
|
||||
EMISSION_SHAPE_SPHERE,
|
||||
EMISSION_SHAPE_RECTANGLE,
|
||||
EMISSION_SHAPE_POINTS,
|
||||
EMISSION_SHAPE_DIRECTED_POINTS,
|
||||
|
|
Loading…
Reference in a new issue