★이 글은 Youtube 헬로소프트님의 강의를 보고 정리한 내용이다. (링크 첨부)
https://youtube.com/playlist?list=PL8aaomHR8_d7fcWSd5lzZasYcG2pMSppk
유니티3D 강의 녹화본 2D/3D/VR/AR 제작
전북VRAR제작거점센터에서 2020년 8월에 진행된 VRAR전문인력 양성과정 강의 녹화본
www.youtube.com
<C# 스크립트 파일 만들기>
2가지 방법이 있다.
1. +버튼으로 C# 스크립트 추가
2. Project Assets 창에서 마우스 오른쪽 클릭하여 C# 스크립트 추가(create > C# script)
※ C# 스크립트를 추가하면 바로 이름을 바꿀 수 있도록 나오는데, 이때 바로 바꿔주기!
안 그러면 오류가 난다.
그리고 맨 앞글자는 꼭 대문자로! 소문자로 만들면 인스펙터 창에는 대문자로 뜨기 때문에 헷갈림 방지.
+ C# 스크립트 실습에 앞서, Visual Studio 설정을 하려고 한다.
1. 상단 메뉴의 Edit > Preferences > External Tools
2. External Scrip Editor를 Visual Studio로 설정.
3. Player projects를 제외하고는 다 체크 표시해주고, Regenerate project files 클릭
<C# 스크립트 기초 실습>
만들어준 C# 스크립트 파일을 더블 클릭
#1 void Start
1. 아래와 같이 작성 후, 실행
--> 콘솔 창에 아무것도 안 뜨게 된다. C# 스크립트가 Object에 할당이 되어야 한다.
C# 스크립트를 Object나 인스펙터 창에 드래그&드랍 해주면 된다.
2. 실행하면 다음과 같이 뜬다.
#2 void Update
void Update()
{
if (Input.GetKeyDown(KeyCode.RightArrow))
{
transform.Translate(1, 0, 0);
}
}
위와 같이 적고, 실행하면 오른쪽 방향키를 눌렀을 때 오른쪽으로 1 유닛씩 이동하는 것을 확인할 수 있다.
- Input은 키보드나 마우스의 입력을 받는 클래스
- GetKeyDown은 키보드가 눌렸을 때.
- transform.Translate(1, 0 ,0); 괄호 안에 있는 것은 차례대로 x,y,z 좌표이다.
- GetKeyDown이 아니라 GetKey만 하면 누르고 있으면 계속 작동한다.
하지만, 이때는 1초에 60을 이동하므로 좌표 이동을 더 작게 설정해줘야 한다. (소수점이 나오면 숫자 뒤에 f추가해줘야 함.)
예시는 다음과 같다.
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Translate(0.1f, 0, 0);
}
#3 마우스 이동
else if (Input.GetMouseButton(0)) // 마우스를 누르고 있는 동안, 계속 오른쪽으로 이동한다.
{
transform.Translate(0.05f, 0, 0);
}
<스크립트>
- 스크립트 파일을 열면 코드가 기본으로 담겨 있다.
- public class (파일명) : MonoBehaviour { }
MonoBehaviour이 없으면 오브젝트와 실행되지 않는다.
- void Start()는 실행 시, 딱 한번 실행된다.
- void Update()는 매 프레임마다 실행된다. 기본적으로 1초에 60 프레임.
- 나머지 문법들은 C랑 똑같음
'Game > Unity' 카테고리의 다른 글
[Unity] 유니티 미들웨어 (0) | 2021.09.14 |
---|---|
[Unity] 룰렛, 화살표 돌리기 (0) | 2021.09.12 |
[Unity] Failed to create GICache directory at the default location 에러 해결 방법 (0) | 2021.09.08 |
[Unity] 단위, 오브젝트 (0) | 2021.09.07 |
[Unity] 저장하는 방법 (0) | 2021.09.07 |