diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index 59c2c1d93ff..16ea71204cc 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -1670,7 +1670,7 @@ void psys_get_birth_coordinates(ParticleSimulationData *sim, ParticleData *pa, P const bool use_boids = ((part->phystype == PART_PHYS_BOIDS) && (pa->boid != NULL)); const bool use_tangents = ((use_boids == false) && - ((part->tanfac != 0.0f) || (part->rotmode == PART_ROT_NOR))); + ((part->tanfac != 0.0f) || (part->rotmode == PART_ROT_NOR_TAN))); int p = pa - psys->particles; @@ -1833,6 +1833,7 @@ void psys_get_birth_coordinates(ParticleSimulationData *sim, ParticleData *pa, P /* create vector into which rotation is aligned */ switch (part->rotmode) { case PART_ROT_NOR: + case PART_ROT_NOR_TAN: copy_v3_v3(rot_vec, nor); use_global_space = false; break; @@ -1881,7 +1882,7 @@ void psys_get_birth_coordinates(ParticleSimulationData *sim, ParticleData *pa, P invert_qt_qt(q_imat, q_obmat); - if (part->rotmode != PART_ROT_NOR) { + if (part->rotmode != PART_ROT_NOR_TAN) { float rot_vec_local[3]; /* rot_vec */ @@ -1893,7 +1894,7 @@ void psys_get_birth_coordinates(ParticleSimulationData *sim, ParticleData *pa, P vec_to_quat(q2, rot_vec_local, OB_POSX, OB_POSZ); } else { - /* (part->rotmode == PART_ROT_NOR) */ + /* (part->rotmode == PART_ROT_NOR_TAN) */ float tmat[3][3]; /* note: utan_local is not taken from 'utan', we calculate from rot_vec/vtan */ diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h index 84442201df8..29fcaf3bf73 100644 --- a/source/blender/makesdna/DNA_particle_types.h +++ b/source/blender/makesdna/DNA_particle_types.h @@ -473,6 +473,7 @@ typedef struct ParticleSystem { #define PART_ROT_OB_X 6 #define PART_ROT_OB_Y 7 #define PART_ROT_OB_Z 8 +#define PART_ROT_NOR_TAN 9 /* part->avemode */ #define PART_AVE_VELOCITY 1 diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c index f120a0cab4a..b966a7d7f2c 100644 --- a/source/blender/makesrna/intern/rna_particle.c +++ b/source/blender/makesrna/intern/rna_particle.c @@ -1887,6 +1887,7 @@ static void rna_def_particle_settings(BlenderRNA *brna) static EnumPropertyItem rot_mode_items[] = { {0, "NONE", 0, "None", ""}, {PART_ROT_NOR, "NOR", 0, "Normal", ""}, + {PART_ROT_NOR_TAN, "NOR_TAN", 0, "Normal-Tangent", ""}, {PART_ROT_VEL, "VEL", 0, "Velocity / Hair", ""}, {PART_ROT_GLOB_X, "GLOB_X", 0, "Global X", ""}, {PART_ROT_GLOB_Y, "GLOB_Y", 0, "Global Y", ""},