Animator 파라미터Float: 실수형 값Int: 정수형 값Bool: 참/거짓 값Trigger: 단발성 이벤트예시isRunning (Bool) → 달리기 상태Speed (Float) → 이동 속도Jump (Trigger) → 점프 이벤트 전이 조건(Transition) 설정Make Transition조건 설정Transition을 선택한 뒤 Inspector 창에서 Conditions 섹션 추가앞서 정의한 파라미터를 조건으로 설정 예시 조건Speed > 0.1 → Idle에서 Run으로 전환isRunning == true → Walk에서 Run으로 전환 기능 정의 (스크립트로 제어)스크립트에서 애니메이터를 불러오기 Animator 컴포넌트 연결 스크립트를 컴포넌트에 추가한 후 코드를 작성한다.// ..
2D 픽셀 기반 게임을 제작할 때 타일맵을 활용하면 작업을 효율적으로 할 수 있다, Window > 2D > Tile Palette 경로에서 타일 팔레트 창을 열어준다. 새 그리드를 생성해준 뒤 스프라이트를 드래그해서 올려놓으면 브러쉬처럼 사용할 수 있다. 브러쉬를 눌러서 게임뷰에서 그리고 지우개를 눌러서 게임뷰에서 불필요한 이미지는 지울 수 있다. 브러쉬 크기가 그리드에 맞지 않을 경우 스프라이트 이미지 크기에 맞게 Pixels Per Unit을 수정해주면 된다.
벨트스크롤 게임에서 활용할 수 있는 이미지 스크롤 스크립트 스크롤 메커니즘배경을 왼쪽으로 계속 이동시키기transform.position += Vector3.left * moveSpeed * Time.deltaTime;Time.deltaTime를 사용하여 프레임 속도에 관계없이 부드럽게 이동한다. 위치 초기화if (transform.position.x 배경이 -posX보다 왼쪽으로 이동했는지 확인한다. 오른쪽 가장자리(posX)로 위치를 초기화하여 루프 효과를 만든다. using System.Collections;using System.Collections.Generic;using UnityEngine;public class BackgroundScroll : MonoBehaviour{ [Serial..
C# 문자열 보간(String Interpolation)C# 6.0부터 도입된 기능으로, 문자열 내부에 변수를 쉽게 삽입할 수 있는 방법이다.$ 기호를 문자열 앞에 붙이면, 중괄호 {} 안에 변수를 넣어 값을 직접 삽입할 수 있다.int score = 100;string playerName = "Alice";Debug.Log($"Player: {playerName}, Score: {score}"); 기존 방식과의 비교문자열 연결(Concatenation)Debug.Log("Player: " + playerName + ", Score: " + score);string.Format() 사용Debug.Log(string.Format("Player: {0}, Score: {1}", playerName, sc..
캡슐화(Encapsulation)객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나로,데이터(변수)와 해당 데이터에 작용하는 메서드(함수)를 하나의 단위(클래스)로 묶고,외부에서 직접 접근을 제한하는 것 캡슐화의 핵심 원칙데이터 은닉(Data Hiding)객체의 내부 상태(변수)를 외부에서 직접 접근하지 못하도록 제한주로 private 접근 제한자를 사용한다.정보 보호(Protection)외부에서는 반드시 제공된 메서드(getter/setter)를 통해서만 내부 데이터를 읽거나 변경할 수 있다. 인터페이스 제공(Abstraction)외부에서는 내부 구현 세부사항을 알 필요 없이, 필요한 기능만 사용할 수 있다. 캡슐화 예제using UnityEngine;public class Player : Mono..
[SerializeField]유니티에서 Private 변수를 인스펙터 창에서 노출할 수 있도록 하는 속성이다.using System.Collections;using System.Collections.Generic;using UnityEngine;public class test01 : MonoBehaviour{ [SerializeField] private int health = 100; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { }}// private 접근 제한자: 변수는 클래스 ..