Browse Source

Add half frame to floor()

Metin Celik 4 years ago
parent
commit
a238dc8bbe
2 changed files with 2 additions and 2 deletions
  1. 1 1
      scene/resources/canvas_item_material.cpp
  2. 1 1
      scene/resources/material.cpp

+ 1 - 1
scene/resources/canvas_item_material.cpp

@@ -135,7 +135,7 @@ void CanvasItemMaterial::_update_shader() {
 		code += "		particle_frame = mod(particle_frame, particle_total_frames);\n";
 		code += "		particle_frame = mod(particle_frame, particle_total_frames);\n";
 		code += "	}";
 		code += "	}";
 		code += "	UV /= vec2(h_frames, v_frames);\n";
 		code += "	UV /= vec2(h_frames, v_frames);\n";
-		code += "	UV += vec2(mod(particle_frame, h_frames) / h_frames, floor(particle_frame / h_frames) / v_frames);\n";
+		code += "	UV += vec2(mod(particle_frame, h_frames) / h_frames, floor((particle_frame + 0.5) / h_frames) / v_frames);\n";
 		code += "}\n";
 		code += "}\n";
 	}
 	}
 
 

+ 1 - 1
scene/resources/material.cpp

@@ -815,7 +815,7 @@ void BaseMaterial3D::_update_shader() {
 			code += "		particle_frame = mod(particle_frame, particle_total_frames);\n";
 			code += "		particle_frame = mod(particle_frame, particle_total_frames);\n";
 			code += "	}";
 			code += "	}";
 			code += "	UV /= vec2(h_frames, v_frames);\n";
 			code += "	UV /= vec2(h_frames, v_frames);\n";
-			code += "	UV += vec2(mod(particle_frame, h_frames) / h_frames, floor(particle_frame / h_frames) / v_frames);\n";
+			code += "	UV += vec2(mod(particle_frame, h_frames) / h_frames, floor((particle_frame + 0.5) / h_frames) / v_frames);\n";
 		} break;
 		} break;
 		case BILLBOARD_MAX:
 		case BILLBOARD_MAX:
 			break; // Internal value, skip.
 			break; // Internal value, skip.