Goals - 간단한 solar system를 구현해본다.
Daily
2025/04 | ||
24 | T | simple solar subject initialize system프로젝트 구상 및 구현 순서 계획 |
EditorWindow에 대한 공부 | ||
25 | T | EditorWindow에 대한 공부 |
Astronomical class 자전 | ||
26 | T | UML 작성 및 클래스 구조 확인, 공전 구현 |
28 | T | 간단한 태양계 구현 및 실제 스케일의 활용을 검토 및 일부 적용 |
29 | T | 실제 스케일을 적절히 변경하여 적용하는 클래스 작성, 에디터로 행성을 일일히 구독시켜야하는 점은 남았지만, 잘 작동함. 태양 효과 및 토성의 고리 구현과 관련하여, 텍스쳐와 UV에 대해 해맴. 토성의 고리를 UV를 수정하여 구현하려고 했으나 해매다가 일단 적절한 매쉬로 바꾸는 것으로 선회. |
Source
https://www.solarsystemscope.com/textures/
Solar System Scope
Online 3D simulation of the Solar System and night sky in real time - the Sun, planets, dwarf planets, comets, stars and constellations
www.solarsystemscope.com
https://astro.kasi.re.kr/learning/pageView/5116
행성들의 물리량 | 태양계 개요 | 태양계 | 천문학습관 | 천문우주지식정보
옛날 사람들이 생각한 태양계 태양계의 기원설 태양계의 탄생과 진화 태양계의 구성 행성의 분류 왜소행성의 분류 혜성과 소행성 유성 행성들 사이의 거리, 태양계 규모 행성들의 물리량 행성
astro.kasi.re.kr
from chatgpt
행성자전축 기울기 (°) | 자전축 방향 벡터 (x, y, z) | |
수성 | 0.03 | (0.0, 0.0, 1.0) |
금성 | 177.4 | (-0.0, -0.0, -1.0) |
지구 | 23.44 | (0.0, 0.3978, 0.9175) |
화성 | 25.19 | (0.0, 0.4258, 0.9048) |
목성 | 3.13 | (0.0, 0.0546, 0.9985) |
토성 | 26.73 | (0.0, 0.4491, 0.8935) |
천왕성 | 97.77 | (0.0, -0.9986, 0.0523) |
해왕성 | 28.32 | (0.0, 0.4740, 0.8805) |
Work
2025.04.24 - [Endeavor/Unity Stuff] - EditorWindow simple Exemple
EditorWindow simple Exemple
Chatgpt가 제공해준 코드를 분석한다. Exemple Code더보기 ※ 원하는 이름의 프리펩과 머터리얼을 한번에 만드는 방법도 있을까?using UnityEngine;using UnityEditor;using System.IO;public class AssetAutoCreator : EditorWin
roaring-stretching-thought-wood.tistory.com
2025.04.29 - [Endeavor/Unity Stuff] - Blender remind
Blender remind
shift + 마우스 화면 이동마우스 가운데화면 회전tab모드 토글C에딧 모드 다중 선택, esc 선택 끝S사이즈 조정, xyz 키로 축조정 후 0키 로 정렬 가능R선택한 요소 회전가능ctrl + Rloop cutE or ctrl + 우클릭
roaring-stretching-thought-wood.tistory.com
Ignorance
- 궤도는 어느정도 타원형이다 -> 원형으로 통일
- 높이가 조금 씩 다르다 -> 동일 평면 위에 있도록 통일
- 오차가 발생 할 수 있다 -> 무시.
IDea & Step.
-
- 스크립구 구조 계획
- astronomical를 간단히 구성하고, 컴포넌트로 항성, 행성, 우주구조물인지 나타낸다.
- 중력을 고려하지 않기 위해, 궤도 정보를 나타내는 클래스를 나타낸다.
- 행성에는 isSync 플래그를 통해, 달과 같이 공전과 자전이 동일한 경우를 해결한다.
- 고려사항
- 스크립트 구조
class planet, class astronomical궤도 반경, 속도, 중심 오브젝트, 크기 자전속도- 변수는 인터넷에서 구해서 넣을 수 있는 정보로
iscental? is- # 궤도는 일단 원형, 높이는 동일하게 구현
- 행성 자신의 모양은 프리펩으로 구현
- 인공 위성이나 달, 토성의 고리는 어떻게 구현
- 별도 클래스 생성 혹은 planet 를 astronomical Object로 수정
- 혹은 Actor (FPS micro game)처럼 단순하게 구현하도 컴포넌트를 추가하는 식으로 해야할까?
- Actor 라고 하기엔 뭐하니까, 별도로 구현 해야할까?
- 그런데 내가 만드는 걸 태양계에 국한 시키면 궤도 중심정도면 될거 같긴하다. Oribital
- 그렇다면 astronomical를 간단히 구성하고, 컴포넌트로 항성, 행성, 우주구조물인지 나타내는게 맞지 않나?
- 궤도 공전 구현 방향
- 중심 행성과의 거리와 각 회전 속도를 사용하는 방법
- 속도를 가지고 적절한 중력 적용하여 회전(적어도 계산에 적용하여)
- 프레임 사이 시간때문에 문제가 생기진 않을까
그냥 궤도 자체를 클래스화 시켜 버릴까?단순 원형이라 클래스화 필요없이 각도로 조정- 중력을 고려할 필요가 없다.
- 그냥 궤도 거리 찍고 헤당하는 비율에 위치시킨다.
- 만약 달과 인공위성 같이 계속 같은 면을 바라보는 경우, 공전 속도= 자전 속도로 구현할 건가 다르게 구현할 것인가?
- 그냥 궤도 자체를 클래스화 시켜 버릴까?
- 토성의 고리는 회전 시킬까?
- 참고로 거리에
- 크기 기준은 어떻게 할까? 정말로 사실적인 크기 기준을 따른다 하더라도 화면이 너무 비어보일것,
- 시간 스케일은 어떻게 하지?.
- 태양계 자체를 프리펩으로 구성하면, 로컬 포지션으로 좀더 쉽게 구현할 수 있지 않나?
- 스크립트 구조
- 스크립구 구조 계획
두가지 방향으로 클래스 구조를 구성해보았다. 하나는 클래스 상속을 사용한 방법이고, 하나는 얼추 컴포넌트를 생각해서 짰고. 일단 그렇게 복잡한 시스템을 생각하고 있지는 않아서 첫번째 방법을 선정. 컴포넌트 구성하는 방법은 후에 더 공부가 필요하다.
이 둘 다 사용하지 않음.


막상 구현 해보니, 자전 데이터와 공전 데이터, 움직이는 데이터는 각각 별개라서 쉽게 컴포넌트처럼 만들 수 있었다.

20250424:
대략적인 방향 구성, 혹시나 프리펩과 머터리얼을 간단하게 생성해 놓고 싶어서 알아보다가, EditorWindow에 대해 알게 되어서 간단하게 알아봄.
간단한 파일명으로 prefab, Material 파일 생성기

20250425:
생각보다 고려해야하는 사항이 많았음.
클래스를 어떻게 구성할지에 대해 정하고, 간단한 자전 기능 구현
오랜만에 다뤄서, 현실 벡터하고 유니티 벡터 축이 다르다는 것을 나중에야 인지함.
우주물, 궤도, 궤도 행성
궤도를 별도 클래스로 만들어서(혹은 메서드로만 구성하여), 중력에 대한 부분은 생각하지 않을 생각, 오로지 회전 반경과 속도만.

20250426:
UML class 다이어그램 작성 및 실제 구현, 다시 정리
속성을 대한 생각을 할때 단위를 1일 이런식으로 생각하니 헷갈릴거 없이 편했음.
유니티에서 오브젝트에 컴포넌트를 붙임으로써 기능을 확장한다는 것을 아직 깨닫지 못했었음을 알았다.
시작하기 전에 UML class 다이어그램을 짜고 이런식으로 할 수 밖에 없겠구나 싶었는데, 추상화 자체에 미숙했음을 알았다.

20250428:


배경을 적용하고, 사이즈를 실제 크기와 log로 적용하기 위한 클래스 작성 중, 고민에 빠짐
실제 값을 적용하는 클래스를 어떻게 해야 할지 고민중

20250429:


실제 행성 값에 적절한 조정을 하여 스케일을 적용해주는 컴포넌트,
[ContextMenu("Apply Scale")] 를 사용해 컴포넌트에 ApplyScale() 함수를 추가했다. 에디터에서 쉽게 값을 적용가능


박동하는 듯한 태양효과.
에디터의 inspertor 창을 Debug 모드로 바꾸면, SetFloat 에 넣어야하는 string 값을 볼 수 있다.
토성의 고리를 만드는 것에 텍스쳐와 UV에 대한 한계에 부딪쳤다.
텍스쳐에 대한 공부를 해야할 것 같다.

?!
'Endeavor > Practice Unity' 카테고리의 다른 글
Endeavor for proficiency in use Unity (0) | 2025.04.24 |
---|