# as is 스크립트에 변수를 선언할 때 인스펙터 창에서 접근할 수 있게 하기 위하여 모두 public 으로 선언했다. 하지만 public으로 선언하면 인스펙터 창 뿐만아니라 외부 스크립트에서도 접근가능하게 하는 것이다. # to be 인스텍터 창에서 노출시키고 싶은데, 외부스크립트 로부터는 감추고 싶을 때 SerializeField 를 사용할 수 있다!! 유니티가 사용자의 스크립트를 직렬화 하는 경우에, public 필드만 직렬화합니다. 추가로 유니티가 private 필드를 직렬화하도록 설정하고 싶은 경우에, SerializeField 속성(attribute)을 필드에 추가할 수 있습니다. 직렬화를 하게되면 인스펙터에서 해당 필드가 노출됩니다. 유니티는 사용자의 모든 스크립트 컴포넌트를 직렬화 하고,..
클린아키텍처 11장 DIP - 의존성 역전원칙 을 읽다가 Abstract Factory 에 대해 여러 고민이 들어서 기록! [1] 책 내용 객체를 생성하려면 해당 객체를 구체적으로 정의한 코드에 대해 소스 코드 의존성이 발생하게 된다. 이런 의존성을 처리하기 위해 추상 팩토리를 사용한다. 예를들어 Application은 ConcreateImpl 에 대한 소스 코드 의존성을 만들지 않기 위해 ServiceFactory 인터페이스의 makeSvc 메소드를 호출하고 ServiceFactoryImp 구현체가 ConcreateImpl 의 인스턴스를 생성한 후 Service 타입으로 반환한다. 곡선은 아키텍쳐 경계를 뜻하는데, 구체적인 것들로부터 추상적인 것들을 분리한다. [2] 경험 + 구글링 보통 Factory..
[1] 유니티 공식 API 또는 플러그인 찾아보기 우선 유니티에서 제공하는 API 또는 플러그인이 있나 찾아봤는데요,, 1. VideoCapture Unity - Scripting API: VideoCapture This API is supported in the Windows Players (Standalone and Universal Windows Platform) and in the Windows Editor. The final video recording will be stored on the local file system in the MP4 format. VideoCapture is implemented using the WinRT interface: docs.unity3d.com 윈도우 웹캠..
[1] 카메라 전환 유니티에서 카메라를 전환하고 싶을 때는 enabled나 setActive 로 카메라 활성화 여부를 바꿔주면 됩니다. 예를들어 현재 A 카메라가 활성화된 상태인데, A 카메라를 비활성화 시키고 B 카메라를 활성화 시키면 A -> B 카메라로 옮겨갑니다. https://docs.unity3d.com/kr/2020.3/Manual/MultipleCameras.html 두 개 이상의 카메라 사용 - Unity 매뉴얼 Unity 씬이 생성될 때는 하나의 카메라만 포함되며 대다수의 경우 이것만으로도 충분합니다. 하지만 원하는 경우 씬에서 많은 카메라를 사용할 수 있으며 카메라의 뷰를 다양한 방식으로 결합할 docs.unity3d.com [2] 시네머신 카메라 전환 Cinemachine 패키지를 ..
스크린샷을 찍고 (참고) 프리뷰를 보여주고 싶을 때가 있습니다. 아래의 순서로 작업해주면 됩니다. 1. CaptureScreenshotAsTexture 로 Texture2D 를 구한다. 2. Sprite.Create 로 Texture2D -> Sprite를 해준다. 3. Image의 sprite를 세팅한다. public Image preview; private Texture2D texture; private void CaptureAndShowPreview() { texture = ScreenCapture.CaptureScreenshotAsTexture(); Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height..
RxSwift 는 5가지 방법으로 이 라이브러리를 사용할 수 있다고 가이드하고 있습니다. 1. Cocoapod 2. Carthage 3. SPM 4. xcframework 5. git submodule [1] 제공하는 쪽 써드파티 라이브러리를 제공하는 입장에서 각각을 지원할 수 있는 가이드에 대한 링크를 정리해둡니다. (저는 Cocoapod과 SPM은 예전에 해봐서 카르타고, xcframework 를 한번 해봐야겠어요) 1. Cocoapod 지원하기 https://guides.cocoapods.org/making/making-a-cocoapod.html [ static vs dynamic ] 사용하는 쪽에서 podfile에 use_frameworks! 을 안써주느냐 써주느냐 로 static 또는 dyna..
[1] 효과음 준비 AssetStore에도 카메라 효과음이 올라와있지만 다운받기 전에 들어볼 수 가 없어서,, https://assetstore.unity.com/packages/audio/sound-fx/camera-sound-fx-32342#content Camera Sound FX | 음향 효과음 | Unity Asset Store Layer in the sounds of Camera Sound FX from SoundBits for your next project. Browse all audio options on the Unity Asset Store. assetstore.unity.com 여기서 들어보고 하나 다운받았어요! ('카메라 써터음 1회 / 5' PICK) https://pgtd.ti..
유니티의 ScreenCapture는 세가지의 메소드를 제공합니다. 이 중, 저는 png 파일이 필요해서 CaptureScreenshot 을 써보겠습니다. 문서에는 이렇게 파일명만 나와있지만 파일명과 함께 확장자도 적어줘야지 png 파일로 저장이 됩니다! ScreenCapture.CaptureScreenshot("SomeLevel.PNG"); ScreenCapture.CaptureScreenshot("SomeLevel.png"); [1] 경로를 안지정했을 때 위의 예제처럼 경로 없이 파일명 + 확장자만 적어주면 # PC 유니티 프로젝트 폴더 안에 png 파일이 저장됨 # iOS 문서에 보면 모바일 플랫폼인 경우, Application.persistentDataPath + 파일명으로 저장된다고 하네요 근데 ..
[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 하기 간..
- Total
- Today
- Yesterday
- Flutter Text Gradient
- METAL
- drf custom error
- Dart Factory
- Django Heroku Scheduler
- Flutter getter setter
- Flutter Spacer
- github actions
- flutter 앱 출시
- Django Firebase Cloud Messaging
- PencilKit
- flutter deep link
- ribs
- Django FCM
- ipad multitasking
- cocoapod
- 장고 URL querystring
- 플러터 싱글톤
- flutter dynamic link
- DRF APIException
- flutter build mode
- 플러터 얼럿
- Flutter 로딩
- Python Type Hint
- Flutter Clipboard
- 장고 Custom Management Command
- Watch App for iOS App vs Watch App
- 구글 Geocoding API
- Sketch 누끼
- SerializerMethodField
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |