Unity/UI 2022. 4. 14. 00:04[Unity] UI 클릭, 드래그이벤트 여러오브젝트 동시 처리

이 기능을 텍스트로 설명할려면 뭐라고 해야할지 애매하긴한데 스크린샷을 첨부하자면 다음과 같다. 해당패널의 파란 이미지는 슬라이더이고 그 뒷배경은 스크롤렉트이다. 따라서 슬라이더를 움직일려면 그냥 파란 이미지를 클릭하고 좌우로 슬라이딩하면 되는데 마우스 휠이나 스크롤바 말고 스크롤을 할려면 컨텐츠들 사이에 좁은 빈공간을 클릭하고 위아래로 슬라이딩 해야한다. 왜냐하면 슬라이더가 이미 터치이벤트와 드래그이벤트를 먹어(?)버렸기 때문에 그 뒤에있는 스크롤렉트에는 이벤트가 닿지 않는것이다. 그래서 이 글은 슬라이더를 클릭, 드래그 했을 때 슬라이더 뿐만아니라 뒤에있는 스크롤렉트도 이벤트를 받을 수 있게 하는 방법을 기록하는 글이다. 우선, 다음과 같은 함수를 정의한다. 슬라이더 컴포넌트가 안붙어있는 오브젝트에있는..

Unity/Tips 2022. 3. 31. 18:45[Unity] 루트모션 부모에 적용하기

부모 오브젝트가 따로있고 자식오브젝트로 모델이있을때 사용 모델 오브젝트에 스크립트를 달고 void OnAnimatorMove() { transform.parent.rotation = anim.rootRotation; transform.parent.position += anim.deltaPosition; } 이렇게 사용함 경우에 따라서는 저렇게 Rotation, Position에 다이렉트로 더해주지말고, 입력에 의한 이동방향에 더해서 움직여주면 자연스럽게 된다. Correct way to handle root motion with parent game object - Unity Answers Unity is the ultimate game development platform. Use Unity to bu..

Unity/UI 2022. 3. 22. 09:29[Unity] 자이로스코프 Parallax 이펙트

퍼니싱 그레이레이븐의 로비처럼 핸드폰의 자이로센서를 이용해 배경과 캐릭터를 조금씩 움직여 입체감을 느끼개 해주는 방법이다. 퍼니싱 그레이레이븐의 로비 자이로영상을 첨부하고싶었지만 찾을수 없었다. 참고한 영상 영상을 토대로 작성한 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class LobbyGyroscopeEffect : MonoBehaviour { [SerializeField] private float shiftModifier = 1f; private Gyroscope gyro; private void Start() { #if UNITY_ANDROID..

[Unity] 길찾기 에셋을 활용한 Wander구현
Unity/C# 2022. 2. 24. 10:24[Unity] 길찾기 에셋을 활용한 Wander구현

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불짜리 에셋밖에없지만 제작자 홈페이지에 들어가면 여기서 무료버전도 배포하고있다. 몇가지 기능이 제한돼있다는데 그럼에도 충분히 원하는기능을 구현하기에는 ..

Unity/C# 2022. 2. 22. 17:26[Unity] FSM패턴

유한 상태 기계 (Finite State Machine) 정의 컴퓨터 프로그램을 설계할 때 쓰이는 모델이다. 컴퓨터 내에 유한한 상태를 가지는 기계가 있다고 가정하고, 컴퓨터는 오로지 하나의 상태만 갖고 있을 수 있으며 각 상태별 동작과 상태끼리의 전이에 대한 내용을 설계하게 된다. 유니티의 Animator처럼 한State에 머무르며 행동을하고 다른State로 전이(Transition)을 하며 행동을 변경하는 시스템이라고 생각하면 편하다. 이미지 출처 : https://boycoding.tistory.com/262 AI를 코딩으로 만들때 이 패턴이 유용한데, 기존에 애용하던 패턴은 Switch문을 활용한 이런식이다. 방법 1 // FSM을 활용한 몬스터 컨트롤러 public abstract class M..

Unity/C# 2022. 1. 28. 10:29[Unity, C#] Vector3 회전

Vector3(1, 0, 0)을 y출으로 45도 회전한다면 vector3 v = Vector3.right; v *= Quaternion.AngleAxis(-45, Vector3.up); //또는 v *= Quaternion.Euler(0, -45, 0); 처음 생각으로는 Vector3에 회전시키는 확장메소드가 있을줄알았는데 Quaternion이였다.

image