일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 소규모프로젝트
- 게임
- 게임제작
- ExtensionMethod
- AR게임
- AR세팅
- 레이캐스트
- raycast
- 병맛게임
- Euler
- ARProgect
- github
- AR Foundation
- callbyreference
- 유니티
- 1인개발
- ar
- 로케트
- 깃허브
- Unity
- callbyvalue
- 인터페이스
- Quaternion
- 게임개발
- 리듬게임
- 델리게이트
- 짐벌락
- C#
- 확장메서드
- 리듬게임에디터
- Today
- Total
목록유니티 (18)
Ssssong += Dev
기획서 컨펌 받고 나서 게임 구조 만들어 보는 중이다. 프로젝트 진행 중 짐벌락 현상을 겪어서 따로 정리한다. private Quaternion SetTargetRotation(Vector3 a_vRotationDir) { Vector3 targetRotationInVec3 = a_vRotationDir + gameObject.transform.eulerAngles; Quaternion targetRotation = Quaternion.Euler(targetRotationInVec3); return targetRotation; } 문제가 되는 부분은 targetRotation을 오일러각으로 계산했기 때문에 생긴 것이었다. 오일러각으로 계산하면 회전 중 축이 겹치게 되어 원하는 회전을 만들 수 없다. 쿼터..
유니티는 게임이 실행되었을 때 Awake -> OnEnable -> Start 순으로 함수를 실행한다. 그런데 여러 스크립트에서 Awake, Start 등을 쓰고 있을 때 이 함수끼리의 실행 순서를 정해주고 싶을 때가 있다. 이 때는 ProjectSetting에서 실행 순서를 변경해 주면 된다. Script Execution Oder에서 Defualt Time에 원하는 스크립트를 추가하여 실행 순서를 지정할 수 있다. 숫자가 작을 수록 실행 순서가 빠르다.
ThrowBall! 만드느라 잠시 넣어놨던 리듬게임 다시 꺼내서 뚝딱거리고 있다. 에디터에서 찍은 노트를 세이브/로드 할 수 있는 기능을 추가하였다. 에디터에서 노트를 저장하면 플레이 화면에서도 노트 정보를 가져올 수 있다. Json 파일에 노트 정보를 저장하고 있다. 이런 식으로 음악 이름, 저장 시간, 난이도, 라인간격, bpm, 그리고 각 라인에 찍혀 나올 정보가 기록된다. { "musicName": "Scherzo Waltz", "dataTime": "20220617135058", "difficulty": "Normal", "lineGap": 50.0, "bpm": 240, "leftDial": [ "4;startLine", "13;endLine" ], "leftNormal": [ "6" ], "..
델리게이트는 정해진 기능을 대신 할 수 있는 대리자이다. delegate 리턴타입 델리게이트명(매개변수) 형식으로 규격을 정해줄 수 있다. //델리게이트 선언 public delegate void PrintInfoDel(); //델리게이트 형식을 매개 변수로 받아오기 void PrintInfo(PrintInfoDel printInfoDel) { Debug.Log("---------------"); target.ShowInfo(); Debug.Log("---------------"); } void Start() { Player player = new Player(); //델리게이트 적용 PrintInfo(player.ShowInfo); } 델리게이트는 비슷한 형식의 함수가 일부분의 기능만 다르게 동작할 때..
https://www.youtube.com/watch?v=CcSG_BKB7WM 지난 4월 제작했던 뮤직비디오 겸 리듬게임이다. velog에는 올렸었는데 블로그를 티스토리로 바꾸면서 이 작업을 올리지 않았기에 따로 업로드한다. 유니티로 만드는 뮤직비디오가 목표였기에 그다지 게임으로서 확장성이 있지는 않지만 이 작업을 좀 더 발전시키려 현재 장기프로젝트에 리듬게임 제작 프로젝트를 진행하고 있다.
AR 프로젝트로 Throw Ball! 게임을 제작하였다. 지난주 게시글 업로드 해야 했는데 이사하느라 포스팅이 늦게 되었다 ㅠㅠ 개발일지 기록해둔 것들도 차차 올려야겠다. 에디터에서 본 화면은 아래와 같다. AR 카메라를 사용하기 때문에 휴대폰에서의 동작과 에디터에서의 동작이 달라 여러 번 빌드해서 확인해보아야 했다. 실제 핸드폰으로 플레이하면 이렇게 카메라로 인식하여 플레이할 수 있다. 아래는 플레이 영상!
확장 메서드란? - 기존에 제공되는 클래스 또는 외부 라이브러리에 속해 있는 클래스에 새로운 기능을 "상속"이 아닌 메서드를 이용해서 기능을 확장하는 것을 의미한다. 확장 메서드의 특징 - C# 언어의 확장 메서드는 정적 클래스만을 통해서 정의하는 것이 가능하다. 즉, 정적 클래스가 아니면 확장 메서드 자체를 구현하는 것이 불가능하다. - C# 언어의 확장 메서드를 정의하는 정적 클래스는 반드시 최상단 영역에 위치시켜야 한다. - 특정 클래스의 중첩 클래스(클래스 안에 클래스를 선언한 형태)로는 확장 메서드를 정의하는 것이 불가능 구조체, 클래스에 기본으로 내장되어 있는 여러 메서드들 이외에 원하는 메서드를 추가하여 사용할 수 있다. public static class ExtensionMethod { /..
AR 세팅을 완료한 후 공 던지기 기본 동작과 골대를 제작하였다. 작업 현황은 5/23 - AR Foundation 사용하여 유니티 세팅 및 기획서 보완 세팅 방법은 https://songyeongkim.tistory.com/25 에 정리해 두었다. 5/24 - AR 리모트 방법 서치... 하다 AR Foundation에서 리모트 기능을 제공하지 않는다는 것을 깨달았다. 에셋스토어에 리모트 기능을 제작하여 올려둔 분들이 있는데, 80달러 주고 그걸 구매하긴 애매하니 무료에셋인 런타임 콘솔로 휴대폰에서 디버그 창이 보이도록 하였다. 공 던지기 기본 동작을 제작하였다. 레퍼런스인 What the golf? 와 같이 뒤로 당겨서 놓아 던지는 방식인데, AR화면에서 조작감이 좋지 않아 파워 조절이 좀 더 유연하..