[Unity] C# 스크립트 기초

2021. 9. 12. 12:09·Game/Unity

★이 글은 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
'Game/Unity' 카테고리의 다른 글
  • [Unity] 유니티 미들웨어
  • [Unity] 룰렛, 화살표 돌리기
  • [Unity] Failed to create GICache directory at the default location 에러 해결 방법
  • [Unity] 단위, 오브젝트
Rix
Rix
  • Rix
    The Nights
    Rix
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (106)
      • 알고리즘 (5)
        • Python (1)
        • C++ (6)
      • CS (0)
      • Backend (20)
        • 로드맵 (1)
        • Java (17)
        • Spring (2)
      • TIL (0)
      • Flutter (13)
      • Python (7)
        • 디스코드 챗봇 (1)
        • 문법 (1)
        • 머신러닝 (2)
      • C (28)
        • 문법 (19)
      • ETC (2)
        • Git (2)
        • GitHub (1)
        • Hacking (4)
      • Game (13)
        • Unity (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    TensorFlow
    백준
    1546
    1152
    c언어
    미로찾기
    절대강좌유니티
    2차원 배열
    문자열 함수
    DART
    Unity
    nullsafety
    이중포인터
    공백포함
    C
    코뮤니티
    콘솔창
    Failed to create GICache
    이미지분류
    C심화
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
Rix
[Unity] C# 스크립트 기초
상단으로

티스토리툴바