공부/Unity

24.03.05

월러비 2024. 3. 5. 23:28

0. 생성한 스크립트

  • print : hello world 띄우기
  • variable : 여러 자료형 변수 선언 및 출력 / 오브젝트 우측으로 이동시키기
  • Bit : 비트연산 및 출력

 

1. 유니티 설정(레이아웃 저장, 오브젝트 생성 좌표 고정, 씬 빠르게 열기)

  • 원하는 창 배치후 Window -> Layout -> Save Layout 클릭
  • 레이아웃 설정을 다른 컴퓨터에도 사용하고 싶다면 Window -> Layout -> Save Layout to File 클릭
  • 오브젝트 생성 좌표 고정하는 법 : Edit -> Preferences -> Scene View -> Create Objects at Origin 체크 => 오브젝트가 (0,0,0)으로 고정된다.
  • 유니티 프로젝트 빠르게 여는법 : 프로젝트가 저장된 폴더 -> Assets -> Scenes -> 유니티 아이콘의 열고싶은 씬을 클릭한다.

 

2. 비주얼 스튜디오 설정(스크립트 생성 틀 고정하기)

  • C드라이브 -> Program Files -> Unity -> HUB -> Editor -> 사용하는 에디터 폴더 -> Editor -> Data -> Resoureces -> ScriptTemplates -> 81-C# Script-NewBehaviourScript.cs
  • 잘못 건드리면 수정하기 힘드니 백업을 해두고 저장하는게 좋다.
  • start함수만 남기고 안보는 주석과 Update는 지운다.

비주얼 스튜디오 설정 고정

 

3. 변수 자료형

3-1 정수형 변수

데이터 형식 크기 범위
sbyte 부호 있는 8비트 정수 (1byte) -128 ~ 127
byte 부호 없는 8비트 정수 (1byte) 0 ~ 255
short 부호 있는 16비트 정수 (2byte) -32,768 ~ 32,767
ushort 부호 없는 16비트 정수 (2byte) 0 ~ 65,535
int 부호 있는 32비트 정수 (4byte) -2,147,483,648 ~ 2,147,483,647
uint 부호 없는 32비트 정수 (4byte) 0 ~ 4,297,967,295
long 부호 있는 64비트 정수 (8byte) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
ulong 부호 없는 64비트 정 (8byte) 0 ~ 18,446,744,073,709,551,615

 

3-2 실수형 변수

데이터 형식 크기 범위
float 32비트 (4바이트) / 소수점 6자리까지 -3.402823e38~3.402823e38
double 64비트 (8바이트) / 소수점 14자리까지 -1.79769313486232e308~1.79769313486232e308 
decimal 128비트 (16바이트) / 소수점 28자리까 -79228162514264337593543950335~79228162514264337593543950335

 

3-3 문자형 변수

데이터 형식 크기 범위
char 16비트 (2바이트) 문자 문자
string 16비트 문자열 문자열

 

3-4 논리형 변수

데이터 형식 크기 범위
bool 8비트 (1바이트) 참(true) 혹은 거짓(false)
int a = 10;
int b = 20;

print("b = " + b);
print("a = " + a);


b = 30;
int c = a + b;
print("c = " + c);

 

4. 비트 정리

  • bit -> 2에 1승
  • 1 Byte -> 8 bit -> 2에 8승 -> 256
  • 1024 Byte -> 1 KByte / 1024 KByte -> 1 MByte

 

5. 진수 정리

  • 2진수 : 0과 1로 수를 표현한다. 10진수로 변환할 때 1 2 4처럼 2승으로 커진다. ex) 0000 0101 = 5
    • 10진수를 2진수로 변환한다면 몫과 나머지를 계산해서 마지막에 나온 몫이 제일 왼쪽, 마지막에 나온 나머지가 제일 오른쪽으로 온다. ex) 175 = 101011111
  • 8진수 : 0 ~ 7로 수를 표현한다. 10진수로 변환할 때 각 자리수에 8의 0승부터 곱한다. ex) 35 = 8의 1승 * 3 + 8의 0승 * 5 = 29
    • 8진수도 2진수와 같이 변환한다.
  • 16진수 : 0 ~ 9와 문자 A ~ F로 10 ~ 15를 표현한다. 10진수로 변환할 때 각 자리수에 16에 0승부터 곱한다.
    • 16진수도 2진수와 같이 변환하지만 10은 A, 15는 F로 놓는다.
    • 0X00이 있을때 0은 한칸에 4bit이고 8칸에 8bit = 1Byte => 1111 1111 = FF = 255이니 0 ~ 255까지 256개의 수가 표현된다. 

16진수 그림

6. 논리 / 비트 연산

int num = 6; //0000 0110
int num2 = 12; //0000 1100

int result = 0;

result = num & num2; //And 0000 0100
print("& = " + result);

result = num | num2; //OR 0000 1110
print("| = " + result);

result = num ^ num2; //XOR 0000 1010
print("^ = " + result);

result = ~num; //Inverse 값 반전 
print("~ = " + result);

result = num << 2; //Left Shift
print("<< = " + result);

result = num >> 2; //Right Shift
print(">> = " + result);

논리연산 / 비트연산 결과

 

7. 오브젝트 이동(Time.deltaTime)

  • Time.deltaTime : 한 프레임 당 실행하는 시간 - float 형태로 반환 (단위 : 초)
    • 넣는 이유 : 성능에 상관없이 실행시간당 격차를 없애기 위해 사용한다.
    • 이동이나 회전 등 움직임에 있어서 시간의 영향을 받는 기능을 만들 때는 값에 deltaTime을 곱해서 흘러간 프레임 시간만큼만 가중치를 줌으로써 프로세서 속도의 영향에서 자유로워 지게 된다.
  • 오브젝트를 이동시킨다면?
    • 1. 스크립트를 넣을 오브젝트의 좌표를 가져온다.
    • 2. 좌표에 이동시키는 힘을 넣어 새로운 좌표를 만든다.
    • 3. 바뀐 좌표를 오브젝트에 넣는다.
public float speed = 0.1f; // 멤버 변수 (클래스 내부에 생성된 변수)

private void Update()
{
    float x = transform.position.x; //오브젝트 트랜스폼 컴포넌트의 포지션 컴포넌트 = 위치의 x좌표를 가져다가 x 변수에 넣었다.
    x = x + speed * Time.deltaTime; //Time.deltaTime = 이전 프레임과의 시간 변화량(이동, 회전 등 물리좌표를 움직일떄 반드시 넣는다.) / 수학에서 delta는 기울기를 의미한다. => 기울기는 변화량(y변화량 / x변화량)을 의미한다.
    transform.position = new Vector3(x, 0, 0); //0.1값을 넣은 x를 좌표에 넣었다.
}

'공부 > Unity' 카테고리의 다른 글

24.03.11  (0) 2024.03.11
24.03.08  (1) 2024.03.08
24.03.07  (0) 2024.03.07
24.03.06  (3) 2024.03.06
24.03.04  (0) 2024.03.04