SetScreenToPanelSpaceFunction3D(Func<Vector2, Vector3>)
Sets the function that handles the transformation from screen space to panel space. For overlay panels, this function returns the input value.
Read time 1 minuteLast updated 12 days ago
Definition
- Type: Method
- Namespace: UnityEngine.UIElements
- Assembly: UnityEngine.UIElementsModule
public void SetScreenToPanelSpaceFunction3D(Func<Vector2, Vector3> screenToPanelSpaceFunction)
Parameters
The translation function. Set to to revert to the default behavior.
nullRemarks
If the panel's targetTexture is applied to 3D objects, use a function that raycasts against MeshColliders in the Scene. The function can first check whether the GameObject that the ray hits has a MeshRenderer with a shader that uses this panel's target texture. It can then return the transformed in the texture's pixel space. Return a coordinate outside the panel to skip incoming pointer events if the ray doesn't hit a valid target or location.
RaycastHit.textureCoordA non-zero z value should be returned when the element at the given screen coordinate contains 3-D transformations that make it overflow forward or backward out of the panel's surface. This z value is used by pointer events when converting between panel position and local position.