![[Unity] TextMeshPro DoText함수 직접 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ6FbW%2FbtsMVRHGY6s%2FmJym2OWfnwX5aJD5dgyfy1%2Fimg.png)
✌️TextMeshPro와 Dotween 유니티 개발에 정말 유용하게 쓰고있는 DoTween하지만 아직은... 무료버전을 쓰고있다무료버전에도 풍부한 기능이 있지만 아쉽게도 TextMeshPro의 `DoText`기능은 Pro버전에서만 지원한다 언젠간 DotweenPro를 사겠지만 지금은 일단 무료버전을 계속 쓸 예정이기에 직접 구현해본다 🔥구현먼저 방법은 여러가지가 있지만 나는 static클래스에 `TMP_Text`타입의 확장 메서드를 구현할거고,코루틴을 쓰지 않을것이다 이유는코루틴을 쓸려면 `MonoBehaviour`를 상속받아야 하거나 `MonoBehaviour`를 상속받는 싱글톤 코루틴 러너를 만들어야 하는데,상속받는거는 static클래스라서 안되고 코루틴 러너 싱글톤을 만드는건 뭔가 덜 깔끔해..
![[Unity] 플레이어를 따라오는 간단한 스프링 효과](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8nk4y%2FbtsLO7rJdOq%2FZYKkvC94w7yKOdeTwWKFZ1%2Fimg.png)
🔥시나리오 게임의 광고 영상을 보면 플레이어가 들고 나르고있는 햄버거들이 플레이어 이동 방향을 따라 관성의 영향을 받는듯한 연출이 보인다→ 쉽게말하면 이동하면 휘어진다 퍼포먼스에 자유롭다면 유니티의 스프링 조인트 컴포넌트를 쓸 수도 있지만 물리 연산이기때문에 저렇게 많이 쌓인다면 부담이 클것이다 (근데 저 게임도 예시 이미지만큼 많이 들고다니진 않는다 광고용 연출인듯) 그럼 에셋스토어의 다이나믹본 같은 스프링 본 효과를 구현하면 스프링 조인트 컴포넌트를 쓰는것보단 퍼포먼스가 훨 나을것이다🔥스프링 본 구현먼저 결과 코드는 아래와 같다public Transform player; // 플레이어 오브젝트public List blocks; // 블록들public float st..
![[Unity] 어드레서블 Simplify Addressable Names 커스텀](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZECfH%2FbtsLkJk2I4T%2FUCinpvjwt9ZTHuxP16VVb0%2Fimg.png)
💫문제유니티에서 에셋을 어드레서블로 체크하면 기본적으로 어드레서블 이름은 해당 에셋의 full path가 된다 만약 어드레서블을 이름으로 불러올 계획이있다면 경우에따라 상당히 불편할 수 있다.그래서 유니티 어드레서블 기본 기능중에 이름 단순화 기능이 있지만딱 파일명(확장자도 제거)만 남겨주고 싹 다 날려버린다 이게 또 설계 계획에따라 다르겠지만 이것마저 불편할 수 있다(나는 불편했다)포맷을 이용해서 단순화 규칙을 커스텀할 수 있으면 좋겠지만 그런건 없다그래서 코드를 이용해서 어드레서블 이름 단순화 커스텀을 만들어 봤다 📝코드주의UnityEditor API를 사용하기 때문에 코드를 Editor폴더를 만들어서 그 안에 넣거나,코드 전체를 UNITY_EDITOR 전처리문으로 감싸자using UnityEdi..
![[Unity] 3D 탑다운 무한 맵](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuZme5%2FbtsKDeF8wix%2Fv73V3gDYTnVTOUl5XZ5pz1%2Fimg.png)
📹영상 영상에서 움직이고있는 트랜스폼 핸들이 플레이어 입니다.플레이어의 이동에 맞춰 카메라에 빈 월드가 보이지 않게 블레이어 주변 9개의 맵을 재배치 합니다. 📌코드InGameMapController.csusing System;using System.Collections;using System.Collections.Generic;using System.Linq;using UnityEngine;using UnityEngine.AddressableAssets;using Cysharp.Threading.Tasks;public class InGameMapController : MonoBehaviour{ [SerializeField] private AssetReferenceGameObject pla..
![[Unity] 3D로 구현해본 승리의 여신 니케](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FODmXJ%2FbtsKmkFWYwR%2FsmOJFVqyGXlUD5f738CjDk%2Fimg.png)
✨프로젝트 설명니케를 UnityEngine에서 3D로 재해석하여 구현해봤습니다. 구현한 부분이 많지는 않지만 원작과 비슷한 느낌을 내려고 노력해봤습니다. 캐릭터 모델링은 공식 홈페이지에서 배포하는 mmd모델을 사용하였습니다.📹결과 영상 ✨구현 포인트 📌 스크립터블 오브젝트 활용니케, 에너미, 웨이브 데이터를 스크립트 오브젝트로 구성했습니다 1. 니케 데이터고유 개체 구분을 위한 이름, 프리팹과 탄창, 속도, 데미지, 데미지 체크 방식 등을 설정합니다.오딘 인스펙터의 `[ShowIf] `속성을 사용하여 데미지 체크 방식에따라 인스펙터에 노출되는 설정값이 다르도록 구현했습니다. 2. 에너미 데이터에너미 데이터는 프리팹, hp 그리고 행동을 결정하는 쿨타임을 설정 변수로 구현했습니다행동 결정 쿨타임이 지나..
![[Unity] 오픈 소스 게임 서버 Nakama를 알아보자](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKGOQ4%2FbtsKfWmCQvS%2FFOFqziRujJagAuAIOedkx1%2Fimg.png)
🤨Nakama?🔗공식 깃허브 저장소 GitHub - heroiclabs/nakama: Distributed server for social and realtime games and apps.Distributed server for social and realtime games and apps. - heroiclabs/nakamagithub.comNakama는 소셜, 실시간 게임을 위한 서버다.클라우드 서버가 아니고 오픈 소스로 다 구축된 서버 소스를 제공하고 내가 셀프 호스팅으로 서버를 구축하는 것이다. (밀키트 같은 느낌?)서버 소스뿐만 아니라 Unity 클라이언트 패키지도 준비돼있다. 사용자 계정 관리, 친구, 그룹(길드 같은), 파티, 매치, 리더보드 등등 다양한 기능들이 구비돼있다. 아니 이런..