티스토리 뷰
< 이 내용은 PC버전에 최적화 되어 있습니다. >
안녕하세요. Base Of Coding입니다.
이번에 배워 볼 7장 내용. Material을 생성하고, 그 생성한 머터리얼을 가지고, 색을 변경해보고, 6장에서 이상하게 되어있는 이동하는 법을 수정하도록 하겠습니다.
지금까지 배워 본 내용들 모음입니다.
그럼 시작해보도록 하겠습니다.
1 ) Material 생성하기
Scenes라는 폴더와 Scripts, Materials 폴더를 생성했습니다. 폴더 복사는 Ctrl + D 키를 누르시면 됩니다.
이제 본격적으로 머터리얼을 생성하도록 하겠습니다.
Materials 폴더를 더블 클릭해주시구요. 폴더에서 오른쪽 클릭 후 -> Create -> Material을 클릭합니다.
저는 Test라는 이름의 Material을 생성하겠습니다.
2 ) Material 생성 후, 색 변경 하고, 큐브에 Material 지정.
- Test를 클릭 한 뒤, Inspector 창을 보시게 되면, Albedo라는 것이 있습니다. 저는 빨간색으로 변경하겠습니다. 원하시는 색상으로 변경하시면 됩니다.
< 빨간색으로 변경 된 Albedo의 값입니다. >
그리고, 해당 머터리얼을, 큐브에 집어넣어보도록 하겠습니다.
- Test 머터리얼을, 드래그 앤 드롭해서, 큐브에 가져가면 Albedo 값으로 변경이 되는 것을 보실 수 있습니다.
머터리얼의 상세한 정보는 나중에 더 알아보도록 하겠습니다.
3 ) 이동 및 회전 스크립트 수정.
- 일단 빈 게임 오브젝트를 하나 만들어서, 그 자식 오브젝트로 큐브를 지정하도록 하겠습니다.
- 위와 같은 방법으로 빈 게임 오브젝트를 만들어주시고, Cube를 밑에 놓게 만들어주시구요. 주의하실 점은!! 빈 게임 오브젝트의 Inspector 창에서, position값이 0,0,0이여야 합니다.
그리고, 코드를 이렇게 수정해주세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMovePos : MonoBehaviour { public GameObject moveObject; // 이거 추가. private Quaternion rotateVector; private float plusRotate = 0.5f , speed = 5f; private void FixedUpdate() { if (Input.GetKey(KeyCode.A)) { moveObject.transform.Translate(Vector3.left * Time.deltaTime * speed); // 여기 수정 } if (Input.GetKey(KeyCode.D)) { moveObject.transform.Translate(Vector3.right * Time.deltaTime * speed); // 여기 수정 } if (Input.GetKey(KeyCode.W)) { moveObject.transform.Translate(Vector3.up * Time.deltaTime * speed); // 여기 수정 } if (Input.GetKey(KeyCode.S)) { moveObject.transform.Translate(Vector3.down * Time.deltaTime * speed); // 여기 수정 } } private void Update() { rotateVector = Quaternion.Euler(new Vector3(plusRotate, plusRotate, plusRotate)); gameObject.GetComponent<Transform>().localRotation = rotateVector; plusRotate += 0.5f; } } |
- public과 private의 차이점을 모르시는 분이 계시다면, 일단 이렇게 하는 거구나 하고 넘어가시길 바랍니다. 10장쯤에 하나하나씩 천천히 알아가보도록 하겠습니다.
이렇게 코드를 수정해주신 다음,
cube에 붙어있는 CubeMovePos 스크립트에 빈 게임 오브젝트를 드래그 앤 드롭해주셔야 합니다.
- Cube를 클릭하신 상태에서, Move Object라는 빈 칸에, 빈 게임 오브젝트를 드래그 앤 드롭해서, 넣어주시고 실행을 한번 해보도록 하겠습니다.
- 아주 잘 작동이 되네요. 원래는 회전하는 값 덕분에, 이동하는 것이 분리되지 않고, 회전하는 쪽으로 이동이 되었지만, 지금은 빈 오브젝트를 이동하는 것과, 큐브는 그냥 돌아가게 하는 것으로 분리를 시켜서, 잘 작동이 되게끔 만들어주는 방식으로 만들어 보았습니다.
이렇게, 머터리얼 생성 및 사용 그리고, 이동 코드를 수정해서 잘 되도록 만들어봤습니다.
일단 쉬운 것부터 차근차근 하나하나씩 올린 뒤 난이도를 조금씩 올려보도록 하겠습니다ㅎㅎ
지금까지 Base Of Coding이였습니다. 다음엔 어떤 강의를 올려야 할 지 한번 고민을 하고 올려봐야겠네요ㅎㅎㅎ
다음에 뵙겠습니다! 감사합니다.
- 이 글에 도움이 되셨다면, 공감(♡) 버튼과 댓글 부탁드리겠습니다. -
'게임 프로그래밍 ( 이제 안함 ) > Base Of Unity3D' 카테고리의 다른 글
9. 플랫폼 대응하기 ( Application.platform 또는 #if UNITY_ANDROID ) (0) | 2019.04.16 |
---|---|
8. 간단하게 씬 이동하기 (0) | 2018.11.09 |
6. 유니티 3D 큐브를 생성하고 이동 및 회전해보기 (0) | 2018.11.04 |
5. 유니티3D Game View 알아보기 (0) | 2018.11.02 |
4. 유니티3D Scene View 알아보기 (0) | 2018.11.02 |
- Total
- Today
- Yesterday
- 유니티3D
- Spring
- Controller
- MVC
- 유니티로 배우는 C#
- 비지니스 로직
- VR
- Base Of Coding
- 뷰포리아
- Unity
- 스프링
- 프리젠테이션 로직
- 프로그래밍
- unity3d
- JSP
- 게임프로그래밍
- Next.js
- CSS
- Vuforia
- 서블릿
- 유니티
- Java
- c#
- Git
- Servlet
- 안드로이드
- spring boot
- GitHub
- HTML
- baseofcoding
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |