분류 전체보기111 메타버스 게임 디자인 - 최종 어제 메겜디 최종 평가를 진행했다. 서로 바꿔서 플레이 해봤는데, 디자인과 분들은 역시 다들 예쁜 맵을 만드셨다. 그래도 옆에 앉은 분이 내 게임 플레이해보면서 이거 진짜 재밌다고 말씀해주셔서 행복했다.... 그리고 진짜 재밌어 하시는 것 같아서 뿌듯했다. 내가 다른 분들꺼 플레이할 땐 나무 곡괭이 만들 줄 몰라서 손으로 돌 부수다가 놀림 받았다.. 진짜 웃으시던데,, 저 바보는 아니에요ㅠ 용암에 빠지거나 세계 밖으로 떨어지거나 뒤로 가거나 다음 맵으로 통과 4가지 버튼이 랜덤으로 배정되어 있는데, 이 부분 재밌어 하셨다ㅎㅎ 2023. 6. 10. 체감형 AR 디자인 - 최종 GitHub 링크 onenewkong/ARFPSGame: 3-1 체감형AR디자인 과제물 (github.com) GitHub - onenewkong/ARFPSGame: 3-1 체감형AR디자인 과제물 3-1 체감형AR디자인 과제물. Contribute to onenewkong/ARFPSGame development by creating an account on GitHub. github.com 마감 날짜가 다가왔다..!! 많이 아쉽고 부족하지만, 좋은 경험이었다. AR은 처음이었고, 처음 시작할 땐 걱정이 더 많았지만 해보니 재밌다. 가장 신경 썼던건 오브젝트 풀링과 충돌 처리였고, 막판에 UI와 애니메이터, destroy 시 몬스터 죽은 위치에 blood Prefab 두는거 등등 추가하면서 평소에 잘 안건.. 2023. 6. 4. 체감형 AR 디자인 - 최적화 텀프를 어느 정도 진행하다보니, 오류나 어려웠던 점들을 정리해두려고 오랜만에 티스토리 들어왔다 요즘 거의 텀프랑 팀플에만 시간을 다 쓰는 것 같고 그러니 24시간이 부족하다는 생각이 든다.. 암튼,, 우선 monster 프리팹이 3가지로, 색이 각각 다르다 그래서 monsterFactory를 3개 만들어서 하나의 오브젝트 풀에 담고, 조건에 맞게 씬에 생성하도록 했다. 생성은 SetActive를 활용했고, 총알에 맞으면 SetActive(false)하도록 충돌처리를 했다. 몬스터가 생성될 때 StartCoroutine()을 사용해봤다. 총알도 마찬가지로 오브젝트 풀을 사용했고, 터치를 입력 받을 때마다 생성되도록 했다. 배열로 써둔 코드를 최적화할 때 좀 어려웠고 생각보단 시간 투자를 많이 한 것 같다... 2023. 5. 17. Object Pool 메모리는 좌측에서 우측으로, 위쪽에서 아래쪽으로 데이터를 저장하는 특징이 있음 이 때 첫번째 이미지와 네번째 이미지를 메모리에서 제거해보면 아래 이미지 처럼 됨 만약, 3번 이미지를 추가로 로드하려면 3번 이미지가 메모리에 로드될 때 필요한 공간은 6칸이 되고 확보하고 있는 빈 공간은 1번과 4번을 제거했으므로 7칸이 남아있음 그러면 3번 이미지를 로드할 때, 이렇게 오버 플로우가 발생함 2번 이미지는 데이터의 손실이 발생해 문제가 생김: 메모리 파편화 / 메모리 단편화 문제 이를 방지하기 위해 C# / JAVA는 가비지 콜렉터를 돌려 메모리를 정리해주지만, 이는 CPU를 낭비하는 일이므로 비효율적 따라서, 사용할 데이터를 미리 메모리에 올려 메모리에서 삭제하지 않음 그러면 메모리를 정리할 필요도 없으니.. 2023. 5. 6. C# / 싱글톤 디자인 패턴 해당 객체의 메모리를 정적으로 할당하여 하나의 객체에만 접근하는 방법 프로그램이 동작하는 동안 최초로 생성된 객체 하나에만 접근하게 되므로 데이터를 접근하고 수정하는데 아주 용이한 특징이 있음 생성자를 다른 곳에서 새롭게 선언하더라도 이미 정적으로 선언된 객체가 반환되므로 중복 생성을 방지 초기 객체를 생성하게 되면 정적 메모리에 올라가므로 이후 호출하는데 빠르게 접근 가능 정적 메모리에 할당된 객체로 해당 객체에 너무 큰 메모리가 쌓이게 되면 프로그램 성능이 현저하게 낮아질 수 있음 (정적 메모리에 할당할 수 있는 메모리 크기가 제한적) 프로그램이 복잡해지면서 서로 다른 데이터를 공유하게 되는데 이때 다른 객체들과 결합도가 낮아지게 됨 하나의 정적 메모리를 사용하므로 병렬 처리나 동기화와 같이 여러 방.. 2023. 5. 6. Raycast Physics.Raycast 직선을 씬에 투영하여 대상에 적중되면 true를 리턴하는 물리 함수 캐스팅 성공 실패에 따른 결과만 리턴하는 간단한 형태에서 부터 대상과 Ray의 충돌에 관련된 자세한 정보를 (직선과 객체의 교차 정보. 거리, 위치, 캐스팅에 검출된 객체의 Transform에 대한 참조 등) 리턴하는 다양한 버전이 제공되고 있음 Ray 변수 RaycastHit 변수 Raycast 함수 Ray 구조체 사용법 : Ray는 직선의 시작점(origin)과 방향(direction)을 가지고 있는 단순한 구조체 시작점(origin)은 Vector3 타입의 월드 포지션이며 방향(direction)은 직선 Ray 생성 방법 1) new 이용해 직접 생성 Ray ray = new Ray(transform.p.. 2023. 4. 5. 이전 1 ··· 11 12 13 14 15 16 17 ··· 19 다음