Browse Source

Merge pull request #33006 from Chaosus/fix_billboard_bug

Allows change Sprite3D scale if Billboard mode is enabled
Rémi Verschelde 5 years ago
parent
commit
2408e214a7
1 changed files with 3 additions and 4 deletions
  1. 3 4
      scene/resources/material.cpp

+ 3 - 4
scene/resources/material.cpp

@@ -1804,10 +1804,9 @@ RID SpatialMaterial::get_material_rid_for_2d(bool p_shaded, bool p_transparent,
 	material->set_flag(FLAG_SRGB_VERTEX_COLOR, true);
 	material->set_flag(FLAG_ALBEDO_FROM_VERTEX_COLOR, true);
 	material->set_flag(FLAG_USE_ALPHA_SCISSOR, p_cut_alpha);
-	if (p_billboard) {
-		material->set_billboard_mode(BILLBOARD_ENABLED);
-	} else if (p_billboard_y) {
-		material->set_billboard_mode(BILLBOARD_FIXED_Y);
+	if (p_billboard || p_billboard_y) {
+		material->set_flag(FLAG_BILLBOARD_KEEP_SCALE, true);
+		material->set_billboard_mode(p_billboard_y ? BILLBOARD_FIXED_Y : BILLBOARD_ENABLED);
 	}
 
 	materials_for_2d[version] = material;