public override void Process(uint seed) { TerrainSplatMap splatMap = TerrainMeta.SplatMap; int splatres = splatMap.res; Parallel.For(0, splatres, delegate(int z) { for (int i = 0; i < splatres; i++) { Process(i, z); } }); }
public void RefreshTerrainData() { TerrainData terrainDatum = Terrain.activeTerrain.terrainData; TerrainHeightMap component = Terrain.activeTerrain.GetComponent <TerrainHeightMap>(); if (component) { this.heightmap = component.HeightTexture; } TerrainSplatMap terrainSplatMap = Terrain.activeTerrain.GetComponent <TerrainSplatMap>(); if (terrainSplatMap) { this.splatmap0 = terrainSplatMap.SplatTexture0; this.splatmap1 = terrainSplatMap.SplatTexture1; } TerrainAlphaMap terrainAlphaMap = Terrain.activeTerrain.GetComponent <TerrainAlphaMap>(); if (terrainAlphaMap) { this.alphamap = terrainAlphaMap.AlphaTexture; } TerrainBiomeMap terrainBiomeMap = Terrain.activeTerrain.GetComponent <TerrainBiomeMap>(); if (terrainBiomeMap) { this.biomemap = terrainBiomeMap.BiomeTexture; } TerrainTopologyMap terrainTopologyMap = Terrain.activeTerrain.GetComponent <TerrainTopologyMap>(); if (terrainTopologyMap) { this.topologymap = terrainTopologyMap.TopologyTexture; } TerrainWaterMap terrainWaterMap = Terrain.activeTerrain.GetComponent <TerrainWaterMap>(); if (terrainWaterMap) { this.watermap = terrainWaterMap.WaterTexture; } TerrainBlendMap terrainBlendMap = Terrain.activeTerrain.GetComponent <TerrainBlendMap>(); if (terrainBlendMap) { this.blendmap = terrainBlendMap.BlendTexture; } this.size = terrainDatum.size; this.extents = terrainDatum.size * 0.5f; this.offset = (Terrain.activeTerrain.GetPosition() + (terrainDatum.size.XZ3D() * 0.5f)) - base.transform.position; }
public void RefreshTerrainData() { TerrainData terrainData = Terrain.get_activeTerrain().get_terrainData(); TerrainHeightMap component1 = (TerrainHeightMap)((Component)Terrain.get_activeTerrain()).GetComponent <TerrainHeightMap>(); if (Object.op_Implicit((Object)component1)) { this.heightmap = component1.HeightTexture; } TerrainSplatMap component2 = (TerrainSplatMap)((Component)Terrain.get_activeTerrain()).GetComponent <TerrainSplatMap>(); if (Object.op_Implicit((Object)component2)) { this.splatmap0 = component2.SplatTexture0; this.splatmap1 = component2.SplatTexture1; } TerrainAlphaMap component3 = (TerrainAlphaMap)((Component)Terrain.get_activeTerrain()).GetComponent <TerrainAlphaMap>(); if (Object.op_Implicit((Object)component3)) { this.alphamap = component3.AlphaTexture; } TerrainBiomeMap component4 = (TerrainBiomeMap)((Component)Terrain.get_activeTerrain()).GetComponent <TerrainBiomeMap>(); if (Object.op_Implicit((Object)component4)) { this.biomemap = component4.BiomeTexture; } TerrainTopologyMap component5 = (TerrainTopologyMap)((Component)Terrain.get_activeTerrain()).GetComponent <TerrainTopologyMap>(); if (Object.op_Implicit((Object)component5)) { this.topologymap = component5.TopologyTexture; } TerrainWaterMap component6 = (TerrainWaterMap)((Component)Terrain.get_activeTerrain()).GetComponent <TerrainWaterMap>(); if (Object.op_Implicit((Object)component6)) { this.watermap = component6.WaterTexture; } TerrainBlendMap component7 = (TerrainBlendMap)((Component)Terrain.get_activeTerrain()).GetComponent <TerrainBlendMap>(); if (Object.op_Implicit((Object)component7)) { this.blendmap = component7.BlendTexture; } this.size = terrainData.get_size(); this.extents = Vector3.op_Multiply(terrainData.get_size(), 0.5f); this.offset = Vector3.op_Subtraction(Vector3.op_Addition(Terrain.get_activeTerrain().GetPosition(), Vector3.op_Multiply(Vector3Ex.XZ3D(terrainData.get_size()), 0.5f)), ((Component)this).get_transform().get_position()); }
public static void Process(int x, int z) { TerrainSplatMap splatMap = TerrainMeta.SplatMap; float normZ = splatMap.Coordinate(z); float normX = splatMap.Coordinate(x); if ((TerrainMeta.TopologyMap.GetTopology(normX, normZ) & 0x800400) == 0) { float slope = TerrainMeta.HeightMap.GetSlope(normX, normZ); if (slope > 30f) { splatMap.SetSplat(x, z, 8, Mathf.InverseLerp(30f, 50f, slope)); } } }
public static void Process(int x, int z) { TerrainSplatMap splatMap = TerrainMeta.SplatMap; float single = splatMap.Coordinate(z); float single1 = splatMap.Coordinate(x); if ((TerrainMeta.TopologyMap.GetTopology(single1, single) & 8389632) == 0) { float slope = TerrainMeta.HeightMap.GetSlope(single1, single); if (slope > 30f) { splatMap.SetSplat(x, z, 8, Mathf.InverseLerp(30f, 50f, slope)); } } }
public void AdjustTerrainTexture() { if (this.Splat == 0) { return; } TerrainSplatMap splatMap = TerrainMeta.SplatMap; float single4 = 1f; float randomScale = this.RandomScale; float outerPadding = this.OuterPadding; float innerPadding = this.InnerPadding; float width = this.Width * 0.5f; Vector3 startPoint = this.Path.GetStartPoint(); Vector3 endPoint = this.Path.GetEndPoint(); Vector3 startTangent = this.Path.GetStartTangent(); Vector3 vector31 = PathList.rot90 * startTangent; Vector3 vector32 = startPoint - (vector31 * (width + outerPadding)); Vector3 vector33 = startPoint + (vector31 * (width + outerPadding)); float length = this.Path.Length + single4; for (float i = 0f; i < length; i += single4) { Vector3 vector34 = (this.Spline ? this.Path.GetPointCubicHermite(i) : this.Path.GetPoint(i)); float single5 = (startPoint - vector34).Magnitude2D(); float single6 = (endPoint - vector34).Magnitude2D(); float single7 = Mathf.InverseLerp(0f, width, Mathf.Min(single5, single6)); float single8 = Mathf.Lerp(width, width * randomScale, Noise.Billow(vector34.x, vector34.z, 2, 0.005f, 1f, 2f, 0.5f)); Vector3 vector35 = this.Path.GetTangent(i).XZ3D(); startTangent = vector35.normalized; vector31 = PathList.rot90 * startTangent; Ray ray = new Ray(vector34, startTangent); Vector3 vector36 = vector34 - (vector31 * (single8 + outerPadding)); Vector3 vector37 = vector34 + (vector31 * (single8 + outerPadding)); float single9 = TerrainMeta.NormalizeY(vector34.y); splatMap.ForEach(vector32, vector33, vector36, vector37, (int x, int z) => { float single = splatMap.Coordinate(x); float single1 = splatMap.Coordinate(z); Vector3 vector3 = TerrainMeta.Denormalize(new Vector3(single, single9, single1)); float single2 = (vector3 - ray.ClosestPoint(vector3)).Magnitude2D(); float single3 = Mathf.InverseLerp(single8 + outerPadding, single8 - innerPadding, single2); splatMap.SetSplat(x, z, this.Splat, single3 * single7); }); vector32 = vector36; vector33 = vector37; } }
public static void Process(int x, int z) { TerrainSplatMap splatMap = TerrainMeta.SplatMap; float normZ = splatMap.Coordinate(z); float normX = splatMap.Coordinate(x); if ((TerrainMeta.TopologyMap.GetTopology(normX, normZ) & 8389632) != 0) { return; } float slope = TerrainMeta.HeightMap.GetSlope(normX, normZ); if ((double)slope <= 30.0) { return; } splatMap.SetSplat(x, z, 8, Mathf.InverseLerp(30f, 50f, slope)); }
public override void Setup() { this.splat = (TerrainSplatMap)((Component)this.terrain).GetComponent <TerrainSplatMap>(); this.materials = this.config.GetPhysicMaterials(); }
public override void Setup() { this.splatMap = (TerrainSplatMap)((Component)this.terrain).GetComponent <TerrainSplatMap>(); this.biomeMap = (TerrainBiomeMap)((Component)this.terrain).GetComponent <TerrainBiomeMap>(); }