TIL

2024 08 23 TIL

noc777 2024. 8. 23. 20:10

강의 1-9까지 진행

 

1-3 애니메이션 만들기

 

1.애니메이션을 넣을 폴더 생성

 

2.Create->Animation 으로 애니메이션 파일 생성(이름은 Rtanidle로 명명)

 

3.Inspecter 창의 Loop time 체크 (계속해서 반복적으로 수행)

 

4.Hirearchy창의 Rtan 오브젝트를 선택하고 만들어둔 애니메이션 파일을 드래그 앤 드롭해서

inspector 창에 넣음 

 

5.Project의 Rtanidle을 더블 클릭하여 animation창을 오픈

(window->animation->animation으로도 가능)

 

6.Rtan 오브젝트 클릭

 

7.삽화 이미지인 르탄이1을 눈금이 0에 가 있는 곳에 삽입 

 

8.눈금을 10으로 옮기고 ( animation창 왼쪽 상단의 빈칸에 기입하는것도 가능)

눈금이 있는곳에  르탄이2를 삽입 또한 20으로 옮기고 다시 르탄이 1을 삽입

 

1-4 캐릭터 움직이기

 

본격적으로 코딩을 활용하기 시작함

 

1.Project의 Assets 폴더에 c#파일 생성

Creat->C# script (Rtan으로 명명)

2.Script 파일을 모아둘 Scripts 폴더 생성 후 Rtan 파일을 집어넣음

3.Hirearchy의 Rtan 오브젝트를 클릭 후 inspector 창에 C#스크립트 파일(Rtan)을 드래그 앤 드롭

4.Rtan 스크립트 파일을 더블클릭하여 코딩

스크립트는 class라는 단위(스크립트 하나당 클래스 하나)

Debug.log(""); 유니티 콘솔창에 텍스트 출력

 

5. Scene 창의 도구에서 2번째 도구로 Rtan 오브젝트가 움직일 x축을 측정 좌우2.4 -2.4

 

6.Rtan 오브젝트를 움직이기 위해서 x축의 값을 변경하는 코딩

void 뒤의

starts는 딱 한번만 수행

update는 컴퓨터의 프레임을 기준으로 반복해서 출력

 

transform.position += new Vector3(1f,0,0);

오브젝트의 포지션값을 변경

포지션 값을 x,y,z축을 하나하나 변경할 수 없기에 new Vector3를 사용

 

매번 x y z축을 적기 힘들수 있으므로

transform.position +=  Vector3.right 처럼 사용하기도 한다. (이경우는 x축이 1씩 더해짐 left는 -1)

 

7.Rtan 오브젝트가 움직이는 속도가 컴퓨터의 성능마다 다르기에 프레임을 조절 

함수 Void start()안에 

Application.targetFrameRate=60;

작업이 수행중에 1초에 60번만 수행되도록 조절

 

8. 오브젝트가 움직이는 속도를 느리게 연산

transform.position += Vector3.right * 0.05f;

0.05배 만큼 느려짐

 

9.Rtan 오브젝트가 벽에 닿을 시 다시 되돌아가도록 코드 변경

public clss Rtan:MonoBehaviour

{

     float direction=0.05f

 

    void start()

    {

       Application.targetFrameRate = 60;

     }

    void Update()

    {

       transform.position += Vector3.right * direction

     }

.

}

float direction = 0.05f; 라는 변수를 선언

 

10.  if문을 사용하여 조건을 입력 Rtan이 화면의 벽에 닿는다면 이동방향을 변경

if(transform.position.x>2.6f)    (Rtan 오브젝트의 x값이 2.6보다 커진다면)

{

direction=-0.05f;

}

(direction의 값을 -0.05f로 변경 )

if(transform.position.x<-2.6f) (Rtan 오브젝트의 값이 -2.6보다 작아진다면)

{

direction=0.05f

}

(direction의 값을 0.05f로 변경)

 

11. Rtan이 이동방향을 바꿀때 보는 방향도 바꾸도록 코딩

inspector -> sprite Renderer -> Flip 기능을 사용하여 오브젝트의 좌우 상하 반전가능

 

Unity의 기능을 C#스크립트로 불러오기 위해

SpriteRenderer renderer;   renderer라는 변수를 선언

 

Void Start()안에

renderer = GetComponent<SpriteRenderer>();  Unity의 컴포넌트의 기능을 가져옴

 

if(transform.position.x>2.6f)

{

   renderer.flipX = false;     (컴포넌트의 Flip 기능을 키고 끌 수있음  true 킴 false 끔)

   direction=-0.05f

}

컴포넌트의 Flip의 좌우반전 기능을 사용

 

12.플레이어가 조작하는 타이밍에 오브젝트의 좌우전환 

if ( input.GetMouseButtonDown(0))     마우스를 클릭했을때의 조건  (0은 왼쪽버튼 1은 오른쪽 버튼 등등)

{

     direction *=-1;       변수 direction에 음수를 곱함으로서 x축의 이동방향을 바꿀 수 있음

     renderer.flipX= !renderer.flipX;   현재 flip 이 true 면 false  false 면 true로 전환

}

 

양이 많으므로 1-5는 내일 복습 후 다시 정리 

'TIL' 카테고리의 다른 글

2024 08 28 TIL  (7) 2024.08.28
2024 08 27 TIL  (0) 2024.08.27
2024-08-26 TIL  (0) 2024.08.26
2024 08 24  (0) 2024.08.24
2024 08 22 TIL  (0) 2024.08.22