- Home /
Get Terrain location at raycast point
I've been stuck on this for an hours now, and i'm either simply not understanding what i can find online, or most things i find on google are no longer valid with unity 5.4.
I'm trying to add a shovel to my game. Currently, i use a short distance raycast to see if it hits the terrain. The idea is, if it hits the terrain, then deform the terrain around the point it hit. My problem is i have no idea how to get the terrain point instead of the world location.
Any help would be appreciated. Also, since changes made in runtime to the heightmap are permanent, does anyone have good ideas to reset the terrain after? I tried unsuccessfully to create a copy of the terrain to be modified, but well that never happened. As of now, i have to reimport the original heightmap if i want to reset it.
Answer by RibsNGibs · Apr 18, 2017 at 02:43 PM
Here's a link to getting world coords in terrain coords: http://answers.unity3d.com/questions/9248/how-to-translate-world-coordinates-to-terrain-coor.html
Here's a link to a question about doing what you want to do: http://answers.unity3d.com/questions/11093/modifying-terrain-height-under-a-gameobject-at-run.html The "best answer" has some code garbled by copy paste but should give you an idea. There's a comment to that answer by npruehs on how to restore terrain heights after your game is over.
Your answer
Follow this Question
Related Questions
Realm-time terrain deformation and re-creation 0 Answers
How do I make a terraforming system? 1 Answer
Marching Cubes terrain deformation problem 2 Answers
Marching cubes raycasting issue 0 Answers
Inserting UnityScript Raycasting code into C# script ? 3 Answers