본문 바로가기
홀로렌즈2/교육프로그램개발

유니티 홀로렌즈 개발 : 행성 공전 시키기

by TODAYCODE 2021. 7. 4.
반응형

가장 우선적으로 태양계를 만들어서 행성들을 공전시켜야했다.

 

첫번째로 행성 에셋을 가져왔다.

 

Customizable Planet Shaders | 시각 효과 셰이더 | Unity Asset Store

Add depth to your next project with Customizable Planet Shaders from Proxy. Find this & more 시각 효과 셰이더 on the Unity Asset Store.

assetstore.unity.com

무료 에셋이지만 퀄리티가 뛰어났고 자전이 기본적으로 구현되어있다.

자전 속도가 완전히 고증되어있는지는 정확히는 모르겠지만,

가스형 행성들 공전이 빠르게 구현되어있었고

자전속도가 가장 느린 금성은 자전이 느리게 구현되어있었다.

어느정도 현실고증을 넣어놓은 것 같다.

 

다만, 해당 에셋에는 행성만 있고 태양은 없기 때문에

유료에셋을 통해서 태양과 몇몇 위성들을 가져왔다.

 

Planets | 3D Sci-Fi | Unity Asset Store

Elevate your workflow with the Planets asset from Nova Shade. Find this & other Sci-Fi options on the Unity Asset Store.

assetstore.unity.com

이 에셋은 유료다.

나는 태양하고 달만 가져오려고 해당 에셋을 사용했는데

특별히 꼭 이 에셋을 사용해야할 이유가 없다면, 이 에셋을 추천하지는 않는다.

용량이 크기도 하고 다운로드하고 import하는데 시간이 오래걸린다.

 


에셋 이야기는 이쯤하고, 프로젝트에 대해서 이야기를 해보자면...

 

 

처음에는 현실고증을 완전히 하기 위해서,

행성별로 크기 비율을 계산해서 스케일 값에 넣어줬더니...

수성은 거의 보이지 않을 정도로 작아야했고

목성과 태양은 정말 말도 안되게 커져서 현실비율을 무시해야했다.

 

마찬가지로 행성 거리 또한 현실고증을 할 수 없었다.

태양과 지구사이의 거리를 1로 잡은 AU라는 단위를 사용해서

비율로 거리를 환산해서 입력했더니...

목성부터 너무 멀어지고 해왕성은 볼 수 없었다.

 

그래서 크기나 거리의 현실고증은 일단은 미뤄두기로 했다.

 

 

1. 자전

사실 자전은 앞서 말했듯이 에셋에 기본적으로 구현되어있었다.

그냥 알아서 돌아가주니까 편했음.

 

 

2. 공전 구현

행성들이 태양을 중심으로 돌도록 구현했다.

스크립트는 다음과 같다.

// 공전 기준 태양
public GameObject Star;
    
// 회전 속도
public float speed;


void Update()
{
	// 공전 기능 실행
	Revolve();
}

// 공전 기능 구현
void Revolve()
{
	// transform.RotateAround(회전 기준점, 회전 축, 속도)
	transform.RotateAround(Planet.transform.position, Vector3.down, speed * Time.deltaTime);
}

이렇게 구현된 스크립트들을 행성에 넣어주고

public Star 부분에 태양을 넣어준 뒤 행성별 speed 값을 넣어주면

행성들이 태양을 중심으로 공전을 하기 시작한다.

반응형

'홀로렌즈2 > 교육프로그램개발' 카테고리의 다른 글

유니티로 홀로렌즈2 개발 - 기획  (0) 2021.07.03

댓글