반응형

전체 글 307

[Git] 기본 용어 정리

지금은 혼자 게임을 만들고 있지만, 언젠간 필요할 협업을 위해 깃허브를 틈틈히 공부하기로 했습니다. 이 책을 통해 공부할건데요, 이번 포스팅에서는 용어를 간단하게 정리해보겠습니다. Git : 소스코드 버전 관리 시스템. 새로운 소스코드를 추가하거나 삭제한 뒤에도 내가 원하는 시점으로 돌아갈 수 있게 해주는 시스템입니다. GitHub : Git으로 관리하는 프로젝트를 올려둘 수 있는 Git 호스팅 사이트 오픈소스 : 공개저장소 프로젝트 GUI : Graphic User Interface. 마우스로 클릭해서 사용하는 방식 CLI : Command Line Interface. 명령어를 하나씩 입력하는 시스템 Git Bash : CLI 방식으로 Git을 사용할 수 있는 환경 커밋 : 버전 관리를 통해 생성된 파..

[Git] 2021.03.09

[Unity] 유니티 저장 파일명 변경 방법(Project Settings)

[서문] 이전 게시글에서 파일을 저장하는 각 루트와 차이점에 대해 알아봤는데요, geukggom.tistory.com/9 [Unity 문법] 유니티 저장 경로(dataPath, streamingAssetsPath, persistentDataPath 경로와 차이점) [서문] 게임을 만드는 도중, 세이브/로드가 잘 안 먹히는 현상때문에 골머리를 앓았는데요, 실시간으로 인게임에서 데이터를 불러오고 저장하는게 잘 안 되는 현상이었습니다. (에디터 밖으로 geukggom.tistory.com Application.persistentDataPath 를 처음에 설정하지 않고 그대로 사용할 경우, C:\Users\[user name]\AppData\LocalLow\DefaultCompany\[game name] 위와 ..

[Unity]/[Unity] 2021.03.02

[Unity] 유니티 저장 경로(dataPath, streamingAssetsPath, persistentDataPath 경로와 차이점)

[서문] 게임을 만드는 도중, 세이브/로드가 잘 안 먹히는 현상때문에 골머리를 앓았는데요, 실시간으로 인게임에서 데이터를 불러오고 저장하는게 잘 안 되는 현상이었습니다. (에디터 밖으로 나갔다가 들어와야 잘 먹힘) 알아본 결과 파일을 저장하는 경로는 여러개가 있고, 저는 학원에서 배운 Application.dataPath + "Resources/..."를 계속 써왔는데 Resources파일에 저장하는 리소스들은 빌드 시 패키지에 포함되는 영역이지, 읽고 쓰는 파일을 저장하는 용도로 사용하지 않는다고 합니다. 에디터 상에서는 잠시 에디터를 벗어났다가 돌아오면 저장/로드가 되지만, 빌드를 한 후에는 따로 저장할 수 없다 합니다. 아래 본문에서 여러 저장 경로와 쓰임새에 대해 알아보겠습니다. [본문] 1) A..

[Unity]/[Unity] 2021.03.01

[Unity] Spine : 스파인 레이어(Order In Layer) 변경 코드

[서문] 스파인의 레이어는 Inspector창에서는 SkeletonAnimation컴포넌트의 'Order In Layer'라는 이름으로 되어있지만, 코드로 바꾸려 하면 다른 컴포넌트를 사용해서 바꾸게 됩니다. 자꾸 까먹어서 적어두는 스파인 레이어 변경 방법! [본문] 스파인을 하이랄키창에 끌어와서 SkeletonAnimation을 선택하면 아래 그림의 컴포넌트가 붙은 오브젝트가 생깁니다. 여기서 레이어가 SkeletonAnimation에 있기에 코드도 그렇게 바꿔야 한다고 여겨질 수 있지만, 레이어를 바꾸는 코드는 아래와 같습니다. transform.GetComponent().sortingOrder = 1; //스파인 오브젝트에 스크립트 붙여주기

[Unity]/[Unity] 2021.02.24

[Unity] RigidBody : 캐릭터 충돌 시 떨림 현상

[서문] 캐릭터가 Collider에 충돌했을 때 생기는 떨림 현상은 캐릭터를 transform.position으로 움직였을 경우 생깁니다. 이는 물리 계산 과정에서 생기는 현상으로, 캐릭터를 RigidBody를 사용해 움직이게 되면 해결됩니다. [본문] transform.position = Vector3.MoveTowards(transform.position, transform.position + forPos.normalized, Time.deltaTime * PlayerSpeed); 위의 코드가 원래 캐릭터를 움직였을 때 사용한 코드입니다. Vector3 forPos는 플레이어의 이동방향이 되겠습니다. myRigid.MovePosition(transform.position + forPos.normali..

[Unity]/[Unity] 2021.02.23

[Unity] RigidBody : Collider를 만들었는데 벽을 통과할 때

[서문] 벽에 Collider를 넣었음에도 가끔 플레이어가 벽을 통과하는 버그가 발생하곤 합니다. 물체의 가속도가 일정량 이상으로 올라가면 생기는 버그로, 원인과 해결 방법에 대해 알아보겠습니다. [본문] 1) 원인 : 2cm의 Collider가 있을 때, 1프레임 당 1cm 움직이는 물체에는 잘 적용되지만, 1프레임 당 3cm움직이는 물체는 오브젝트의 현재 위치 + 3cm = Collider의 뒷쪽 이 되면서 충돌처리가 잘 되지 않는 것입니다. 2) 해결 방법 : Interpolate의 옵션을 Extrapolate로 하면 충돌을 1프레임 더 앞서 예측하기 때문에 벽을 통과하는 현상이 나아집니다. 위의 방법에도 버그 현상이 나아지지 않는다면, Collision Detection의 옵션을 Continuou..

[Unity]/[Unity] 2021.02.22

[Unity] PlayerPrefs : 간단한 데이터 저장

[서문] PlayerPrefs : Key값과 Value값을 저장, 조회, 삭제할 수 있는 간단한 데이터 저장 방법. - 저장 가능한 데이터 타입 : int, float, string [본문] 1) 저장/수정 방법 : Set 키워드 사용 PlayerPrefs.SetInt("key0",10); PlayerPrefs.SetFloat("key1",10.5); PlayerPrefs.SetString("key2","stringWhat"); 2) 조회 방법 : Has 키워드 사용 PlayerPrefs.HasKey("key0"); //존재하면 true, 존재하지 않으면 false 3) 사용 방법 : Get 키워드 사용 PlayerPrefs.GetInt("key0"); //10 출력 PlayerPrefs.GetFloat..

[Unity]/[Unity] 2021.02.20
반응형