Skip to content

Commit 858c642

Browse files
committed
Fix DPI in editor
Fix the rightclick in editor scene to place object from cursor trace Fix dragndrop assets into editor scene
1 parent 43583e9 commit 858c642

3 files changed

Lines changed: 10 additions & 2 deletions

File tree

engine/Sandbox.Engine/Scene/Components/Camera/CameraComponent.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,14 @@ public Ray ScreenPixelToRay( Vector2 pixelPosition )
575575
return sceneCamera.GetRay( pixelPosition, ScreenRect.Size );
576576
}
577577

578+
public Ray ScreenPixelToRay( Vector2 pixelPosition, Vector2 screenSize )
579+
{
580+
EnsureSceneCameraCreated();
581+
UpdateSceneCameraTransform( sceneCamera );
582+
583+
return sceneCamera.GetRay( pixelPosition, screenSize );
584+
}
585+
578586
public Ray ScreenNormalToRay( Vector3 normalPosition )
579587
{
580588
var pixelPosition = new Vector3(

game/addons/tools/Code/Scene/SceneView/SceneViewportWidget.DragDrop.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public override void OnDragHover( DragEvent ev )
9393
.WithoutTags( "isdragdrop", "trigger" )
9494
.UseRenderMeshes( currentDrop is MaterialDropObject )
9595
.UsePhysicsWorld( currentDrop is not MaterialDropObject )
96-
.Ray( _activeCamera.ScreenPixelToRay( ev.LocalPosition - Renderer.Position ), _activeCamera.ZFar + MathF.Abs( _activeCamera.ZNear ) )
96+
.Ray( _activeCamera.ScreenPixelToRay( ev.LocalPosition - Renderer.Position, Renderer.Size ), _activeCamera.ZFar + MathF.Abs( _activeCamera.ZNear ) )
9797
.Run();
9898

9999
if ( !tr.Hit )

game/addons/tools/Code/Scene/SceneView/SceneViewportWidget.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ public bool TryGetCursorTracePosition( out SceneTraceResult tr )
368368
return false;
369369
}
370370

371-
Ray CursorTraceRay => _activeCamera.ScreenPixelToRay( initialMousePosition );
371+
Ray CursorTraceRay => _activeCamera.ScreenPixelToRay( initialMousePosition, Renderer.Size );
372372

373373
[Shortcut( "editor.paste", "CTRL+V" )]
374374
void Paste()

0 commit comments

Comments
 (0)