프로그래밍/유니티
[유니티] Curved Text
using UnityEngine; using TMPro; [ExecuteInEditMode] public class CurvedText : MonoBehaviour { private TextMeshProUGUI _textComponent; [SerializeField] private AnimationCurve vertexCurve = new(new Keyframe (0.0f, 0.1f), new Keyframe (0.5f, 0.0f), new Keyframe (1.0f, 0.1f)); [SerializeField] private float curveScale = 100.0f; private void Awake () { _textComponent = gameObject.GetComponent (); } p..
[유니티] 슬라이더 값이 0인데 이미지가 남아있을 때
슬라이더 컴포넌트를 사용하다 보면 Value가 0인데 이미지가 남아있을 때가 있다. 이미지가 sliced로 되어있고 sprite editor로 잘라놓으면 저렇게 남게 된다. 이럴경우 그간 코드로 따로 관리해왔는데 이렇게 되면 이미지가 이쁘지 않게 되었었다. 그래서 찾아보던 중 아주 간단하게 해결 할 수 있는 방법을 찾게 되었다. 원문 링크 : (유니티 포럼) 방법 1. Slider를 만든다. 2. Handle Slide Area를 지운다. 3. Slider의 Target Graphic에 Fill 오브젝트를 넣는다. 4. Slider의 Value를 0으로 맞춘다. 4.1 여기서 Value를 0으로 맞춘 이유는 아래 이미지와 같다. (Width를 수정하기 위함) 5. Fill 오브젝트의 Width를 0으로 ..
[유니티] 터치 이펙트 (Click Particle)
[Header("[Click Particle]")] public GameObject[] clickParticles; private RectTransform[] _particleRects; private Canvas _canvas; private int _idx; private void InitClickParticle() { _particleRects = new RectTransform[clickParticles.Length]; for (int i = 0; i < clickParticles.Length; i++) { _particleRects[i] = clickParticles[i].GetComponent(); } _canvas = GetComponent(); _idx = 0; } private void ..
[유니티] Hierarchy의 오브젝트 Path복사
UI작업할 때 부모 Transform을 기준으로 자식을 찾아 원하는 오브젝트에 접근하여 작업을 했다. 근데 각 오브젝트의 Path가 바뀌어 수정할 일이 생길 수 있고 일일이 하드하게 path를 적긴 힘드니 변수를 만들어 path를 관리했다. 그런데 이 path가 예를들어, UI에 표기해야 될 것들을 생각해보면 골드, 보석, 레벨, 경험치, 힘, 민첩, 지능 등등의 텍스트 능력치, 장비, 강화, 스킬, 펫 등등의 버튼 슬라이더... 사운드... 등등의 아주 여러가지의 path를 가져와야 한다. 이 path를 한땀한땀 적긴 귀찮아서 처음에 우클릭 후 copy path를 하면 path가 복사되는 것을 만들었는데 이마저도 귀찮아 Hierarchy의 오브젝트를 클릭만 하면 알아서 path가 복사되는 것을 만들어 ..
[유니티] MonoSingleton
유니티에서 싱글톤을 쓰면서 MonoBehaviour를 상속받는 싱글톤과 아닌것을 나누는 필요성을 느꼈다. 만들고나니 왠만한 프로젝트에서 다 써도 될 것 같아 남김 using UnityEngine; using System.Collections; using System.Collections.Generic; //씬 변경시 삭제가 되야하는 싱글톤들은 'class : MonoSingleton, IDestructible' 의 형태로 선언한다. interface IDestructible { } //하이라키에서 보여져야 하는 싱글톤들은 'class : MonoSingleton, IAppearable' 의 형태로 선언한다. interface IAppearable { } //싱글톤 관리 루트 클래스 public stati..
[유니티] 롤 골드그래프를 만들어보자(4) - 최종 코드
UI를 이용하여 롤 골드그래프를 만들어보자 using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; public class GraphMaker : MonoBehaviour { public int SAMPLE_RATE = 10; Dictionary AllTeamTotalGold = new Dictionary { }; [Header("GoldGraph")] public Transform DotGroup; public Transform LineGroup; public Transform InnerFilledGroup; public GameObject Dot; public GameObject Line; ..