[멋쟁이사자처럼부트캠프 Unity 게임개발 4기] 유니티 Editor Window 윈도우
·
공부/부트캠프
유니티 커스텀 윈도우(Custom Editor Window)는 유니티 에디터 내부에 사용자 정의 UI 창을 만들어 특정 기능을 구현할 수 있는 강력한 도구이다.게임 개발 중 반복 작업을 자동화하거나, 툴을 제작할 때 유용하다.Editor 라는 폴더를 만들어준다.using UnityEngine;using UnityEditor;public class EnemyDesignerWindow : EditorWindow{ [MenuItem("Window/Enemy Designer")] static void OpenWindow() { EnemyDesignerWindow window = (EnemyDesignerWindow)GetWindow(typeof(EnemyDesignerWindow))..
[Unity] 옵저버 패턴(Observer Pattern)
·
공부/Unity & C#
옵저버 패턴은 객체 간 1:N 의존 관계를 정의하여, 한 객체(Subject, 주체)의 상태가 변경될 때 이를 자동으로 여러 객체(Observer, 관찰자)에게 알리고 갱신하는 디자인 패턴이다. 1. 옵저버 패턴의 개념주체(Subject): 상태 변화를 감지하고 옵저버들에게 알리는 역할.옵저버(Observer): 주체의 상태 변화를 감지하고 동작을 수행하는 객체들.등록(Subscribe) / 해제(Unsubscribe): 옵저버는 주체에게 자신을 등록하거나 해제할 수 있음.📌 동작 과정옵저버가 주체에 등록(Subscribe)주체(Subject)는 옵저버(Observer)를 리스트로 관리.주체의 상태 변화 발생주체가 모든 옵저버에게 변경 사항을 알림각 옵저버가 전달받은 변경 사항을 기반으로 동작 수행2...
[Unity 2D]시네머신 카메라로 카메라 범위 제한하기
·
공부/Unity & C#
유니티 6버전입니다1. Window > Package Manager2. Cinemachine 설치하기3. Hierarchy창 우클릭 > Cinemachine > Targeted Cameras > 2D Camera4. 배경 오브젝트에 Box Collider 2D 추가 > Is Trigger 체크5. Cinemachine Camera의 Tracking Target에 Player 넣어주기(Player에 MainCamera를 넣어뒀다면 빼주기)6. Add Extension에서 Cinemacnine Confiner2D 선택7. Cinemacine Confiner 2D의 Bounding Shape 2D에 배경 오브젝트 콜라이더 넣기  결과 카메라가 배경 오브젝트의 범위 내에서만 이동한다.
[멋쟁이사자처럼부트캠프 Unity 게임개발 4기] 시네머신 카메라로 카메라 범위 조정하기
·
공부/Unity & C#
❗❗유니티 6버전입니다 ❗❗1. Window > Package Manager2. Cinemachine 설치하기3. Hierarchy창 우클릭 > Cinemachine > Targeted Cameras > 2D Camera4. 배경 오브젝트에 Box Collider 2D 추가 > Is Trigger 체크5. Cinemachine Camera의 Tracking Target에 Player 넣어주기(Player에 MainCamera를 넣어뒀다면 빼주기)6. Add Extension에서 Cinemacnine Confiner2D 선택7. Cinemacine Confiner 2D의 Bounding Shape 2D에 배경 오브젝트 콜라이더 넣기  결과 카메라가 배경 범위 밖으로 나가지 않는다전에는 코드로 범위를 지정해..
[멋쟁이사자처럼부트캠프 Unity 게임개발 4기] 13일차
·
공부/부트캠프
충돌처리 조건1. 두 오브젝트에 Collider가 있어야 함2. 둘 중 하나의 오브젝트라도 RigidBody가 있어야함 OnBecameInvisibleprivate void OnBecameInvisible(){ Destroy(gameObject);//객체 삭제}유니티에서 해당 오브젝트가 카메라 뷰에서 사라졌을 때 호출되는 메서드 MonoBehaviour의 내장 메서드렌더러가 카메라에 안 보이면 자동 호출주로 오브젝트 제거, 오브젝트 풀 관리, 최적화 처리에 사용카메라가 하나라도 오브젝트를 보고 있으면 호출 안 됨.Scene창도 카메라이므로 Scene창에서 오브젝트가 보이면 호출 안 됨..Scene창 도구 단축키 위에서부터 차례대로 Q,W,E,R,T,Y  InvokeRepeating  일정 시간 간격..
[멋쟁이사자처럼부트캠프 Unity 게임개발 4기] 12일차: 유니티 벡터
·
공부/부트캠프
using UnityEngine;public class MonoBehaviorExample : MonoBehaviour{ // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { Debug.Log("Start: 게임이 시작될 때 호출"); } // Update is called once per frame void Update() { Debug.Log("Update: 프레임마다 호출"); } private void FixedUpdate() { Debug.Log("..
[Unity2D] 유니티 페이드인/페이드아웃 + 눈깜빡임 연출
·
Unity 개발일지/[Unity2D]졸업프로젝트
오늘은 씬 전환 시 페이드인/아웃이 되는 코드를 작성하고추가적으로 눈을 깜빡이는듯한 연출을 구현해봤다.1. 결과물페이드인/페이드아웃 효과를 사용해서 주인공이 눈을 깜빡이며 깨어나는 장면을 연출했다. 1-1. AnimationCurve 사용 결과1-2. AnimationCurve 미사용 결과 2. 동작 설명참고 링크https://hereishyun.tistory.com/100https://youtu.be/N66nDi4Ij9k?si=UZHl95bLuNSyz8Xt 위의 영상을 참고하여 코드를 작성한 뒤,추가로 눈깜빡이는 연출이 필요해서 Blink 상태를 추가했다.그리고 Fade 함수에 fadeTime 매개변수를 추가하여함수를 호출할 때마다 다른 fadeTime을 적용할 수 있도록 하였다. 또한 씬 전환시, 페..
[Unity] 디자인패턴 : Singleton 싱글톤 패턴
·
공부/Unity & C#
싱글톤 싱글톤 패턴은 특정 클래스의 인스턴스를 하나만 생성하고, 어디에서든 그 인스턴스에 접근할 수 있도록 보장하는 디자인 패턴이다. 클래스가 자신의 인스턴스 하나만 인스턴스화할 수 있도록 보장여러개를 만들어도 하나만 남음해당 단일 인스턴스에 대한 손쉬운 전역 엑세스를 제공하나의 객체만 존재할 필요가 있을 때상태창게임 매니저오디오 매니저파일 관리자UI Settings등등안티 패턴으로 취급되기도 함양날의 검커플링 발생하기 쉬운 구조멀티스레드 환경에서는 동기화 처리가 필요테스트 및 디버깅이 불편생성 시점이 명확하지 않음=> 필요한 경우에만 주의해서 사용해야 한다. 싱글톤 코드using UnityEngine;public class SimpleSingleton:MonoBehaviour{ public static..
[개발일지]씬간 공유 데이터 관리
·
Unity 개발일지/[Unity3D]VR프로젝트
playerPrefs 사용하여 씬 전환 시에도 데이터 유지
[Unity2D] 14. 낙뎀(낙하 데미지) 추가(+버그 수정)
·
Unity 개발일지/[Unity2D]졸업프로젝트
2024.01.05 낙하 데미지 추가 이번에는 플레이어가 일정 높이 이상에서 떨어질 때 체력이 감소하는 낙하 데미지를 추가해 주었다. 기존의 Player 스크립트에 추가했다. Player float maxPosition = 0; //최고 높이 //... if (!anim.GetBool("isJumping")) //점프중이 아니고 { //(최고 높이 - 현지 높이) > 5이면 낙뎀 if (maxPosition - transform.position.y > 5) { life--; } if (life 5) { life--; if (life