소스 검색

Merge pull request #60381 from clayjohn/3.x-sorting

[3.x] Sort based on camera position when using perspective camera
Rémi Verschelde 3 년 전
부모
커밋
d063bc4277
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      servers/visual/visual_server_scene.cpp

+ 5 - 1
servers/visual/visual_server_scene.cpp

@@ -3171,7 +3171,11 @@ void VisualServerScene::_prepare_scene(const Transform p_cam_transform, const Ca
 
 		if (((1 << ins->base_type) & VS::INSTANCE_GEOMETRY_MASK) && ins->visible && ins->cast_shadows != VS::SHADOW_CASTING_SETTING_SHADOWS_ONLY) {
 			Vector3 aabb_center = ins->transformed_aabb.position + (ins->transformed_aabb.size * 0.5);
-			ins->depth = near_plane.distance_to(aabb_center);
+			if (p_cam_orthogonal) {
+				ins->depth = near_plane.distance_to(aabb_center);
+			} else {
+				ins->depth = p_cam_transform.origin.distance_to(aabb_center);
+			}
 			ins->depth_layer = CLAMP(int(ins->depth * 16 / z_far), 0, 15);
 		}
 	}