// 타겟 Object(String으로도 가능)가 enum에 포함돼있는지 확인하기 Enum.IsDefined(typeof(MyEnum), targetString)) // String을 enum으로 변환하기 MyEnum n = (MyEnum)Enum.Parse(typeof(MyEnum), targetString); Enum.IsDefined 메서드 (System) 지정된 정수 값 또는 문자열로 해당 이름이 지정된 열거형에 있는지 여부를 나타내는 부울을 반환합니다. docs.microsoft.com Enum.Parse 메서드 (System) 하나 이상의 열거된 상수의 이름이나 숫자 값의 문자열 표현을 해당하는 열거형 개체로 변환합니다. docs.microsoft.com
![[Unity] Hitbox와 Hurtbox시스템](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FTBJA6%2FbtsGYO4Fx3G%2FAAAAAAAAAAAAAAAAAAAAACX9u4FTMoxF24VQCSUWu8vYo3GbhWRfwsqUpZasHDnb%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DAtWXjiEW2F%252BV1SRREgPABYRnvcg%253D)
결과물 영상 Hitbox는 Overlapbox를 통해 충돌을 감지하고 원하는 타이밍에 켜고 끌수있다.(여기선 애니메이션 이벤트로 컨트롤) using System.Collections;using System.Collections.Generic;using UnityEngine;public class Hitbox : MonoBehaviour{ public enum ColliderState { Closed, Open, Colliding } public LayerMask mask; public Vector3 hitboxSize = Vector3.one; public Vector3 offset = Vector..
Renderer에 접근하여 Material들을 동적으로 바꿔줘야 할 때가있다. 처음 생각한 간단한 방법으로는 적용되지않아서 찾아낸 정보를 기록한다. 틀린예시 for (int i = 0; i < rend.materials.Length; i++) { rend.materials[i] = new Material(maskedShader); } 맞는예시 var rend = gameObject.GetComponentInChildren(); Material[] mats = rend.materials; for (int i = 0; i < rend.materials.Length; i++) { mats[i] = new Material(maskedShader); mats[i].CopyPropertiesFromMaterial(..
Unity의 JsonUtility를 사용하다보면 커스텀 클래스를 쉽게 JSON으로 파싱할 수 있지만 원하는 변수 몇개만 JSON으로 파싱해주는 기능이나, 파싱 이후에 변수룰 추가, 삭제, 수정을 할 수 있게해주는 기능이 없다. 그래서 이런식으로 한글자 한글자 입력해서 JSON으로 만들어 쓰다가 $"{{\"account_uuid\": \"{account_uuid}\", \"email\": \"{email}\", \"password\": \"{hashed_password}\", \"team\": \"{team}\"}}"; 너무 불편해서 찾아낸 방법이다. JSON .NET For Unity | Input Management | Unity Asset Store Get the JSON .NET For Unity ..
Raycasthit은 구조체 이고 레이캐스트를 할 때 맞은 오브젝트에 대한 정보를 담아서 out하는 구조체이다 그 안에는 바로 접근가능한 transform과 collider멤버를통해 collider.transform으로 접근가능한 transform이 있다. 둘의 차이는 만약 레이캐스트에맞은 오브젝트가 리지드바디가 있을경우 Raycasthit.transform은 리지드바디가 붙어있는 Transform을 반환한다. 예를들어 이런식으로 루트부모에 리지드바디를달고 그 자식에 콜라이더를 달아놓으면 자식 콜라이더의 사이즈대로 충돌을 체크하겠지만 Raycasthit.transform은 리지드바디가있는 루트부모인 ZergelingMonster를 반환한다. 여기서 콜라이더가 붙어있는 오브젝트를 반환받고싶다면 Raycas..
![[Unity] 길찾기 에셋을 활용한 Wander구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FqacSY%2Fbtrt1I4FFjG%2FAAAAAAAAAAAAAAAAAAAAAEm5HEXA193hCoWxvmugQY2UD3QAFLt76pFOuqj98DP9%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D93jN3D8LuBzzR5k1UxZUA6UatFE%253D)
Wander : 떠돌다 RPG게임에서 야생동물이나, 오픈월드게임에서 시민NPC들이 정처없이 떠도는걸 말한다. 활용한 에셋: A* Pathfinding Project Pro | AI | Unity Asset Store Get the A* Pathfinding Project Pro package from Aron Granberg and speed up your game development process. Find this & other AI options on the Unity Asset Store. assetstore.unity.com 에셋스토어에는 100불짜리 에셋밖에없지만 제작자 홈페이지에 들어가면 여기서 무료버전도 배포하고있다. 몇가지 기능이 제한돼있다는데 그럼에도 충분히 원하는기능을 구현하기에는 ..