ios

iOS/Unity + iOS

[iOS+Unity] iOS와 유니티 사이에 데이터 주고 받기 (Swift로 구현된 iOS + Unity as a Library에서)

Swift로 UIKit을 사용해서 iOS 네이티브 앱을 개발하다 보면 3D 구현에 한계를 느끼게 된다. 반대로 Unity3D로만 게임이 아닌(non-game) 3D 앱을 개발하다 보면 (Bondee 같은 앱을 생각하면 상상이 쉽다.) 유니티의 뿌연 UI에 한계를 느끼게 된다. 결국 이를 극복하려면 각각의 장점만 취득할 수 있어야 하는데, 유니티는 이렇게 네이티브 iOS 앱 위에 라이브러리 형태로 유니티 뷰를 얹어서 사용할 수 있도록 Unity as a Library(UaaL)를 제공하고 있다. 이 글에서는 UaaL 자체에 대한 설명은 하지 않을 예정이다. 잘 설명된 아티클 몇 개만 첨부하고 바로 UaaL에서 iOS와 유니티 사이 데이터 통신을 어떻게 하면 편하게 구현할 수 있을지 얘기해보려 한다. htt..

iOS/Unity + iOS

[iOS+Unity] 유니티 뷰 위에 Native iOS UI 얹고 효율적으로 관리하기

유니티에서도 꽤나 괜찮은 크로스플랫폼 빌드를 지원하고 있다. 물론, iOS 플랫폼도 예외는 아니다. 설정도 그닥 어렵지 않고 클릭 몇 번이면 유니티에서 작성한 코드가 iOS 앱으로 빌드된다. 하지만, 하나 무시할 수 없는 문제가 있다. 유니티는 게임엔진이지, UI에 최적화 되어 있는 것은 아니기 때문에 유니티에서 작업한 UI는 어쩔 수 없이 조금 뿌옇게 화면에 보이게 된다. 유니티가 최근 새로 밀고 있는 UI Toolkit도 예외는 아니다. 문제가 되는 건 구현해야 하는 게 게임 형식의 앱이 아닌 일반 앱의 UI를 가져야 할 때다. 3D 뷰가 필요하지만 게임이 아닌 심플한 메타버스 형식의 앱들이 그 예시가 될 수 있을 것 같다. 이렇게 유니티로만 만들어진 게임이 아닌 앱들의 UI는 섬세하지 않은 눈을 가..

iOS/Unity + iOS

Unity에서 Swift 코드 쓰기 & iOS native API 사용하기 (feat. HealthKit)

Unity가 다양한 플랫폼과의 호환을 거의 완벽할 정도로 구사하고 있긴 하지만, 아무래도 코드 내에 native 코드가 필요할 때가 아예 없는 건 아닙니다. 특정 OS에서 프레임워크 API로 내려주고 있는 코드를 쓰고 싶을 때, 즉 iOS의 경우에는 -Kit 형태로 이름이 붙은 HomeKit, HealthKit, MapKit, ARKit 등등의 프레임워크를 쓰는 경우가 좋은 예시가 될 것 같습니다. Unity로 개발하던 중에 iOS의 HealthKit과 연동해 기기 사용자의 건강 정보를 읽고 업데이트 하고 싶었는데, 한글 자료는 물론 외국 자료도 마땅치 않더라구요. 그래서 작성하는 글입니다. 기본적으로 Unity 프로젝트에 Swift 코드를 임베드 하는 방법을 설명하고, HealthKit 연동 방법까지 ..

iOS/UIKit

Swift로 인스타그램 스토리 하트 파티클 애니메이션 만들기

인스타그램을 하면서 항상 궁금했다. 내 스토리에 친구들이 하트를 눌러보면 보이는 저 하트가 올라가는 애니메이션은 어떻게 구현한 걸까? 유니티로는 파티클 애니메이션을 구현해 본 적이 있는데, Swift로 네이티브 iOS 앱을 만들 때는 어떻게 만들어야 할지 감도 안 왔다. 이것저것 찾아보니 방법에는 크게 두 가지가 있었다. CAEmitterLayer와 SpriteKit에 포함되어 있는 SKEmitterNode다. SKEmitterNode 위에서 잠깐 설명했듯, Swift로 게임을 만들 수 있게 지원하는 SpriteKit에 포함되어 있다. 인스펙터에서 실제 파티클이 생성되는 모습을 보며 값들을 조정해줄 수 있어 편리하다. 하지만 UIView에 올리기 위해서는 SKView라는 SpriteKit의 뷰를 하나 만..

Danna 다나
'ios' 태그의 글 목록