123456789101112131415public Vector3 RandomPointOnSphere(float radius){ float u = Random.Range(0f, 1f); float v = Random.Range(0f, 1f); float theta = 2f * Mathf.PI * u; float phi = Mathf.Acos(2f * v - 1); Vector3 vec; vec.x = radius * Mathf.Sin(phi) * Mathf.Cos(theta); vec.y = radius * Mathf.Sin(phi) * Mathf.Sin(theta); vec.z = radius * Mathf.Cos(phi); return vec;}Colored by Color Scriptercs
1234567891011121314151617public Vector3 RandomPointInsideSphere(float radius){ float u = Random.Range(0f, 1f); float v = Random.Range(0f, 1f); float theta = 2f * Mathf.PI * u; float phi = Mathf.Acos(2f * v - 1f); float sqrt = Mathf.Sqrt(Random.Range(0f, 1f)); radius *= sqrt; Vector3 vec; vec.x = radius * Mathf.Sin(phi) * Mathf.Cos(theta); vec.y = radius * Mathf.Sin(phi) * Mathf.Sin(theta); vec.z..
1234567public Vector3 RandomPointOnCircle(float radius){ float u = Random.Range(0f, 1f); float theta = u * (Mathf.PI * 2f); return new Vector3(radius * Mathf.Cos(theta), radius * Mathf.Sin(theta), 0f);}Colored by Color Scriptercs
123456789public Vector3 RandomPointInsideCircle(float radius){ float u = Random.Range(0f, 1f); float theta = u * (Mathf.PI * 2f); float sqrt = Mathf.Sqrt(Random.Range(0f, 1f)); radius *= sqrt; return new Vector3(radius * Mathf.Cos(theta), radius * Mathf.Sin(theta), 0f);}Colored by Color Scriptercs
Unity 설치 폴더로 가서 Unity.exe 파일의 바로 가기를 만듭니다. 만들어진 바로가기의 속성으로 들어갑니다. 대상 위치 맨 마지막 부분에 -force-d3d12 라고 글자를 추가하고 확인을 누릅니다. 바로가기를 실행시켜 유니티 에디터를 켜보면 위처럼 DX12로 나오게됩니다.
Unity에서는 Mesh를 만들기위한 코드를 제공하며 DX와 비슷하기 때문에 DX를 좀 하신분이라면 어렵지 않게 접근할 수 있습니다. DX를 전혀 모르시더라도 네이티브 언어로 접근하는게 아니기에 Mesh가 만들어지는 원리에 대해 조금만 이해하시면 어렵지않게 접근하실 수 있습니다. 간단히 빈 오브젝트 하나를 만들어서 Mesh Filter 컴포넌트와 Mesh Renderer 컴포넌트를 추가합니다. Mesh Filter는 Mesh를 렌더링하기위해 꼭 필요하고 Mesh Renderer는 Material을 적용히시키기위해 필요합니다. 마테리얼을 적용시키지 않을거라면 굳이 Mesh Renderer는 필요하지 않습니다. 이 두 컴포넌트는 코드로 추가시켜도 상관없습니다. 그런 다음 적당히 스크립트를 하나 만듭니다. 전..