Unity 19

Animation Event 함수 등록 (+발생 가능 에러)

애니메이션을 만지다보면 Event 함수를 등록 할 일이 생긴다.  ▶ 애니메이션 Event 함수란?어떤 애니메이션의 특정 프레임에 함수를 호출 시킬 수 있는 것 몬스터의 공격 애니메이션 실행 중 박콜이 들어있는 골렘의 손이 플레이어를 두번 지나치게 되서 피가 2번깎임. 나는 골렘의 1번의 공격 애니메이션에 피가 깎이게 하고 싶은데 플레이어가 골렘의 손에 닿을 때 피가 깎이도록 코드를 구현 해서 피가 2번 깎이게 됐다. void OnTriggerEnter(Collider col) { if (col.CompareTag("Player")) { PlayerController.instance.ReduceHP(10); } } ★ 이럴 때 사용..

Unity/Animation 2025.03.10

빌드 시 Gradle 에러 해결방법

열심히 개발하고 빌드해서 테스트 해볼려 했더니 갑자기 이런 에러가.. GPT 한테 물어보고 이것저것 다 해봤지만 계속 안됐다.뭐.. 대충 이런 에러라는데 잘 모르겠고 그냥 Gradle이라는게 문제인거같다. 그래서 Gradle이 무엇이냐...🔹 Gradle 핵심 개념 정리✅ 1. Gradle의 의미빌드 자동화 도구Java, Kotlin, C++, Android 등 다양한 프로젝트의 컴파일, 빌드, 테스트, 배포를 자동화✅ 2. Gradle의 역할코드 컴파일 & 패키징 → 소스 코드 → .apk 또는 .aab 파일 생성의존성(Dependency) 관리 → 필요한 라이브러리 자동 다운로드멀티플랫폼 지원 → 다양한 언어(Java, Kotlin 등)와 연동 가능빌드 속도 최적화 → 캐싱 및 병렬 실행으로 빠른 ..

Unity/에러해결 2025.02.24

Photon 포톤을 사용한 멀티서버(총게임기준)

포톤 개요포톤네크워크 게임 엔진은 이미 성능이 검증되었고 많은 레퍼런스 보유- PUN(Photon Unity Networking) : 멀티플레이어 게임용 유니티 패키지■100명의 동시접속자까지 무료 서비스  ●포톤 리얼타임다양한 개발 플랫폼에 맞춰진 포톤의 핵심 코어 엔진낮은 지연을 보장하고 빠른 데이터 전송을 보장. 클라이언트 들끼리의 데이터 동기화를 실시간으로 처리매칭 시스템 : 로비와 룸을 관리  ●포톤 클라우드이 엔진을 바탕으로 클라우드 서비스를 제공하는 것으로 서버의 보안, 로드 밸런싱, 백업 및 네트워크 트래픽 관리등을 서비스 함사용자에게 가까운 서버로 연결●포톤 서버클라우드 기반의 Photon Cloud 와 달리, Photon 서버는 직접 호스팅 할 수 있어서 서버 환경에 대해 전반적인 제어..

Unity/멀티서버 2024.10.28

캐릭터 이동(Input System)

Input System의 핵심 개념 ● Action(액션) : 게임 내의 행동, 동작을 의미  ▪ 캐릭터의 이동, 회전, 점프, 공격, 방어 등이 모두 Action에 해당  ▪ 액션들에 해당하는 실제 매핑할 조작 방법을 정의 : 키보드, 마우스 등 정의● Binding : Action을 실제 물리적인 입력 장치와 매핑하는 것을 말함  1. 첫번째 방법 : 레거시 Input 클래스키보드, 마우스, 터치, 게임 패드와 같은 외부 입력 장치의 입력 값을 미리 정의해두고 코드에 직접 해당 디바이스로부터 입력값이 있는지를 확인하는 방식ex)float h=Input.GetAxis("Horizontal"); 문제점 : 다양한 입력 장치로의 전환의 어려움ex)게임패드/모바일 디바이스/햅틱 디바이스 등◦ 이동 및 점프와..

Unity/캐릭터 2024.10.26

오클루전 컬링

렌더링 부하를 줄이는 다양한 컬링 중 오클루젼 컬링 기능 ●◦  1. Main Camera 선택2. OfV(Field Of view) : 60 Degree3. Near Plane / Far Plane4. Frustum  ● 프리스텀 컬링(거리 비례에 의해 의한 컬링)●오클루전 컬링- 프리스텀 컬링은 프러스텀 영역에 들어온 모든 물체를 렌더링 함- 렌더링 영역에 들어왔다 하더라도 카메라로부터 너무 멀리 떨어져 사람이 식별하기 어려울 땐 굳이 렌더링 X- 이 방식은 LOD(를 이용해 일정 거리 밖의 물체는 컬링 시킴-카메라 시야에서 다른 물체에 가려 보이지 않는 물체를 렌더링 하지 않는 기법->두개의 건물이 시야에서 보이지 않기 때문에 렌더링 X ●오클루전 컬링 실습 1. 1개의 평면 위에 3개의 사이즈 다..

Unity 2024.10.26

씬 관리(분리된 씬 한번에 불러오기)

● 씬 분리 목적◦협업 시 분야별로 분리해 개발을 진행 한 후 합칠 수 있음ex.UI씬, Level씬, 게임 로직 씬 -> 합쳐서 게임으로 using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI; //Unity UI를 사용하기 위해 선언using UnityEngine.Events; //UnityEvent 관련 API를 사용using UnityEngine.SceneManagement;public class UIManager : MonoBehaviour{ //버튼을 연결할 변수 public Button startButton; public Button optionButton; ..

Unity 2024.10.25

Navigation 고급 기법(계단, 지형지물)

동적 장애물 처리● 동적 장애물 처리(NavMeshObstacle)- 장애물이 사라질 시 해당 지역을 장애물로 그대로 인식 문제 -> 동적 장애물 활용  ● 동적 장애물 처리하는 방법:Navigation Static 언체크 후 Nav MEsh Obstacle 컴포넌트 추가 ● Carv 속성 지정- 촘촘히 세워져 있는 오브젝트들이 있을 때 적이 그걸 뚫고 지나오는 것이 아닌 멀리 돌아서 추적하는 형태로 만드는 방법- Carve 옵션 체크 ->실시간으로 메쉬가 변경(단 시스템의 부하가 큼)됨. 촘촘히 세워져 있는 오브젝트들을 우회해서 감.Move Threshold : 속상값의 거리만큼 이동했을 때 메시를 갱신                            ㄴ최소 이동 거리, Move Threashold 보..

Unity 2024.10.22

RayCast(Ray방식)

RayCasting 정의●Ray 방식 : Projectile 방식과는 달리 눈에 보이지 않는 광선(Ray)를 쏘아서 해당 광선에 맞은 물체가 적인지 여부를 판단한 뒤 여러가지 후처리를 하는 방식 VR에서는 마우스와 같은 표준 입력X, 컨트롤러를 사용하므로 RayCasting 필수  ●DrawRay - RayCast는 Scene View에서 시각적으로 표시되지 않음. 개발 할 땐 DrawRay 함수를 이용해 시각적으로 표시하며 개발 해야 함- (광선) RayCast가 어떤 객체를 감지(충돌)하기 위해서는 콜라이더 컴포넌트가 있어야 함.void Update(){ //Debug.DrawRay(firepos.position, firepos.forward * 10.0f, Color.green);} ●RayC..

Unity 2024.10.22