2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

반응형

응용프로그래밍 119

[유니티기초]2-01.에셋스토어에서 2D 이미지 다운받아 적용하기

목표 1. 에셋스토어에 있는 이미지를 다운 받아 유니티에서 객체로 활용하는 방법을 알아 봅니다. 에셋스토어 접속하기 유니티의 Window -> Asset Store 클릭하면 다음과 같이 Asset Store 화면이 나타납니다. Search online 을 클릭해서 웹사이트 접속 카테고리에서 2D 와 Pricing 에서 Free Assets 를 선택해서 조회 한 후 원하는 애셋을 선택후 Add to My Assets 를 클릭 합니다. Accept 선택 후 유니티 열기를 클릭 유니티에서 Download 완료 후에 import 다시 한번 import Assets 를 확인하면 다운로드 된 패키지를 확인 할 수 있다.

[유니티기초]1-10. 카메라 이동

목표 플레이어가 움직이면 움직임에 따라 카메라가 움직이는 것을 스크립트로 처리 해 보자 실습 실습 전에 무료이미지 사이트에서 배경 화면을 다운받아 추가하자.( 카메라가 이동하면서 배경이 움직이는 것처럼 보이도록) 배경 추가후 order in layer 를 -1 로 처리해서 가장 뒤쪽으로 밀자. 카메라에 다음의 스크립트를 추가하자 . 1. position 을 변경하여 이동하는 경우 public class TraceScript : MonoBehaviour { public GameObject player; //추적할 게임 오브젝트 private Transform trace; //추적할 게임 오브젝트의 transform // Start is called before the first frame update vo..

[유니티기초]1-09. 객체 방향 전환

목표 플레이어를 앞과 뒤쪽을 바라 볼 수 있도록 방향 회전 하는 방법을 살펴 보자. 이론 Rotation 이 y가 0 인 경우 y가 180인경우 방향을 변경하는 것은 transform.rotation 값을 이용하여 변경한다. 이때 값은 Quaternion 값을 활용하는데 Quaternion.Euler를 이용하여 Euler(오일러)값을 변환하여 사용할 수 있다. 실습 왼쪽 방향키를 누르면 왼쪽을 바라보도록 처리하고 오른쪽 방향키를 누르면 오른쪽 방향을 바라보도록 처리하자. void Update() { // 수평과 수직 축 입력 값을 감지하여 저장 float xInput = Input.GetAxis("Horizontal"); //float zInput = Input.GetAxis("Vertical"); fl..

[유니티기초] 1-08.유니티 객체 삭제

목표 객체를 생성 한 후에 객체가 계속 남아 있으면 메모리를 계속 차지하게 된다. 따라서 객체가 사망하거나 없어지는 시점에 객체를 소멸해 주어야 메모리에서 해제 되므로 이러한 객체 삭제 함수에 대해 알아 보자. 이론 Destroy() : 오브젝트 삭제 함수로 매개변수에 입력 되어 있는 오브젝트를 삭제 하는 함수 매개변수 object : 삭제할 게임 오브젝트 Time : 지연 시간 실습 시작 할때 객체를 생성 후에 3초 후에 삭제 되는 프로그램을 작성해 보자. 2022.05.30 - [응용프로그래밍/유니티기초] - [유니티기초]1-06.스크립트를 이용하여 객체 생성 에서 생성한 객체를 3초 후에 삭제 되도록 코딩 해 보자. private void Awake() { //Quaternion.identity 회..

[유니티기초]1-07. Random.Range 를 이용하여 랜덤한 위치에 객체 생성

목표 Random.Range 를 이용하여 임의의 위치를 지정하여 객체 생성하는 법을 알아 보자. 실습 1. 먼저 오브젝트가 생성되는 위치와 범위를 결정하기 위해 객체 생성(Square 생성하여 크기를 x:20,y:10 ) 2. 생성할 객체(Circle)를 추가하여 프리팹으로 설정 3. 오브젝트가 Square 내에서 임의의 장소에서 생성 할 수 있도록 다음과 같이 스크립트를 추가하자. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ObjectSpawner : MonoBehaviour { public GameObject circle; // Start is called before the fi..

[유니티기초]1-06.스크립트를 이용하여 객체 생성

목표 스크립트에서 Instantiate() 함수를 이용하여 필요할 때 객체를 생성하는 방법을 익혀 보자. 이론 게임에서 객체를 생성하기 위해서는 원본을 이용하는 것이 아니라 프리팹(Prefab)을 이용하여 생성하게 된다. 1. 프리팹(Prefab)이란? 게임에 존재하는 게임오브젝트를 Project View 에 파일로 저장해 둔것. 만드는 방법은 Hierarchy 에 있는 게임 오브젝트를 Project View로 드래그&드롭 하면 게임오브젝트가 파란색으로 변경이 된다. 하이어라키의 Circle을 프리팹으로 만든 모습 2. Instantiate 의 매개변수 GameObject : 생성할 프리팹 객체 Vector3 : 생성할 위치 Quaternion : 생성할 때 바라보는 방향 이렇게 만들어진 Circle 프..

[유니티기초]1-05. 프레임에 따라 update 되는 속도가 다른 것을 어느 컴퓨터에서나 동일한 속도를 보장 하는 deltaTime

목표 스크립트의 update() 는 화면 처리속도에 따라 다른 속도로 처리 되는 것을 확인하고 이것을 동일한 속도로 처리 할 수 있는 deltaTime 을 활용하는 방법을 알아 보자. 이론 스크립트의 Update는 컴퓨터의 프레임에 따라 반복 되는 횟수가 다릅니다. 가령 초당 프레임이 30FPS 인 컴퓨터와 60FPS 인 컴퓨터가 있다면 update 에서 총알이 한번 방문할때 10m 씩 날아 간다면 초당 프레임이 30FPS인 컴퓨터에서는 초당 30m 를 날아가게 되고 60FPS인 컴퓨터는 60m를 날아가게 됩니다. 이렇게 프레임 속도에 따라 동작이 달라진다면 문제가 있을것 같네요. 오늘은 deltaTime 을 이용해서 속도를 보정하는 방법을 알아 보겠습니다. 실습 프로젝트는 https://thinkmat..

[유니티기초] 1-04. 게임오브젝트 충돌 처리

목표 충돌에 관련된 Collider 에 대해 알아 보자. 이론 OnCollisionEnter2D : 두 오브젝트가 충돌하는 순간 1회 이벤트 발생 OnCollisionStay2D : 충돌해 있는 순간 계속 발생 OnCollisionExit2D : 두 오브젝트의 충돌이 종료되는 순간 1회 발생 실습 1. Collider : 충돌 범위 - 속성 Material : 해당 오브젝트의 마찰력 등을 설정 할 수 있는 물리 메터리얼 등록 가능 Is Trigger : 체크 되었을 때 통과하면서 충돌 이벤트 발생, 체크되지 않으면 통과 되지 않음 Offset : 충돌 범위의 중심점 위치 Size : 충돌 범위 크기 Used By Composite : 콜라이더를 그룹으로 통합할 때 체크 2. 객체 생성하여 테스트 해 보자..

반응형