어떤 오브젝트에 부딪혔을 때, 분리되면서 툭툭 굴러 떨어지는 느낌을 줘야하는 연출이 있었다. 직접 물리로 굴러 떨어트려도 되지만, 이러한 물리 이동을 애니메이션 클립으로 만드는 법이 있었다. https://docs.unity3d.com/2020.1/Documentation/ScriptReference/Animations.GameObjectRecorder.html Unity - Scripting API: GameObjectRecorder This class binds GameObject properties, records their values as they change in the running Scene, and saves the result in an AnimationClip. The recorded..
Unity
기본적으로는 보이지 않다가, 손전등 오브젝트 (Spot Light)로 비추면 보이는 오브젝트가 필요했다. 처음에는 라이트에 스텐실을 짬뽕해서 써야하나 싶었는데, 구글에 검색해보니 원하는 게 있어서 따라해보았다. 참고 사이트 https://www.youtube.com/watch?v=9B4hrQPRqtw 프로토타입으로 구현은 해봤는데, 빛의 밝기나 손전등의 거리는 계산하지 않았다. 벡터로 각도만 계산했다. 보여질 오브젝트 인스펙터에서 스팟 라이트를 연결해준다. 쉐이더도 생성해서 머터리얼을 연결해준다. RevealObject 스크립트 using UnityEngine; [ExecuteAlways] // 에디터 모드에서도 실행되어 테스트가 쉽다. public class RevealObject : MonoBehav..
원래는 Grid Layout Center를 사용하면 차곡차곡 정렬이 되는데, Center를 중심으로 정렬하려면 요것을 쓰면 된다. 오브젝트에 Grid Layout Group 추가하듯이, Grid Layout Group Center 추가해서 사용하면 된다. using UnityEngine; using UnityEngine.UI; /// /// 참고 문서. /// https://forum.unity.com/threads/arrange-ui-elements-with-auto-centering-grid-layout-group.669127/ /// [AddComponentMenu("Grid Layout Group Center")] public class GridLayoutGroupCenter : UnityEngi..
내 증상은 이렇다. 1번 코딩하다가 갑자기 억까당했다. 친구의 도움으로 이렇게 해결했다. 2번 근데 이번에 또 증상이 생겼다. 클래스들이 그냥 모두 하얀색으로 보이고, 자동완성도 안되었다. 1번 증상처럼 빨간줄이 뜨지는 않았다. 1번처럼 해결 방법을 써보았는데, 안고쳐졌다. 그래서 다시 구글링했다. https://dev-nicitis.tistory.com/1 VSCODE (Visual Studio Code) 자동 완성 기능이 안 될 때 처음 블로그에 올리는 글이니까, 카페에 올렸던 글을 재탕하며 올려봅니다. 재탕글 : 유니티 허브 - VSCode (Visual Studio Code) 자동 완성이 안 될 때 (링크 : https://cafe.naver.com/unityhub/109218) VSCode.. ..
Fade In Out 기능을 만들어야 했는데, 보기 편하도록 DoTween을 사용해보았다. 구현 싱글톤을 사용하지 않고, 조금 더 쓰기 편하도록 Static으로 처리했다. (instance 안 적으려고.) using DG.Tweening; using UnityEngine; using UnityEngine.UI; public class TransitionController : MonoBehaviour { // 싱글톤 대신 static 쓰기 위해, 이러한 방법 사용. // 인스펙터에서 수정할 값. [SerializeField] private Image blackBack; // 화면 꽉 채운 이미지 컴포넌트. (검은색.) [SerializeField] private float time = 1.0f; // 실제..
정리해서 질문을 남겼는데, 해결되어서 올렸당. https://cafe.naver.com/unityhub/126911 [해결] 폰 번호 입력하면 (하이픈-) 자동 입력 구현 질문입니다. (정규식) 대한민국 모임의 시작, 네이버 카페 cafe.naver.com 01012345678 입력하기 string str1 = Regex.Replace(s, @"[^0-9]", ""); print(str1); string str2 = Regex.Replace(str1, @"(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$", "$1-$2-$3"); print(str2); string str3 = str2.Replace("--", "-"); print(str3); return ..
참고 https://toe10.tistory.com/236 정규표현식을 사용하는 것 같다. 정규표현식에 대해서는 아직 공부하지 않았는데, 필요할 때 공부해야겠다. public string Strip(string text) { return Regex.Replace(text, @””, string.Empty); }
목표 몬스터의 체력 동기화를 해볼 것이다. 예제들을 살펴보니, 체력 같은 경우는 보통 PunRPC보다 OnPhotonSerializeView에서 동기화해주는 것 같다. 이번에는 PunRPC를 써보기 위해, PunRPC를 사용해서 동기화를 해볼 것이다. 동기화하는 법 종류는 여기 정리했다. 2021.09.28 - [Unity/포톤] - [포톤] 동기화하는 법 몬스터 체력 동기화하기 일단 순서대로 차근차근 해본다. 1. 동기화할 변수를 만든다. public float Health = 1f; 2. 맞았을 때의 함수를 구현한다. TakeHit함수는 따로 인터페이스로 뺏다. 인터페이스에서 TakeHitRPC도 선언해야하나 싶었는데, 음... 뭐가 더 좋을지는 잘 모르겠다. using UnityEngine; pub..