251105
·
📖TIL
public class Test : MonoBehaviour{ void Update() { float h = Input.GetAxis("Horizontal"); if(Input.GetKey(KeyCode.A)) { Debug.Log("발사 로직"); } // 기존 : A 키가 눌리면? "공격"을 수행해라 // 변경 : "공격" 을 정의한다. 그리고 이걸 수행하기 위한 키나 버튼을 "등록" // "S" 키가 눌리면 후진해라 // "후진" 을 수행하기 위한 키 지정 }}using System.Collections;using System.Collections.Generic;u..
251104
·
📖TIL
namespace ConsoleApp3{ // 람다식 , => , 익명함수 가독성 , 간결하게 하려고 , 인스턴스 함수 // (입력값) => {함수의 동작} // => "이 매개변수 가지고 이런 동작을 하겠다" 는 의미 // {함수의 동작}: 실행할 코드 internal class Program { int GetNumber() { return 42; } // ()=>42 void PrintNum(int x) { Console.WriteLine(x); } // x => Console.WriteLine(x); // 델리..
어제 작성한 코드 역설계 및 풀이
·
📖TIL
using System.Collections;using System.Collections.Generic;using UnityEditor.UI;using UnityEngine;using TMPro;/// /// 위로 천천히 이동하며 사라지는 플로팅 텍스트/// public class FloatingText : MonoBehaviour{ [Header("References")] [SerializeField] private TextMeshProUGUI _text; private RectTransform _rect; [Header("Motion")] [SerializeField] private float _lifeTime = 1.5f; [SerializeField] private..
Collider
·
🧊Unity Basic/물리&충돌
Collider ( 콜라이더 )Collider 는 유니티에서 물리 충돌 ( Physics Collision ) 을 감지하기 위한 보이지 않는 경계이다.오브젝트의 모양이 아니라 물리적으로 어디까지 충돌로 인식할지를 정의하는 컴포넌트이다. 역할충돌 감지 ( Detection ) : 두 개의 Collider 가 맞닿으면 Unity 의 물리엔진이 충돌 이벤트를 계산한다충돌 처리 ( Response ) : Rigidbody 가 포함되어 있다면 , 충돌 시 반응 ( 튕김 , 멈춤 등 )을 실제로 적용한다.트리거 감지 ( Trigger ) : isTrigger 를 켜면 물리 반응 없이 충돌 진입 / 이탈 이벤트만 감지할 수 있다.└ OnTriggerEnter , OnTriggerExit , OnTriggerSta..
자주 쓰는 예시 코드
·
🧊Unity Basic/벡터 ( Vector )
자주 쓰는 예시 코드Vector3 dir = (target.position - transform.position).normalized;float dist = Vector3.Distance(target.position, transform.position);Vector3 move = Vector3.Lerp(startPos, endPos, Time.deltaTime);Vector3 reflect = Vector3.Reflect(incoming, normal); 1. 방향 벡터 구하기Vector3 dir = (target.position - transform.position).normalized;target.position - transform.position└ 현재 오브젝트에서 목표 ( target ) 까지..
Vector3 주요 속성
·
🧊Unity Basic/벡터 ( Vector )
Vector3 의 주요 속성 / 메서드Unity의 Vector 3 구조체에 포함된 대표적인 벡터 연산 속성 / 함수들을 정리한다. 기본 속성이름설명x , y , z벡터의 각 축 성분 ( float )magnitude벡터의 길이 ( 크기 )sqrMagnitude길이의 제곱값 ( 성능 향상을 위해 √ 계산 없이 사용 )normalized길이가 1인 방향 벡터 변환zero( 0 , 0 , 0 ) 벡터one( 1 , 1 , 1 ) 벡터up , down , left , right , forward , back단위 방향 벡터들 ( 기준 좌표계 방향 ) 기본 연산 메서드함수설명Normalize( )자기 자신을 정규화 ( 길이를 1로 만든다 )Set ( x , y , z )각 축의 값을 지정ToString( )문자..
Render Mode
·
🧊Unity Basic/씬 ( Scene )
렌더 모드 ( Render Mode )Unity의 Canvas 컴포넌트의 Render Mode 설정 부분이다.UI ( Canvas ) 가 화면에 어떻게 , 어디 기준으로 렌더링될지를 결정하는 핵심 옵션이다. Render ModeCanvas의 UI를 어떤 좌표계와 방식으로 그릴지 정하는 옵션이다모드 이름설명대표 사용 예시Screen Spcae - OverlayUI가 화면 전체 위에 직접 그려진다.카메라와 관계없이 항상 화면 정중앙 기준으로 표시된다.메뉴 , HUD , 체력바 , 점수표 등Screen Space - CameraUI가 지정된 카메라 앞 평면에 그려진다.카메라 거리( Plane Distance )에 따라 표시 크기가 달라진다3D 공간 속 UI 처럼 연출할 때 ( 게임 월드 안의 HUD )Wor..
Linear & Gamma
·
🧊Unity Basic/씬 ( Scene )
Linear & GammaUnity의 Color Space 설정에서 Linear 와 Gamma는빛 ( 조명 , 색상 , 쉐이딩 계산 방식 ) 을 어떻게 처리할지를 결정하는 중요한 렌더링 옵션이다.화면에 색이 얼마나 현실적으로 표현되느냐에 영향을 준다.구분LinearGamma계산 방식색상을 물리적으로 정확한 선형 공간 ( Linear Space ) 에서 계산 후 최종적으로 감마 보정색상을 인간의 눈 기준으로 감마 보정된 공간에서 직접 계산결과 색감실제 조명 반사나 광원 효과가 더 자연스럽고 부드럽다밝고 대비가 강하게 보인다사용 환경PC , 콘솔 , HDR , PBR ( 물리 기반 렌더링 ) 그래픽에 적합하다예전 게임 , 모바일 , 저사양 환경 Linear 가 현실적인 이유빛의 세기나 반사는 물리적으로 선..
Unity Invoke & C# Invoke
·
🧊Unity Basic/코루틴&이벤트
Unity Invoke & C# InvokeInvoke 는 유니티에서 제공하는 것과 C# 에서 제공하는 것이 전혀 다른 기능이다.이름은 같지만 역할과 작동 방식이 완전히 다르다. Unity의 Invoke소속 : MonoBehaviour 클래스 ( Unity 전용 기능 )역할 : 특정 함수를 일정 시간 뒤에 한번 호출하거나 반복적으로 일정 간격으로 호출할 수 있다.▼사용법Invoke("FunctionName", 2f); // 2초 뒤에 FunctionName 실행InvokeRepeating("FunctionName", 1f, 3f); // 1초 뒤에 시작해서 3초마다 반복CancelInvoke("FunctionName"); // 해당 함수 호출 취소특징 :문자열 ..