유니티(5)
-
부채꼴 범위 탐색 만들기, 벽 판정
한참 3D 토이 프로젝트로 포폴을 만들고 있을 때 학원에서 부채꼴 탐지를 만드는 법을 배웠던게 기억났습니다. 다른 분들은 어떻게 만들었나도 궁금해서 검색도 해보았는데 대부분이 부채꼴 범위 탐색은 구현을 하였는데, 벽에 가려지거나 하는 방식은 거의 없더군요. 제가 잘 못찾은 걸 수도 있구요. 그래서, 이번에 만들 것은 부채꼴 탐색 에 더해 벽 너머는 탐색을 하지 못하도록 막으려고 합니다. 옛날에 공부했던 프로젝트 파일도 다행히 남아있었고 언젠간 삭제해버릴지도 모르고해서 여기에 복습겸 기록해두기로 합니다. 일단 결론부터 말하자면 사실 부채꼴 탐색 까지는 똑같고 벽에 가려지는지 확인 하는 법은 정말 간단하긴 합니다. 부채꼴 탐색 후에 해당 방향으로 레이캐스트를 실행해서 막히지 않으면 탐색 완료된거죠. 부채꼴 ..
2023.05.25 -
Unity - json 한글 깨짐, 인코딩
json 파일에 캐릭터 이름 등을 한글로 저장한 뒤, 유니티에서 출력하면 글자가 깨지는 현상이 있습니다. 이것은 json 파일의 인코딩이 '한국어' 설정으로 되어 있기 때문입니다. 이 때, 아래와 같은 경우에서 각각 해결 방법을 알아보도록 하겠습니다. 1. 이미 생성된 파일일 때 2. 새로 파일을 생성할 때 (세이브 파일 등) 1. 이미 생성된 파일일 때 json 파일을 열고, 다른 이름으로 저장을 눌러 저장 경로 설정 화면을 열어줍니다. 저장 버튼 옆의 ▼ 확장 버튼을 눌러서 메뉴를 열고, '인코딩 하여 저장'을 누릅니다. 덮어 쓰기 메세지 창의 확인 버튼을 누르면 다음과 같이 고급 저장 옵션이 열립니다. 보통 이 부분이 아래와 같이 '한국어' 또는 'Korea' 로 설정되어 있다고 합니다. 인코딩 메..
2023.03.25 -
Unity - IOException 오류, 유니티 파일 접근 오류
유니티에서 파일에 액세스 한 뒤, 다른 작업을 하려고 할 때에 오류가 발생할 때가 있습니다. IOException 오류는 이미 열려있는 파일에 접근하려고 할 때 발생하는 오류입니다. 저는 보통 세이브 파일을 생성한 뒤에 나왔습니다. System.IO.File.Create() 함수로 파일을 생성하면, 해당 파일은 열려있는 상태가 되어버립니다. 이러한 파일은 닫기까지 해줘야 추가적인 작업이 정상적으로 작동합니다. 만약 닫지 않고 수정을 시도하면 아래의 오류 코드가 나오게 됩니다. 파일을 닫기 위해서는 FileStream 클래스의 Close() 함수를 사용하시면 됩니다. { // 파일 생성 FileStream file = File.Create(path); // 또는 // FileStream file = Fil..
2023.03.25 -
Unity - 폴더, 파일 탐색 및 생성
대부분 게임을 시작하면, 자동으로 유저의 정보를 저장하는 세이브 데이터가 자동으로 생성됩니다. 이럴 때에는 저장할 경로를 찾아 세이브 폴더와 파일을 생성하는 코드를 필요로 합니다. 이미 이전에도 관련해서 글을 쓴 적이 있는데요, https://dyunace.tistory.com/10 Unity - 클라이언트 데이터 저장/불러오기, 파일 유효성 검사 게임을 만들 때, 필수 요소 중 하나는 저장과 불러오기 입니다 데이터를 저장할 때에는 서버에 저장하는 방식과 클라이언트에 저장하는 방식이 있습니다. 클라이언트에 저장하는 방법은 서버에 dyunace.tistory.com 이번에는 약간의 다른 방법으로, 파일을 탐색하고 생성하는 법을 알아보도록 하겠습니다. 먼저 파일을 탐색하고 생성하는 방법에 대해 설명드리겠습니..
2023.03.25 -
Unity - 클라이언트 데이터 저장/불러오기, 파일 유효성 검사
게임을 만들 때, 필수 요소 중 하나는 저장과 불러오기 입니다 데이터를 저장할 때에는 서버에 저장하는 방식과 클라이언트에 저장하는 방식이 있습니다. 클라이언트에 저장하는 방법은 서버에 저장할 때보다 빠르다는 장점이 있습니다. 서버에 연결하는 시간을 기다릴 필요가 없기 때문에 빠릅니다. 클라이언트 저장 방식의 단점으로는 유저가 파일을 쉽게 찾아 변조할 수 있는 취약점이 있습니다. 프로그램의 저장 경로를 찾기만 하면 세이브 데이터를 확인 및 수정 할 수 있기 때문입니다. 아래 목차를 Ctrl + F 로 검색하여 찾아가시면 빠릅니다. 1. 실험용 오브젝트 준비하기 2. 데이터를 담을 클래스 작성하기 3. 데이터 저장/불러오기를 관리할 스크립트 작성하기 3.1. 파일 유효성 검사 4. 실행해보기 1. 실험용 오..
2023.03.24