In a shader for Unity (hlsl) I'm looking for a way to project a vector(float3 or float4) onto a plane given the plane's normal direction. What I need is something equivalent to Unity's Vector3.ProjectOnPlane function: https://docs.unity3d.com/ScriptReference/Vector3.ProjectOnPlane.html
Unity shader (hlsl) equivalent of Vector3.ProjectOnPlane
2.5k Views Asked by user3367083 At
1
There are 1 best solutions below
Related Questions in UNITY-GAME-ENGINE
- How to use invokerepeating and make ui text fade in/out over time?
- Player input not working properly in unity
- Get block in Mesh Unity
- Does Unity render invisible material?
- Physics.OverlapSphere couldn't detect my ‘Player’
- Cannot sync non-player objects in Unity mirror
- How to script a simple collision using hands in OVRCameraRigInteraction?
- Drawing on 3D object at Unity
- How to Override Spline Rotation for Player-Controlled Car in Racing Game?
- Why doesn't my enemy shield take damage first. Instead both enemy and shield are being destroyed together
- unity + Vuforia balck screen in android AR app
- how do I change an objects tag when the game closes
- How to remove white space in a user's input through an input field in Unity?
- Timeline doesn't start eventhough it recognises the trigger input
- Ragdoll 2D Aiming
Related Questions in HLSL
- Decal renderer does not discard pixels properly
- gl_DrawID equivalent for Directx12 ExecuteIndirect HLSL
- Missing HLSL Debug Symbols with D3Dcompile in Visual Studio
- C++ DirectX compress 3D texture into 2D texture
- How do I change the way my brace completion is handled in Visual Studio 2022 for Unity when coding in HLSL?
- How to get screen UVs in the vert stage of a unity shader?
- Delphi FMX: How to write a custom shader filter?
- Ternary operator with SamplerStates
- Implementing the Phong reflection model in a compute shader - unexpected response to change of spectral and diffuse coefficients
- How can I safely alter a texture from multiple threads? (seems like there is no `InterlockedAdd`)
- Compute Shader call breaks following Blit call in build, but not in editor
- Point light shadows work wrong, how can I debug it?
- Simultaneous access to the same pixel in a ray generation shader - is it safe?
- D3D12: Can we really not have a 1-dimensional buffer/texture of size > 25000?
- How can I fix the normals in this instanced lighting example? (Monogame/XNA)
Related Questions in VECTORMATH
- Rotating a vector with radians
- Applying torque in a direction only if the angular velocity of a ball is not too high
- Is there a way to conditionally alias a member variable in a templated class or struct
- Vector math to keep track of points relations. How to do this with vectors?
- In geometry nodes how can I align instances to both a curve and ground plane?
- Ultimate struggle with a full 3d space controller
- Transforming with Quaternions (Set a Parent->Child hierarchy to a goal orientation described from the child's POV.)
- Deciding which colliding segment to use as impact vector for reflection
- Using neon/simd to optimize Vector3 class
- Algorithm to find desired direction with minimum amount of iterations
- Vector2List not working as expected : Dart // Flutter
- How to get the order of two vectors based on their relative angle without computing the angle?
- how to find a point(vector2) between two points(Vector2) of a line (line renderer)
- How to find Relative Offset of a point inside a non axis aligned box (box that is arbitrarily rotated)
- Vertex array to a float array
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
If your plane normal vector is normalized:
If it's not:
Same formula, depending on GPU model & driver version can be either faster or slower: