분류 전체보기 127

Editable Poly의 Subdivision Surface 연습

지금처럼 엣지로 인해 각져 있는 오브젝트를 엣지수를 증가시켜 하이폴리로 만들기 위해서는 Modifier인 TurboSmooth를 이용할 수 있었다. 하지만 Editable Poly 모디파이어는 Edit Poly와 다르게 Subdivision Surface에서 Use NURMS Subdivision을 통해 TurboSmooth기능을 제공해준다. 여기서 전체 다 Use NURMS Subdivision을 하는게 아니라 일부만 적용하고 싶다라면 적용하고 싶지 않은 부분을 Smoothing그룹으로 지정해주면 해당 부분만 각을 유지한다. 이는 Turbo Smooth에도 있는 기능이다. Editable Poly 상태에 종속된 Turbo Smooth를 적용하고 싶다면 NURMS를 사용하면되고 Modifier 스택 구조..

Smoothing Group 연습

왼쪽 원기둥을 보면 엣지가 있음에도 wireFrame을 제거하면 오른쪽과 같이 매끈한 모습을 볼 수 있다. 그래서 오른쪽 면을 지우고 원기둥을 위로 늘려보았는데, 엣지가 그대로 보이기 시작한다. 사실 엣지가 보이는게 정상인데 부드럽게 보이는 이유는 Smoothing처리가 돼있기 때문이다. Edit Poly or Editable Poly에서 서브오브젝트를 폴리곤으로 선택하게되면 Smoothing Groups라는 옵션이 등장한다. 여기서 Clear All -> Auto Smooth를 적용하면 부드럽게 표현되게 된다. 폴리곤과 폴리곤 사이의 각이 45도 이하인 경우에만 Smoothing으로 표현된 것이고 각도로 넓히면 더 넓은 각도도 Smoothing이 적용된다. 45도 보다 각진 면은 엣지가 보임. 일정 부..

Clone 종류

쉬프트 누르고 오브젝트를 이동시키면 Clone이 가능한데 이 때 세 가지의 선택지를 물어봄. Copy Instance Reference 1. Modifier 적용 Instance와 Reference가 원본 그대로 똑같이 적용됨 Copy는 왕따임. Reference는 Modifier에서 맨 위 스택에 굵은 줄이 있다. Reference는 이 굵은 줄 위에 Modifier를 놓으면 원본은 유지하고 자기 자신만 적용됨. 본인만 TurboSmooth적용된 모습. (굵은 줄 누르고 Modifier추가하면 이렇게됨.) FFD 4x4x4 누르고 Modifier추가하면 굵은 줄 아래에 추가됨. 그리고 연결된 Modifier는 텍스트가 Bold로 돼있는데 Make Unique를 누름으로써 해제할 수 있다. 갑자기 Ref..

Modifier 연습

스택구조 Modifier는 종류가 굉장히 많고 작업하면서 Stack구조로 쌓아올리면서 작업한다. Edit Poly했다가 TurboSmooth했다가~ 쌓아가면서 1. Editable Poly, Edit Poly(일반적으론 이걸 씀) 저번 시간에 연습했던 것으로 서브 오브젝트를 원하는대로 편집하고 선택하는 것. 이걸 기반으로 다른 Modifier를 이용하여 모델링을 하게된다. 2. TurboSmooth 각져 있는 오브젝트에 Edge를 추가하여 부드럽게 만드는 High Poly 기법 3. Shell 두께 조절과 두께에 Edge 추가 가능 Bevel Edge를 선택하고 Bavel Spline에 Line을 넣음 해당 Line을 움직이면 그에 따라 오브젝트 모양이 바뀜 4. FFD nxnxn 요거 개인적으로 엄청 ..

Editable Poly 연습

- ctrl + A로 Editable Poly 모드로 진입 - 위치 조절 필수 : w눌러서 위치조절 모드로 바꾼담에 컨트롤 누르고 아래키로 0에 맞추기 - Selection에서 Edge 선택(단축키 2)하고 커넥션 모드를 이용하여 엣지 이어주기(ctrl+F3) 두 버텍스를 이으려면 ctrl+F2 - Selection에서 Vertex 선택(단축키 1)하고 두 Vertex의 위치를 이동시켜본다. 가운데에 엣지가 만들어져있기 때문에 아래와 같은 모습으로 이동된다. - Alt +1 혹은 Alt + s로 Swift Loop를 만든다.(오브젝트 전체를 덮는 엣지) - Selection에서 Border(단축키 3)을 선택하고 Extrude 세팅을 이용하여 아래로 늘려준다. - Inset는 면에 내부 면을 만들어줌 -..

MONO / IL2CPP / AOT/ JIT

MONO C#은 “Mono C# 컴파일러”에 의해서 IL코드(CPU와 OS에 독립적인 기계어 코드)로 변환된다. Assembly-CSharp.dll 를 확인하면 IL코드를 볼 수 있다. 이제 Unity에서 Mono로 빌드를 하게되면 IL코드는 Mono Framework상에서 돌면서 다시 Assembly(Binary)로 변환한다. 그런데, 이 Mono는 런타임 중에 그때그때 필요할 때 마다 코드를 한줄 씩 읽으면서 Assembly언어로 변환한다. 이러한 과정을 JIT컴파일링(Just In Time)이라고 한다.     첨언 : 추가 상식1> C#은 .Net Framework 위에서 동작하는데 이는 Windows 프로그램을 구동시키자는 취지로 개발되었기 때문에 Windows 환경에 제한되어 있음. 따라서 오..

게임엔진/Unity 2022.05.22

[서적 리뷰] 유지보수 가능한 코딩의 기술 C#편 <주스트 뷔서 등 5인>

이런 개똥 같은 코드를 짠 사람 누구야! 이런 식이면 나 일 못해!!- 익명 프로그래머-이 책의 저자는 SIG(소프트웨어 품질 그룹)의 연구소장인 '주스트 뷔서' 및 SIG 품질 담당 컨설턴트와 개발자로 구성하여 총 5인이 작성하였다. SIG는 소프트웨어 제품 품질에 대한 국제 표준(ISO 25010)에 대하여 표준화된 검사를 하는 유일하게 인증된 연구소를 운영해오고 있는 곳이다. 개발자 뿐만 아니라, 소프트웨어의 품질을 관리하고 평가하며 컨설턴트를 하는 조직이 직접 작성한 책이라는 점에서 큰 메리트를 느꼈다. 사실, 클린 코드나 유지보수가 가능한 코드라는 것은 기준이나 평가를 매기기에 모호한 부분이 많다. 하지만, 이 조직은 자체적인 평가 기준과 수많은 데이터를 기반으로 "유지보수가 가능한 코드란 무엇..

클린코드 2021.12.01