Advertisement
Guest User

Untitled

a guest
Nov 30th, 2015
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // This script is placed in public domain. The author takes no responsibility for any possible harm.
  2. import UnityEngine;
  3.  
  4. var scale = 1.0;
  5. var speed = 1.0;
  6. var recalculateNormals = false;
  7.  
  8. private var baseVertices : Vector3[];
  9. private var noise : Perlin;
  10.  
  11. function Awake ()
  12. {
  13.     noise = new Perlin ();
  14. }
  15.  
  16. function Start () {
  17.     var mesh : Mesh = GetComponent(MeshFilter).mesh;
  18.     var mat : Material = GetComponent(MeshRenderer).material;
  19.    
  20.    
  21.     if (baseVertices == null)
  22.         baseVertices = mesh.vertices;
  23.        
  24.     var vertices = new Vector3[baseVertices.Length];
  25.    
  26.     var timex = Time.time * speed + 0.1365143;
  27.     var timey = Time.time * speed + 1.21688;
  28.     var timez = Time.time * speed + 2.5564;
  29.     for (var i=0;i<vertices.Length;i++)
  30.     {
  31.         var vertex = baseVertices[i];
  32.                
  33.         vertex.x += noise.Noise(timex + vertex.x, timex + vertex.y, timex + vertex.z) * scale;
  34.         vertex.y += noise.Noise(timey + vertex.x, timey + vertex.y, timey + vertex.z) * scale;
  35.         vertex.z += noise.Noise(timez + vertex.x, timez + vertex.y, timez + vertex.z) * scale;
  36.        
  37.         vertices[i] = vertex;
  38.     }
  39.    
  40.     mesh.vertices = vertices;
  41.    
  42.     if (recalculateNormals)
  43.         mesh.RecalculateNormals();
  44.     mesh.RecalculateBounds();
  45.    
  46.     transform.GetComponent(MeshCollider).sharedMesh = null;
  47.     transform.GetComponent(MeshCollider).sharedMesh = mesh;
  48.  
  49.    
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement