개발을 하다보니 위와같은 문제가 발생했다. Transform을 RectTransfom 형식으로 변환할 수 없다는 에러!문제를 해결하기 위해서 위치에 대한 것과 둘의 차이를 알아보았다. Unity의 Position, Transform에 대해서1. Position3D 공간에서 오브젝트의 정확한 좌표를 정의한다.World Position : 게임 세계의 절대 위치를 나타낸다. `transform.position`으로 접근Local Position : 부모 오브젝트를 기준으로 한 상대 위치를 나타낸다. `transform.localPosition`으로 접근만약 물리엔진과 함께 사용한다면? Rigidbody 컴포넌트의 MovePosition메서드를 통애 오브젝트의 이동을 관리하는 것이 좋다! transform.p..
전체 글
개발자가 되고싶은 동식이... 티스토리를 시작하게 되었다.어제 밀크티를 마셨더니 잠이 안와서 새벽 5시까지 개발을 했는데요,, 사실 다 개발했습니다. 우유 게임은 90퍼센트 완성되었고 서버와 통신과 리워드를 어떻게 할지 기획만 하면 됩니다. 그래서 블로그에 무슨 내용을 써야할까 고민을 하다가 게임의 간략한 아키텍처와 게임 일시정지를 위해 구현했던 Time.scaleTime에 대해서 다뤄보고자 합니다. 아키텍처 MilkDrop, MilkFill과 같은 스크립트는 서로를 호출하지 않고 MilkGameManager를 통해 호출합니다. 물론 MilkGameManager와 MilkUIManager는 싱글턴 패턴을 적용하여 인스턴스를 가지고 있습니다. UI를 관리하는 매니저를 둔 이유는 MilkGameManager 부피가 커져서 관리하기 힘들어짐, 이벤트 함수 등록을 ..
배경이 무한으로 생성되는 게임. 본적 있죠? 없다고 하더라도 잘 생각해보세요.. 하다못해 하늘 배경이라도 계속 이어졌을겁니다. 이제 기억 나시나요? 마리오가 이동하는 지형 지물은 병견되어도 뒷 배경은 계속 이어지죠? 이것을 배경 스크롤링이라 부르더군요. 저는 이를 활용해서 좌우로 이동하는 레일이 무한으로 이어지도록 코드를 작성 할 것입니다.스크롤링 적용하기Unity 엔진윗 레일은 좌측으로, 아래 레일은 우측으로 이동 할 것입니다.레일은 여러개를 만들어서 이어지도록 배치해줍니다. 저는 위처럼 4개의 레일을 차례대로 이어줬습니다.스크립트코드 전문은 다음과 같습니다.public class Scrolling : MonoBehaviour{ [SerializeField] private Transform[] s..
안녕하세요. 빵빵빵 타이쿤 개발중인 유니티 개발자 동식입니다. 오늘은 OnTriggerEnter에 대한 고찰을 해보고자 합니다. 유니티에서 OnTriggerEnter정말 많이 쓰시죠? 이는 이벤트 함수로 특정 상황이 발생하면 자동으로 호출되는 진기명기한 친구입니다. 정말 애용하듯 사용하는 함수지만 오늘도 헷갈려서 20분동안 갈피를 찾지 못한 저. OnTriggerEnter에 대해 까먹지 않도록 메타인지를 길러볼겸 또 까먹었을 미래의 나를 위해 그리고 당혹스러운 여러분을 위해 이 글을 작성합니다. https://docs.unity3d.com/kr/530/ScriptReference/Collider.OnTriggerEnter.html Collider-OnTriggerEnter(Collider) - Unity..
**이미지는 저작권 이슈로 넣지 못했습니다... 디자이너 분께 허락을 받는다면 카피라이터를 추가하여 글을 수정하도록 하겠다..** 2D 게임에서 UI와 배경 오브젝트의 차이우유 게임을 만들어야 한다..(무분별한 기획 추가는 개발자를 불안하게 만들어요)리듬 게임을 넣고싶다는 의견이 나와서 레퍼런스 3개를 참고하여 지금 형태를 만들었다.게임 배경이 있고 그 앞에 레일, 우유병, 우유를 담는 기계가 있다. 레일을 따라 우유가 나타나고 타이밍 맞게 터치하여 우유를 정량 담으면 되는 게임이다. 그런데 여기서 고민이 생기게 되는데,,, 2D 게임을 처음 만들어 봐서 배경과 UI를 구분하는 것에 고민을 했다. 찾아보니 배경과 UI의 차이는 사용자와 활발히 상호작용을 하냐, 하지 않느냐로 나뉘었다. 그래서 다음과 같이..
Unity를 하다보면 Slider UI를 만들게 됩니다. 핸들? 너무 크고 못생겼어. 없애도 되나?핸들 없앴더니 왜 Fill Area가 가득 안차지?Slider 커스텀 하고싶은데 어떻게 하지? 초반에 이런 고민을 정말 많이 했습니다. 그래서 제가 고민하고 결국 해결된 것들에 대해서 설명해보겠습니다. 1. Slider 커스텀Slider UI를 생성했다면, 위와 같이 Background, Fill Area, Handle Slide Area가 생성 될 것입니다. Background는 슬라이드 뒷 배경입니다. Fill Area가 줄어들면서 보이는 영역이죠.Fill Area는 채워지는 부분입니다.Handle Slide Area는 슬라이드를 조절 할 수 있는 핸들이 부착되어 있습니다. 핸들은 유니티를 실행하면 Ga..
문제https://www.acmicpc.net/problem/10844고민45656, 3234545 처럼 인접한 모든 자리의 차이가 1인 수를 계단 수라고 한다.N이 주어지면 길이가 N인 계단 수는 총 몇개가 있는지 구한 뒤 1,000,000,000으로 나눈 나머지를 출력한다.단, 0으로 시작하는 수는 세지 않는다. 처음엔 경우의 수를 다 만들어 봐야하나? 생각했지만 알고리즘 분류가 DP였다.DP는 이전에 계산했던 수를 저장해두고 필요할 때 다시 가져와서 불필요한 추가 연산을 없애는 알고리즘이다. 그렇다면 일단 경우의 수를 따져봐야한다.1. 길이가 1일 때 계단 수는?1, 2, 3, 4, 5, 6, 7, 8, 9 2. 길이가 2일 때 계단 수는?10 | 01 | 12 | 23 | ... | 78 | 89..
문제https://www.acmicpc.net/problem/1753고민올게 왔다.. 바로 다익스트라 다익스트라는 선택된 곳에서 다른 노드들 까지의 거리다.다른 길찾기 알고리즘 에서는 A에서부터 D까지 가는 방법 중 여러가지였다면다익스트라는 A에서 출발할건데 다른 노드들까지 가는 방법의 비용을 산출하는 거다. (이쯤되면 길찾기 알고리즘은 말만 조금씩 다를 뿐 푸는 방식이 같다는 느낌까지 듦) 문제는 간단하다. 주어진 시작점에서 다른 노드들간의 거리를 구하는 것1. 우선순위 큐를 사용하여 시간복잡도를 줄이기2. 거리가 가까우면 업데이트하기 위 두가지만 고민하면 된다. 나는 2번이 너무 헷갈렸다. 업데이트 하는 로직이 떠오르지 않아서 다른 사람 코드도 봤는데 이해가 힘들었다.현재 노드까지 거리에다가 다음 노..