Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by jeijei · Aug 31, 2014 at 03:48 PM · terrainfallinggroundeditthrough

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

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

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.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

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


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges