Unity Engine 25

[Unity]Playfab + Firebase 인증

Playfab 과 Firebase를 같이 쓰게 될 경우 유저 인증을 Playfab으로 하게 됩니다.이때 Firebase 를 인증할 방법이 없어지게 됩니다.Playfab 계정과 Firebase 계정이 1:1로 매칭되어야 하는데 만일 각자의 방법으로 로그인을 하게 된다면 매칭이 깨질 우려도 있습니다.최악의 경우에는 다수의 Playfab유저가 하나의 Firebase를 공유 하는 상황도 발생 할 수 있습니다.이럴경우 사용하는 것이 Firebase 의 SignInWithCustomToken 입니다. 일단 서비스의 주체는 Playfab이기 때문에 Playfab으로 인증을 해 줍니다.google 인증이거나 email 등 어떤방식으로든 인증하면 됩니다.이후 PlayfabId를 기준으로 FirebaseAdmin API를..

Unity Engine 2025.03.25

[Unity]Playfab + AzureBlobStorage 사용하기

원래 계획은 Playfab을 사용하여 게임 데이터를 Playfab TitleData에 넣으려고 했습니다.그런데 Playfab에서 넣을수 있는 노드의 양이 적고 전체 크기 역시 제한적이기 때문에 결론적으로는 넣을수 없었습니다.그래서 방법을 찾아보다 Azure에 넣어야 겠다고 생각했고 여기서 보안적인 이슈 때문에 요청이 있을때만 잠깐 경로를 열었다가 이외에는 닫는 방법을 생각하여 Azure Blob Storage 의 SAS를 사용하기로 하였습니다. 일단 Aure Portal 에 로그인합니다. 구독은 비용관련된 내용이기 때문에 구독을 등록 하셔야 대부분의 기능을 이용 하실 수 있습니다.우선 리소스 그룹을 만들어 줍니다.서비스할 영역은 한국이기 때문에 Korea Central(서울)로 만들어 줍니다.리소스 그룹..

Unity Engine 2024.12.26

[Unity]ECS - BurstCompile

https://aostols.tistory.com/47 [Unity]ECS - 2 https://aostols.tistory.com/46 [Unity]ECS ECS 가 최근에 정식으로 출시 되었습니다. DOTS 의 핵심중 하나인데요 DOTS 는 3가지 큰 주제로 구성되고 있습니다. 1. ECS Component 2. Burst Compiler 3. Job System 여기서 ECS 가 aostols.tistory.com 이어서 진행 됩니다. ECS 의 최적화 입니다. 가장 단순하고 효과좋은것이 BurstCompile입니다. https://docs.unity3d.com/Packages/com.unity.burst@0.2/manual/index.html Burst User Guide | Package Man..

Unity Engine 2023.12.21

[Unity]ECS - 2

https://aostols.tistory.com/46 [Unity]ECS ECS 가 최근에 정식으로 출시 되었습니다. DOTS 의 핵심중 하나인데요 DOTS 는 3가지 큰 주제로 구성되고 있습니다. 1. ECS Component 2. Burst Compiler 3. Job System 여기서 ECS 가 가장 늦게 정식버전이 되었는 aostols.tistory.com 여기서 이어서 진행됩니다. 소스에서 사용된 내용 몇개를 추가해 줍니다. 랜덤으로 스폰되어야 하기 떄문에 Random 관련 함수들을 추가해 줍니다. using Unity.Mathematics; public static class MathExtensions { public static float3 NextOnDisk(this ref Random..

Unity Engine 2023.12.19

[Unity]ECS

ECS 가 최근에 정식으로 출시 되었습니다. DOTS 의 핵심중 하나인데요 DOTS 는 3가지 큰 주제로 구성되고 있습니다. 1. ECS Component 2. Burst Compiler 3. Job System 여기서 ECS 가 가장 늦게 정식버전이 되었는데요 Package Manager에서 찾아볼 수 있습니다. 이제 DOTS를 활용하여 데이터 지향 프로그래밍을 할 수 있습니다. ECS의 샘플 프로젝트 주소 입니다. https://github.com/keijiro/ECS-Strawman GitHub - keijiro/ECS-Strawman: The simplest Unity ECS/DOTS example. The simplest Unity ECS/DOTS example. Contribute to kei..

Unity Engine 2023.12.05

[Unity] Animation Controller

애니메이션을 제어하기 위해서는 Animation Controller 컴포넌트를 사용합니다. Animation Controller 는 StateMachine 으로 동작하며 StateMachine의 가장 큰 특징은 하나의 State만 존재한다는데 있습니다. 기본적인 모습은 위와 같으며 기본적으로는 위의 상태중 하나만 가지고 있습니다. 각각의 화살표는 Transition을 나타내며 각 State를 이동하는 조건을 나타 낼 수 있습니다. Animator 창에서 Animation Controller를 보게 되면 Parameters 탭이 있는데 여기서 Transition에서 사용할 parameter 들을 설정 할 수 있습니다. +버튼을 눌러서 타입을 정할 수 있고 이름을 변경 할 수 있습니다. Transition을..

Unity Engine 2023.04.23

[Unity] ScriptableObject + Reflection

프로젝트를 진행하다보면 많은 양의 ScriptableObject를 사용할 경우가 있습니다. 종류가 많아지게 되면 로드단에서 관리가 필요하게 되는데 이떄 Attribute과 Reflection을 활용해서 로드단에서 ScriptableObject를 분류하여 정리하는 방식을 알아보겠습니다. 우선 ScriptableObject에 사용할 Attribute를 만들어 줍니다. 하나하나가 의미있는것이 아니고 그냥 넣은값이 잘 보이는지 확인하는 용도이기 떄문에 개별 변수는 의미가 없습니다. using System; [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public class SOAttribute : Attribute { private eSOTyp..

Unity Engine 2023.03.28

[Unity]Job System + String

Unity Job System에서는 NativeArray를 사용하기 떄문에 기본적으로 string으로 사용하지 못합니다. 정확히는 NativeArray을 사용하지 못합니다. 금칙어를 구현하는 과정이었고 다량의 string비교가 있어서 성능적인 이슈가 많아 Job을 사용하려고 Job + string을 여러 방면으로 연구 하였고 방법을 찾긴 했지만 효과적이지 못했습니다. 부분적으로나마 JobSystem + string을 사용 가능한 방법을 찾아 정리해 봅니다. private NativeArray _sourceWords; private NativeArray _result; private string _testString = "hello\nworld\nhealthy\ncoffee\ncafe\nkeyboard";..

Unity Engine 2023.03.03

Cinemachine - Impulse + SecondaryNoise

Impulse와 그에 따른노이즈를 함께 사용하는 방법 입니다. void Update() { if (Input.GetKeyDown(KeyCode.Space)) { DoImpulse(); } } private void DoImpulse() { _source.m_DefaultVelocity = new Vector3(0, 0, 3f); _source.m_ImpulseDefinition.m_ImpulseDuration = 0.5f; _source.m_ImpulseDefinition.m_ImpulseChannel = 1; _source.GenerateImpulse(); } Impulse는 기존과 동일한 방식을 사용합니다. 스페이스바를 누르면 Impulse가 동작 하도록 하는 방식입니다. 이제 여기에 추가할 Nois..

Unity Engine 2023.02.09

Cinemachine - Impulse

Cinemachine Virtual Camera 에서 화면을 흔드는 것중 하나인 Cinemachine Impulse는 Noise보다 좀 더 정확하고 방향성을 가진 흔들림에 적합합니다. Noise가 단순히 피격 후나 걷기 등의 흔들림을 표현 할 수 있따면 Impulse는 총기 반동등을 표현 할 수 있습니다. Cinemachine Impulse 설정 우선 Cinemachine Impulse Listener를 추가 해야 합니다. 일반적인 컴퍼넌트 추가 방식이 아니고 Cinemachine Virtual Camera에서 하단에 Extensions가 보이는데 여기서 CinemachineImpulseListener를 추가해 줍니다. 이제 Impulse를 받는쪽은 되었으니까 주는 쪽을 추가 해 줍니다. Cinemach..

Unity Engine 2023.01.02