Is there a way to get mouse Get hit result or line trace by using orthographic camera?
It works when I switch it to perspective projection, but not on orthographic
Is there a way to get mouse Get hit result or line trace by using orthographic camera?
It works when I switch it to perspective projection, but not on orthographic
PlayerController methods:
/** Returns hit results from doing a collision query at a certain location on the screen */
bool GetHitResultAtScreenPosition(const FVector2D ScreenPosition, const ECollisionChannel TraceChannel, const FCollisionQueryParams& CollisionQueryParams, FHitResult& HitResult) const;
bool GetHitResultAtScreenPosition(const FVector2D ScreenPosition, const ECollisionChannel TraceChannel, bool bTraceComplex, FHitResult& HitResult) const;
bool GetHitResultAtScreenPosition(const FVector2D ScreenPosition, const ETraceTypeQuery TraceChannel, bool bTraceComplex, FHitResult& HitResult) const;
bool GetHitResultAtScreenPosition(const FVector2D ScreenPosition, const TArray<TEnumAsByte<EObjectTypeQuery> > & ObjectTypes, bool bTraceComplex, FHitResult& HitResult) const;
UFUNCTION(BlueprintCallable, Category="Game|Player", meta=(DeprecatedFunction, DeprecationMessage = "Use new GetHitResultUnderCursorByChannel or GetHitResultUnderCursorForObject", TraceChannel=ECC_Visibility, bTraceComplex=true))
bool GetHitResultUnderCursor(ECollisionChannel TraceChannel, bool bTraceComplex, FHitResult& HitResult) const;
/** Performs a collision query under the mouse cursor, looking on a trace channel */
UFUNCTION(BlueprintCallable, Category="Game|Player", meta=(bTraceComplex=true))
bool GetHitResultUnderCursorByChannel(ETraceTypeQuery TraceChannel, bool bTraceComplex, FHitResult& HitResult) const;
/** Performs a collision query under the mouse cursor, looking for object types */
UFUNCTION(BlueprintCallable, Category="Game|Player", meta=(bTraceComplex=true))
bool GetHitResultUnderCursorForObjects(const TArray<TEnumAsByte<EObjectTypeQuery> > & ObjectTypes, bool bTraceComplex, FHitResult& HitResult) const;
UFUNCTION(BlueprintCallable, Category="Game|Player", meta=(DeprecatedFunction, DeprecationMessage = "Use new GetHitResultUnderFingerByChannel or GetHitResultUnderFingerForObject", TraceChannel=ECC_Visibility, bTraceComplex=true))
bool GetHitResultUnderFinger(ETouchIndex::Type FingerIndex, ECollisionChannel TraceChannel, bool bTraceComplex, FHitResult& HitResult) const;
/** Performs a collision query under the finger, looking on a trace channel */
UFUNCTION(BlueprintCallable, Category="Game|Player", meta=(bTraceComplex=true))
bool GetHitResultUnderFingerByChannel(ETouchIndex::Type FingerIndex, ETraceTypeQuery TraceChannel, bool bTraceComplex, FHitResult& HitResult) const;
/** Performs a collision query under the finger, looking for object types */
UFUNCTION(BlueprintCallable, Category="Game|Player", meta=(bTraceComplex=true))
bool GetHitResultUnderFingerForObjects(ETouchIndex::Type FingerIndex, const TArray<TEnumAsByte<EObjectTypeQuery> > & ObjectTypes, bool bTraceComplex, FHitResult& HitResult) const;
/** Convert current mouse 2D position to World Space 3D position and direction. Returns false if unable to determine value. **/
UFUNCTION(BlueprintCallable, Category="Game|Player", meta = (DisplayName = "ConvertMouseLocationToWorldSpace", Keywords = "deproject"))
bool DeprojectMousePositionToWorld(FVector& WorldLocation, FVector& WorldDirection) const;
/** Convert 2D screen position to World Space 3D position and direction. Returns false if unable to determine value. **/
UFUNCTION(BlueprintCallable, Category="Game|Player", meta = (DisplayName = "ConvertScreenLocationToWorldSpace", Keywords = "deproject"))
bool DeprojectScreenPositionToWorld(float ScreenX, float ScreenY, FVector& WorldLocation, FVector& WorldDirection) const;
I believe DeprojectScreenPositionToWorld is one of the methods which works with ortho, haven’t tested ortho with the rest.