- Home /
Terrain edit problem
so i have a terrain editing script, with the intention to target part of the ground near the player, raise it and if it's close enough to the player, lift him with it aswell i also have a script that spawns rock onto the edited terrain, for a better effect my only problem is that rather than lifting the player, he falls through the terrain when he collides with nearby edited terrain any idea how i can fix this? i was thinking of giving the rocks some script to teleport the player up when he collides, but when i tried it didn't work here's the main terrain editing script im using
using UnityEngine; using System.Collections;
public class TerrainEdit : MonoBehaviour { public Terrain myTerrain; int xResolution; int zResolution; float[,] heights;
void Start()
{
xResolution = myTerrain.terrainData.heightmapWidth;
zResolution = myTerrain.terrainData.heightmapHeight;
heights = myTerrain.terrainData.GetHeights(0,0,xResolution,zResolution);
}
void Update()
{
if(Input.GetMouseButton(1))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray, out hit))
{
raiseTerrain(hit.point);
}
}
}
private void raiseTerrain(Vector3 point)
{
int terX =(int)((point.x / myTerrain.terrainData.size.x) * xResolution);
int terZ =(int)((point.z / myTerrain.terrainData.size.z) * zResolution);
float y = heights[terX,terZ];
y += 0.001f;
float[,] height = new float[1,1];
height[0,0] = y;
heights[terX,terZ] = y;
myTerrain.terrainData.SetHeights(terX, terZ, height);
}
}
note: i lowered the ammount of terrain that gets lifted up, and my original idea to lift the player works as long as he's moving backwards
Answer by AlwaysSunny · Aug 31, 2014 at 07:27 PM
Apply the changes to the terrain.
myTerrain.Flush();
Note this might not solve your problem if the changes to the terrain are substantial. The player may clip through the modified terrain enough to cause them to fall through. Usually when doing stuff like editing colliders in real time, you'll need to code a solution to catch such problems.
Your answer
Follow this Question
Related Questions
Player Falling Though Floor After Build With Unity IPhone 0 Answers
first person controller prefab falls through floor 1 Answer
Falling through world. 1 Answer
It wont stay on the ground!! 2 Answers
Camera Problem 0 Answers