반응형

유니티/2D 랜덤 맵 3

[Unity] 2D 랜덤 맵 - 3. 바이옴

이전 글에서는 Fractal noise를 이용하여 자연스러운 지형을 만들어 보았습니다 마지막으로 이번 글에서는 만든 지형에 바이옴을 적용하는 법을 알아보도록 하겠습니다 바이옴을 자연스럽게 적용하기 위해서는 Voronoi Noise를 사용하여 생성할 수 있습니다 Voronoi Noise란? : 임의의 여러 점을 선택하고 그 점으로부터 가장 가까운 점을 얼마나 가까운지 표현한 노이즈 이 알고리즘대로 Voronoi Noise를 생성한다면 이런 노이즈가 생성됩니다 우리는 바이옴을 표현하기 위하여 값을 거리가 아닌 그 점으로 잡고 노이즈를 생성할 것입니다 GenerateBiome 함수 private Biome[,] GenerateBiome(Vector2[] points, Vector2[] biomePoints) ..

[Unity] 2D 랜덤 맵 - 2. 더 자연스러운 지형 생성

이전 글에서 Perline noise만 이용하여 맵을 생성했을 때 지형이 자연스럽지 않은 현상이 있었습니다 지형을 더 자연스럽게 생성하기 위해서는 Perline noise가 아닌 Fractal noise를 사용하여야 합니다 Fractal noise란? : 저주파 Perline noise와 고주파 Perline noise를 중첩하여 얻어낸 디테일한 노이즈 이제 이 Fractal Noise를 이용하여 지형을 생성하여 봅시다 GenerateNoise 함수 private float[,] GenerateNoise() { float[,] noiseArr = new float[mapSize, mapSize]; float min = float.MaxValue, max = float.MinValue; for(int x ..

[Unity] 2D 랜덤 맵 - 1. 기초

유니티 2D 랜덤 맵을 생성하는 법에 대하여 알아봅시다 맵 생성을 만들기 전 먼저 알아둬야 할 것이 있습니다 바로 Perline Noise입니다 Perline Noise란? : 파동 형태로 구성된 무작위패턴을 생성하는 노이즈 참고 : https://docs.unity3d.com/ScriptReference/Mathf.PerlinNoise.html 대충 이렇게 생긴 노이즈를 생성합니다 이 Perline Noise를 이용하여 지형의 높낮이를 표현하고 그 높낮이의 맞는 타일을 타일맵에 배치하는 식으로 구현하려 합니다 Perline Noise를 생성하는 과정에서 시간이 오래 걸릴 수도 있기 때문에 비동기 함수로 작성하려 합니다 Start 함수 private async void Start() { seed = Ra..

반응형