[1] Mesh Collider Mesh Collider 에 관해서 알게 된 것들은 아래와 같습니다. 1. Mesh Collider는 Convex를 활성화해야지만 충돌을 감지할 수 있다. 2. Mesh Collider가 붙어있고 Convex 체크가 되어있는 두 오브젝트가 충돌을 감지를 못할 경우 의심해봐야할 부분은 아래와 같다 (참고) - RigidBody가 둘다 안붙어있는 경우 => 둘 중 하나는 RigidBody 컴포넌트가 붙어있어야 충돌가능함 - 콜라이더 두개가 안겹치는 경우 => 콜라이더 범위를 늘려야함 3. Mesh Collider는 아주 세밀한 충돌 감지용도로 사용되고 보통은 Capsule Collider 를 주로 사용한다. Mesh Collider는 충돌 감지를 위한 CPU 부하가 가장 높은..
유니티의 StarterAsset은 휴머노이드에 필요한 기본 애니메이션들을 제공합니다. 이것 외에 필요한 커스텀 애니메이션을 추가해보겠습니다. [1] Maya에 3D Model 가져오기 3DModel (fbx 파일)을 마야로 끌어옵니다. 이미 Rigging(뼈) 및 Skinning(뼈랑 살이랑 바인딩) 되어있는 모델이 잘 불러와졌습니다. 이미 KeyFrame 별로 애니메이션이 들어간 모델이기 때문에 기존 애니메이션을 제거해줘야합니다. Skeleton 선택 후, Select > Hierarchy 를 눌러서 Skeletion 그룹안에 있는 모든 뼈들을 선택해줍니다. 그리고 모든 키프레임을 제거해줍니다. (참고: Delete All Keyframes) [2] Maya에서 애니메이션 만들어서 Export 하기 간..
유니티 문서에 애니메이션 용어집이 있을 정도로 애니메이션 관련 용어들이 많습니다. 자꾸 헷갈려서 간단히 정리해보려고 합니다. 이 글에서는 유니티 Animation System 을 구성하는 Animation Clip, Animator, Animator Controller, Avatar 등을 살펴봅니다. [1] Animation Model Type 유니티의 Animation System 은 두가지 타입의 모델을 다룹니다. 1. Humanoid model 실제 인간의 골격과 비슷한 모델. 최소 15개의 뼈를 포함하는 구조 (참고: Importing a model with humanoid animations) 2. Generic model 휴머노이드 빼고 모든 모델. (참고: Importing a model w..
[ 이슈 ] 카메라를 이동시키면 특정 각도에서 벽이 사라지는 것 같아보임 [ 원인 ] 저는 StarterAsset 의 PlayerFollowCamera 를 사용 중인데요, 이 카메라는 Cinemachine 패키지의 CinemachineVirtualCamera 입니다. 카메라의 body를 보면 Obstacles > Camera Collision Filter가 Nothing 으로 설정되어있습니다. 그래서 카메라가 물체에 충돌을 못한채 물체 안으로 들어가버려서 위와 같은 현상이 발생하는 것입니다. 참고로 각 필드에 대한 추가 설명은 두가지 링크를 보시면 좋습니다. - Cinemachine Collider - 3rd Person Follow Virtual Camera Explained in Unity’s Cin..
[Unity] NPC와 대화하기 (1) 에서 코루틴을 간단하게 살펴봤는데요, 조금 더 살펴보려고 합니다! 영어문서 (Coroutines) 가 더 내용이 자세하므로 이 문서를 기반으로 보겠습니다. 그리고 이 블로그 글을 추천합니다 👍 이 글 읽고 이해가 많이 되었어요! [1] 코루틴 이란? coroutine은 실행을 일시정지하고 제어권을 유니티에 넘겼다가 다음 프레임에 정지했던 지점부터 다시 코드를 실행할 수 있는 메소드 입니다. In Unity, a coroutine is a method that can pause execution and return control to Unity but then continue where it left off on the following frame. 일반 메소드는 한..
[1] UntiyWebRequest UnityWebRequest 는 web server와의 HTTP communication flow를 handle 해줍니다. UnityWebRequest는 static utility functions 을 포함하고 있습니다. UnityWebRequest.Get UnityWebRequest.Post UnityWebRequest.Put web request 를 보내려면 UnityWebRequest instance 의 UnityWebRequest.SendWebRequest 를 콜하면 됩니다. request 결과는 web request 의 result 프로퍼티, responseCode 프로퍼티, error 프로퍼티를 보고 파악할 수 있습니다. [2] Get 요청 해보기 url과 ..
[Unity] NPC와 대화하기 (1) 에서 이어집니다. ⭐️ 목표 ⭐️ - NPC와 대화 중에는 플레이어의 이동을 막는다. - 다른 Object와 소통하는 다양한 방법을 알아본다. (SendMessage , UnityEvent ) 플레이어의 이동을 막기 위해 moveSpeed를 0으로 설정해주겠습니다. [1] 첫번째 방법은 NPCAreaController에 ThirdPersonController를 주입받아서 moveSpeed를 0으로 직접 설정해주는 방법입니다. 에디터에서 controller 필드에 플레이어를 설정해주면 됩니다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.U..
저는 그동안 Xcode에서 실기기로만 빌드했었는데, 시뮬레이터를 띄우는 법을 알아보겠습니다. 이 블로그글을 참고해줬습니다. File > Build Settings 를 엽니다. iOS > Player Setting에서 Target SDK가 Device SDK로 기본설정 되어있는데, Simulator SDK 로 변경해줍니다. 그리고 단축어로 커맨드 + B 눌러서 Build And Run 해주면 Replace 하겠냐고 물어보는데 하겠다고 체크해주면 됩니다. 그럼 이제 Xcode에 시뮬레이터들이 뜨고 시뮬레이터에서 빌드할 수 있습니다. 근데 연결된 디바이스가 이제 안뜨네요;;; 시뮬 - 디바이스 바꿔서 돌릴 때마다 Target SDK를 계속 바꿔줘야하는건가...??
[Unity] NPC와 충돌감지하기 에서 이어집니다. ⭐️ 목표 ⭐️ 1. NPC와 플레이어가 만나면 대화창 (DialogPanel) 이 활성화 되도록한다. 2. 텍스트를 한글자씩 타이핑하는 효과를 낸다 with 코루틴 [1] NPC와 플레이어가 만나면 DialogPanel 이 활성화 되도록 대충 이미지와 텍스트를 자식으로 넣어둔 Panel을 만들었고 Panel 의 태그를 DialogPanel 이라고 해놨습니다. 그리고 Panel을 비활성화 해뒀습니다. 그리고 NPCAreaController 에서 충돌을 감지한 대상이 Player라면 DialogPanel을 활성화시키는 코드를 작성해줬습니다. using System.Collections; using System.Collections.Generic; usi..
[1] 준비 사항 우선 스크립트를 작성할 때, 유니티 관련 코드이 자동완성 되도록 Visual Studio를 다운받아주신 후, Preferences > External Tools > External Script Editor 에 Visual Studio 를 설정해줍니다. [2] 충돌 감지 문서 살펴보기 - Collider - MonoBehaviour.OnControllerColliderHit 제가 구글링 한 결과, 어디에 부딪혀서 둘 중 하나가 파괴되어야하는 경우는 OnCollisionEnter 를 쓰고 (참고: 유니티 유튭 영상) 플레이어가 달리다가 어떤 오브젝트를 만나서 점수가 플러스, 마이너스 되는 경우 또는 오브젝트를 밀어야하는 경우는 OnControllerColliderHit 를 쓰는 것 같아요 ..
- Total
- Today
- Yesterday
- Flutter getter setter
- flutter dynamic link
- Django Heroku Scheduler
- PencilKit
- Dart Factory
- Flutter Clipboard
- 장고 URL querystring
- Flutter 로딩
- flutter deep link
- Python Type Hint
- Flutter Text Gradient
- ipad multitasking
- Django FCM
- Django Firebase Cloud Messaging
- Sketch 누끼
- 플러터 얼럿
- flutter 앱 출시
- METAL
- SerializerMethodField
- 장고 Custom Management Command
- flutter build mode
- DRF APIException
- 플러터 싱글톤
- Flutter Spacer
- Watch App for iOS App vs Watch App
- github actions
- ribs
- drf custom error
- 구글 Geocoding API
- cocoapod
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |