
카드가 일정한 이동속도를 가져서 움직임이 부자연스러워 보인다.불편함.거리를 담아줄 변수들을 선언하고 이동해야할 총 거리를 설정한다.TargetPos는 2d 카드 게임이다보니 z축 위치 조정(레이어 대용)을 위해 코드를 추가했다.위치에 도달할 때까지 (오차 범위 0.1)

전체 스크립트이러한 슬라이더 준비슬라이더바의 value를 오디오 볼륨값으로 변환하기 위한 수식이다. 이유는 주석과 같다.Playerprefs는 온라인 게임에서 사용하는 서버에 저장하는 데이터와 다르게 클라이언트에게 맡기는 데이터이다. Key value형식을 갖고 있으며
게임 오브젝트의 활성화 비활성화씬을 불러오는 방법선언해둬야한다. 씬매니지먼트를 참조해 사용하기 때문.\~~.LoadScene("씬 이름"); 인데씬 이름은 File->Build Setting에 씬을 올려놓고 이름을 정할 것.
이런 베이스를 먼저 준비.여기서이 코드가 핵심적인 역할을 함.UI의 상태를 나타낼 수 있도록 열거형을 만든다.이제 전환될 UI에 스크립트를 만들어 달아준다.열거형에는 Home, Game, Score 총 3개가 있으니 3개의 UI에 이름과 return 값만 맞게 설정해서
그 밑의 함수가 에디터의 isPlaying을 끄는 함수이다.어플리케이션 종료가 곧 게임의 종료이다.이제 #endif로 if문을 끝맺는다.
이런 변수로 유니티 인스펙터에서 레이어를 선택할 수 있다.몬스터를 찾는다면 몬스터 레이어를 만들어서 해당 오브젝트에 할당하고 검사하는 경우가 많은데,만약 몬스터만이 아닌 배경이라던가 여러 개의 레이어를 검사해야 하는 경우가 생긴다.먼저 방법을 설멍하기 전에LayerMa
어지간한 유니티 스크립트는 MonoBehaviour를 상속받고 시작하기 때문에 이걸 이용하면 된다.자식 오브젝트를 포함해서 Behaviour 스크립트를 모두 가져와서 foreach문으로 스크립트를 비활성화한다.
유니티는 먼저 캔버스 순서에 따라 구분된다.Canvas A├── Panel A│ ├── Text A1│ └── Button A2├── Panel B│ ├── Text B1│ └── Button B2Canvas B├── Panel A│ ├── Text
Unity 레이어 여러개를 동시 검사https://velog.io/@fy1208/Unity-%EB%A0%88%EC%9D%B4%EC%96%B4-%EC%97%AC%EB%9F%AC%EA%B0%9C%EB%A5%BC-%EB%8F%99%EC%8B%9C-%EA%B2%80%

게임씬에서 타일맵의 타일 사이 사이에 파란 선이 보인다.상당히 거슬림.픽셀이 일정하지 않은 줄 알고 pixel per unit을 통일시켜도 똑같음.그래서 고민하고 찾아본 결과.스프라이트 아틀라스를 사용하라고 한다.스프라이트 아틀라스는 여러 개의 텍스처를 단일 텍스처로

해당 오브젝트에 자식 오브젝트로이런 식으로 캔버스를 생성.Render Mode에 주의할 것.World Space로 해야 카메라에 관여받지 않고 월드 좌표로 포지셔닝됨.그냥 TextMesh로 해볼려고 했는데,TextMeshPro가 있는데 굳이 그럴 필요는 없을 것 같다.

유니티 버티컬 레이아웃 그룹이라고. 자식 오브젝트를 수직으로 밑으로 쭉 정렬해주는 컴포넌트가 있다.이걸 이용해서 아래를 기준으로 위쪽으로 축적되어 정렬되도록 만들어보자.먼저 레이아웃 그룹을 선택해서 z축을 180도 뒤집는다.포지션은 무시하고 로테이션만 맞출 것.이러면

한글 폰트가 깨진다. 인코딩이 이상한 거 같은데 아무 폰트를 다운받아봐도 똑같다유니코드 값을 찾지 못한다길래 찾아보았다.이런 식으로 캐릭터 셋을 커스텀으로 바꾸고 인코딩 설정을 직접 추가한다32-126,44032-55203,12593-12643,8200-9900순서대로
C기본적으로 클래스에 extra public method를 추가할 수 있다.라고 설명해놓지만사실상 우리가 사용하던 유니티 메서드. 예를 들면. getcomponent<'rigidbody>()이런 메서드에 우리가 원하는 기능을 추가해서 넣을 수도 있고.말이 어렵다.

파티클 시스템의 Stop Action을 Destroy로 바꿔준다.이러면 Duration만큼 파티클 시스템 실행 후 해당 오브젝트가 파괴되는데 부모 오브젝트 파괴는 실험안해봄.

파티클 시스템의 이 부분을 이용한다.Speed로 파티클 속도의 최소/최대 값을 잡고.Dampen은 1에 가까울수록 속도가 급격하게 바뀌고, 0으로 갈수록 속도가 천천히 바뀐다.예시)Speed 1.8 이고 Dampen이 1이면 파티클의 속도가 1.8을 넘었을(이하일 때)
위와 같은 코드가 있는데. 함수를 재귀 호출하는 과정에서 엔터 키 입력 대기가 무시되는 에러가 발생했다.GetKeyDown의 입력이 남아있어서 엔터키를 입력받았다고 생각하고 재귀 함수에서 if문이 통과되는 것이였다.그래서 해당 키 입력을 초기화하는 함수를 넣어줌.

생각날 때마다 까먹어서 기록함.

유니티에는 Spline 기능이 있다. 이게 뭐냐면이렇게 커브 곡선을 그릴 수 있게 해준다.이를 이용하여 카메라 무빙이나 캐릭터의 곡선 움직임등을 구현할 수 있는데.이번에는 이를 이용하여 도로를 배치하는 것을 보여주겠다.비교용으로 밑바닥에 Plane 설치스플라인 컨테이너

이제 스크립트를 짤 시간이다.스플라인으로 그린 선의 길이를 1로 두었을 때 0~1사이의 값을 주면 그 정점의 위치, 회전값 등등을 가져오는 메서드가 있다.이 함수이다. 여기서 t는 0~1사이의 값이다.먼저 클래스 위에 이걸 선언한다.이걸 선언하면 이 스크립트는 에디터모

정점을 얻는 메서드를 구현했으니 이제 이용해보자.새로운 클래스를 선언에디터 모드에서 실행.먼저 정점들을 보관해줄 리스트,얼마나 스플라인을 쪼갤지,업벡터에 영향을 받을지 안 받을지 정하는 변수를 선언.전체 길이가 1이니 1을 resolution만큼 나눈다.그럼 도로의 양

두 스크립트의 기본 골자만 적어둘려한다.먼저 리소스매니저.리소스 폴더 내에 있는 폴더 명에 맞춰서 열거형을 만든다.현재 내 리소스 폴더에는 아래와 같다.None은 개별 폴더가 없는 경우.그리고 상속받은 싱글톤 스크립트의 경우.dontDestroy의 값에 따라서 씬 로드

먼저 BaseUI를 만들어준다(모든 UI가 상속)그리고 팝업용으로 표시되는 PopupUI를 만든다.이런 식으로 스크립트를 구성하면 리소스매니저에서 UI를 가져오는데.프리팹 이름과 스크립트의 이름을 통일시켜야한다.예시)참고로 프리팹화는이런 상태에서 진행해야한다. 안 그러