본문 바로가기

Unity

유니티 데이터 패스 정리 유니티 데이터 패스 정리 각 플랫폼별로 Application 클래스의 프로퍼티들이 지정하는 경로와 엑세스에 대해 정리해보았습니다.테스트한 기기에 따라 결과가 다를 수 있는데, 미진한 부분들은 댓글 남겨주시면 감사하겠습니다. [윈도우 에디터]Application.persistentDataPath : 사용자디렉토리/AppData/LocalLow/회사이름/프로덕트이름 파일 읽기 쓰기 가능Application.dataPath : 프로젝트디렉토리/AssetsApplication.streamingAssetsPath : 프로젝트디렉토리/Assets/StreamingAssets 파일 읽기 쓰기 가능 [윈도우 응용프로그램]Application.persistentDataPath : 사용자디렉토리/AppData/LocalL.. 더보기
[펌]물리 충돌 제대로 사용하자 Collider Collider만 붙어있는 오브젝트는 물리 엔진에서 Static Collider로 따로 관리된다. 이동을 막는 벽의 역할을 수행할 때 적합하며 transform을 직접 움직일 경우 부하가 생기므로 움직이지 않는 경우에만 사용한다. 벽이 아닌 감지 기능으로 사용할 경우에는 IsTrigger 옵션을 켠다. 이 옵션을 켜면 물리 충돌은 일어나지 않고 충돌 감지만 된다. Collider & RigidBody Collider와 Rigidbody가 붙어있는 오브젝트는 Collider만 붙어있는 오브젝트와 달리 물리적인 힘으로 움직일 때 사용한다. 움직이는 벽이라면 IsTrigger를 끄고, 움직이는 감지 물체라면 IsTrigger 옵션을 켠다. Collider가 붙어 있으므로 transform으로 .. 더보기
오큘러스 모바일 SDK - 어플리케이션 서명 어플리케이션 서명 오큘러스 모바일 앱은 2개의 확실한 서명을 요구합니다. · 오큘러스 서명 파일 (개발 동안 요구되고, 제출 시 삭제) · 안드로이드 어플리케이션 서명 (제출 시 요구됩니다) 오큘러스 서명 파일(osig) 개발하는 동안, 당신의 어플리케이션은 오큘러스에서 발행한 오큘러스 서명 파일(osig)로 승인 받아야 합니다. 이 서명은 파일 형태로 당신의 어플리케이션에 포함되며, 당신의 모바일 기기의 보호된 저수준의 VR 기능에 접근하기 위해 사용됩니다. 서명파일은 기기간 공유할 수 없으므로, 개발에 사용하는 기기에 맞는 osig 파일을 따로 생성하셔야 합니다. 어플리케이션이 제출되고 승인된다면, 오큘러스가 모든 기기에서 사용할 수 있도록 APK를 변경합니다. osig 요청을 위한 더 많은 정보와 .. 더보기
오큘러스 모바일 SDK - 요구사항 해당 내용은 Oculus Developer Center에 있는 내용을 참고하여 적었습니다. - https://developer.oculus.com/documentation/mobilesdk/latest/ 1. 운영체제 요구사항 · Windows 7 or 8· Mac OS : 10.6+ (x86 only) 2. 최소 시스템 요구사항 · 2.0+ GHz processor· 2 GB system RAM 3. 지원 VR 헤드셋 · 삼성 기어 VR 4. 지원 기기 · 삼성 노트5· 삼성 갤럭시 S6· 삼성 갤럭시 S6 Edge· 삼성 갤럭시 S7· 삼성 갤럭시 S7 Edge 기어 VR Innovator v2 · 삼성 갤럭시 S6 기어 VR Innovator v1 · 삼성 노트4 5. 타겟 기기 요구사항 · API.. 더보기
유니티 샤오미 패드 Key Setting Edit - ProjectSettings - Input 에 들어가 Inspector 창에 InputManager에서 키 세팅한다. Axes에서 Size를 늘려 Input들을 추가해 준 뒤 값을 넣어주면 된다. 다음과 같이 Name, Positive Button 할당, Type을 선택해 주었다. Input 설정 방식은 Type이 어떤가에 따라 입력값이 다르다. · Type이 Key or Mouse Button인 경우-> Positive Button 입력 · Type이 Joystick Axis인 경우-> Axis 입력 버튼별로 입력해 줘야 하는 값은 다음과 같다. 사진 출처 - Oh Young Wook님의 포스타입 (http://krucef.postype.com/post/86976/) 사진 출처 - Oh Y.. 더보기
Inventory 시스템 구현 유뷰브에서 유니티 인벤토리 키워드 검색으로 나온 동영상으로 인벤토리 구현에 관하여 공부하였다. 링크 https://www.youtube.com/watch?v=ZW6RCKVnqT4 를 보면 자세히 나와있다. 이 동영상에서 다루는 인벤토리 기능은 총 5가지이다. 1. 인벤토리 창 띄우기 2. 인벤토리 창에 아이템 추가 3. 인벤토리 창에서 드래그 앤 드롭으로 아이템 이동 4. 인벤토리 창에서 드래그 앤 드롭으로 아이템 교환 5. 아이템에 마우스 올릴 시 아이템 정보 툴팁 표시 1. 인벤토리 창 띄우기 인벤토리 창은 유니티에서 지원하는 UI(Canvas)로 만들었다. 구조는 크게 Canvas 안에 Inventory Panel과 Tooltip이 있다. Inventory Panel은 인벤토리 내용이 들어가는 Pa.. 더보기
페이스북 App Detail 페이스북 개발자 홈페이지에 들어가서 좌측의 App Details 클릭하고 해당 사항을 적어준다. 다음 처럼 앱 정보를 입력한다. 더보기
facebook publish_actions 페이스북에서 유저의 스코어나 스크린샷 등을 가져오기 위해서 publish_actions permission이 필요하다고 한다. publish_action permissions은 페이스북 개발자 페이지에서 승인을 요청해야한다. 개발자 페이지에서 Status & Review - Start a Submission 더보기
유니티와 페이스북 연동(2) 유니티와 페이스북 연동을 완료했으면 이를 테스트하기 위해 스크립트를 작성할 것이다. 더보기
물리엔진 최적화 물리엔진 최적화 · Fixed Update 주기 조절(Update와 별도로 주기적으로 불리며 주로 물리 엔진 처리) - 디폴트는 0.02초, 즉 1초에 50번 호출 - TimeManager에서 수정 가능 - 게임에 따라 0.2초 정도(혹은 이상)로 수정해도 문제 없음 · 움직이지 않는 배경 물체는 static으로 설정 · 리지드 바디가 없는 고정 충돌체를 움직이면 CPU 부하 발생 - 리지드 바디를 추가하고, IsKinematic 옵션 사용 · Maximum Allowed timestep 조정 - 시스템에 부하가 걸려 지정된 시간보다 오래 걸릴 경우, 물리 계산을 건너 뛰는 설정· Solver Iteration Count 조정 - 물리 관련 계산을 얼마나 정교하게 할지 지정 (높을수록 정교) - Edit.. 더보기