-
21.03.08 - CLC 3일차Devil Toast/Cat Like Coding 2021. 3. 8. 19:40
아무튼 그렇다.
catlikecoding.com/unity/tutorials/basics/building-a-graph/
Building a Graph
A Unity Basics tutorial about using a line of cubes to create an animated graph.
catlikecoding.com
(1) Surface Shader
역시 예상대로 Shader 사용하는게 어려웠다.
일단 C# 언어가 아니고... 아무튼 #pragma 이러는 녀석인데 나도 뭔지 모르겠다.
참 신기한 게 뭘 쳐도 IDE에서 별도의 문법 상 오류를 출력하지 않는데,
Unity로 돌아가서 debug창을 보면 이름이 존재하지 않는다, 세미콜론 찍으면 안된다 등의 에러 메시지가 뜬다는 점.
그리고 아무튼 색상이 코드에서 지정한 대로 움직인다는 점이 가장 신기하다.
그런데 이거 다른 C# 스크립트랑 직접 호출관계도 가질 수 있는 건가?
(2) Universal Render Pipelines
색상을 바꾸는 다른 방법은 노드를 사용하는 URP.
(HURP도 있는데 튜토리얼 수준으로 커버가 안되서 다루지 않는다고 언급하고 있다)
Package Manager에서 별도로 다운을 받아서 사용하는데, 그냥 노드로도 움직인다는 게 너무 신기하다.
물론 지금은 그냥 튜토리얼을 그대로 따라하는 수준이지만,
그래도 알아두는 게 어딘가.
cf. 볼트도 노드로 돌아가고 앞으로 배울 Blender도 노드 베이스로 설정하는게 많은데, 노드랑 자주 싸울 것 같다.
이렇게 노드를 사용해서 값을 할당한다 결과물. 당연히 작은 화면 두개는 잘라서 붙인거다 (3) 센스적인 부분들
이 튜토리얼의 장점이자 장벽이 아닐까 싶다.
정말 자그마한 부분들을 잘 언급해준다.
가령 while문에서 for문으로 넘어가는 이유나, 상수의 변수화, public 대신 Serialized Field쓰는 이유 등등...
(그래서 유니티의 '초보'에게는 좋지만, '스타터'에게는... 좀 혼란스러울수도?)
- for문을 쓰는 경우: 반복의 '횟수'가 중요한 경우 (while은 횟수를 카운트하기 보다는 '~일 경우 실행한다'의 느낌)
- 상수의 변수화: 처음 짤 때는 상수로 짜도 되는데, 프로그램이 커지기 시작하면 의미가 있는 상수는 변수로 지정하는 것이 좋다
- public VS serialized field: 보통은 inspector상으로 값을 넘기기 위해 public 선언을 하지만, 엄연히 말하자면 이는 객체지향적으로 그렇게 좋은 표현은 아니다. (타 스크립트에서의 접근에 취약)
그래서 Serialized Field를 통해 멤버 값을 정의, 후에 inspector에서 값을 바꾸게 된다.
- gameObject VS transform: 구글링을 하다보면 예제에 따라 gameObject로 받는 경우가 있고, transform으로 받는 경우가 있다. 위 Building a Graph 등의 경우는 물체의 '위치' 성분을 건들다보니 굳이 gameObject. transform할 것 없이 그냥 transform으로 받는다.
- 나눗셈: 뭐라고 상황을 한정짓기는 그렇지만, 여러분들이 연습하는 예제에서 나눗셈을 쓴다면 꼭 열심히 연습해둬라. 결과가 깔끔하게 나오는 지름길이다
(4) 여담
진짜 오래 걸린다. 오늘은 만드는 것만 2시간. 결국 후속 공부는 못했고, 사실 지금 지캠해야 하는데 1시간 넘게 밀렸다. 뭐, 별 수 없다. 오늘은 선/면 연습으로 만족하고 운동부터 다녀오자.
그래도 솔직히 한 파트에 시간을 많이 할당하는게 도움은 된다. 부담도 없고, 그냥 배우자마자 바로 연습하는게 좋기는 하다. 헤매이는 것도 없고, 자잘한 팁도 잘 남고.
'Devil Toast > Cat Like Coding' 카테고리의 다른 글
21.03.18 - CLC 7일차: Physics (0) 2021.03.18 21.03.15 - CLC 6일차: 움직이는 물체 (0) 2021.03.15 21.03.10 - CLC 4일차 + 5일차 (0) 2021.03.10 21.03.04, CLC - 2일차 (0) 2021.03.04 21.03.03 CLC - 1일차 (0) 2021.03.03