Add chunks
This commit is contained in:
		
							parent
							
								
									45a1f05761
								
							
						
					
					
						commit
						e68df78beb
					
				@ -11,7 +11,7 @@ Material:
 | 
				
			|||||||
  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
 | 
					  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
 | 
				
			||||||
  m_ShaderKeywords: 
 | 
					  m_ShaderKeywords: 
 | 
				
			||||||
  m_LightmapFlags: 4
 | 
					  m_LightmapFlags: 4
 | 
				
			||||||
  m_EnableInstancingVariants: 0
 | 
					  m_EnableInstancingVariants: 1
 | 
				
			||||||
  m_DoubleSidedGI: 0
 | 
					  m_DoubleSidedGI: 0
 | 
				
			||||||
  m_CustomRenderQueue: -1
 | 
					  m_CustomRenderQueue: -1
 | 
				
			||||||
  stringTagMap: {}
 | 
					  stringTagMap: {}
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@ Material:
 | 
				
			|||||||
  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
 | 
					  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
 | 
				
			||||||
  m_ShaderKeywords: 
 | 
					  m_ShaderKeywords: 
 | 
				
			||||||
  m_LightmapFlags: 4
 | 
					  m_LightmapFlags: 4
 | 
				
			||||||
  m_EnableInstancingVariants: 0
 | 
					  m_EnableInstancingVariants: 1
 | 
				
			||||||
  m_DoubleSidedGI: 0
 | 
					  m_DoubleSidedGI: 0
 | 
				
			||||||
  m_CustomRenderQueue: -1
 | 
					  m_CustomRenderQueue: -1
 | 
				
			||||||
  stringTagMap: {}
 | 
					  stringTagMap: {}
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@ Material:
 | 
				
			|||||||
  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
 | 
					  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
 | 
				
			||||||
  m_ShaderKeywords: 
 | 
					  m_ShaderKeywords: 
 | 
				
			||||||
  m_LightmapFlags: 4
 | 
					  m_LightmapFlags: 4
 | 
				
			||||||
  m_EnableInstancingVariants: 0
 | 
					  m_EnableInstancingVariants: 1
 | 
				
			||||||
  m_DoubleSidedGI: 0
 | 
					  m_DoubleSidedGI: 0
 | 
				
			||||||
  m_CustomRenderQueue: -1
 | 
					  m_CustomRenderQueue: -1
 | 
				
			||||||
  stringTagMap: {}
 | 
					  stringTagMap: {}
 | 
				
			||||||
 | 
				
			|||||||
@ -26,6 +26,9 @@ public class Lorax : MonoBehaviour {
 | 
				
			|||||||
    private int LastSeed = -1;
 | 
					    private int LastSeed = -1;
 | 
				
			||||||
    private Vector3[][] TreePositions;
 | 
					    private Vector3[][] TreePositions;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private int ChunkSize = 20;
 | 
				
			||||||
 | 
					    private GameObject[] Chunks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void Start() {
 | 
					    void Start() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -48,10 +51,16 @@ public class Lorax : MonoBehaviour {
 | 
				
			|||||||
                TotalChances[x + 1] = Counter + Chances[x];
 | 
					                TotalChances[x + 1] = Counter + Chances[x];
 | 
				
			||||||
                Counter = TotalChances[x + 1];
 | 
					                Counter = TotalChances[x + 1];
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            Chunks = new GameObject[(500 / ChunkSize) * (500 / ChunkSize)];
 | 
				
			||||||
            TreePositions = new Vector3[cap][];
 | 
					            TreePositions = new Vector3[cap][];
 | 
				
			||||||
            for (int y = 0; y < cap; y++) {
 | 
					            for (int y = 0; y < cap; y++) {
 | 
				
			||||||
                TreePositions[y] = new Vector3[cap];
 | 
					                TreePositions[y] = new Vector3[cap];
 | 
				
			||||||
                for (int x = 0; x < cap; x++) {
 | 
					                for (int x = 0; x < cap; x++) {
 | 
				
			||||||
 | 
					                    int CurrentChunk = (int)((Mathf.Floor(y * Denseness / ChunkSize) * 20) + Mathf.Floor(x * Denseness / ChunkSize));
 | 
				
			||||||
 | 
					                    if (Chunks[CurrentChunk] == null) {
 | 
				
			||||||
 | 
					                        Chunks[CurrentChunk] = new GameObject("Chunk " + CurrentChunk);
 | 
				
			||||||
 | 
					                        Chunks[CurrentChunk].transform.parent = transform;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                    if (Random.value > TreeChance) {
 | 
					                    if (Random.value > TreeChance) {
 | 
				
			||||||
                        continue;
 | 
					                        continue;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
@ -79,10 +88,17 @@ public class Lorax : MonoBehaviour {
 | 
				
			|||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        var rot = Quaternion.Euler(0, 360 * Random.value, 0);
 | 
					                        var rot = Quaternion.Euler(0, 360 * Random.value, 0);
 | 
				
			||||||
                        var obj = GameObject.Instantiate(Chosen, pos, rot, gameObject.transform);
 | 
					                        var obj = GameObject.Instantiate(Chosen, pos, rot, Chunks[CurrentChunk].transform);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public GameObject GetChunkAt(float x, float y) {
 | 
				
			||||||
 | 
					        y += 250;
 | 
				
			||||||
 | 
					        x += 250;
 | 
				
			||||||
 | 
					        int CurrentChunk = (int)((Mathf.Floor(y / ChunkSize) * 20) + Mathf.Floor(x / ChunkSize));
 | 
				
			||||||
 | 
					        return Chunks[CurrentChunk];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user