전체 글 49

[Flutter]Cafe24 Oauth2 - 1

Cafe24 쪽 Oauth를 구현해야 할 일이 생겨서 작업하는 도중에 원활히 되지 않아서 작업 내용을 기록합니다. 일단 Cafe24 쇼핑몰을 개설하고 앱을 개별적으로 만들는 작업을 진행중입니다.Flutter를 이용해서 앱을 만들 예정인데 API 가 모두 공개 되어 있어서 비교적 수월합니다.Cafe24 가입 후 개발자 센터도 가입합니다.  Android로 앱을 등록합니다.중복등록이 안되기 떄문에 Android 와 IOS 따로 생성해야 합니다. Redirect URI 등록을 해야 하는데 이 개념이 없어서 고생했습니다.인증코드 요청 후 해당 URI Scheme으로 인증코드가 날라옵니다.모든 앱은 고유 패키지명을 가지고 있기 때문에 패키지명://경로 와 같이 설정 합니다.예를들면 패키지명이 com.testapp..

Flutter 2024.08.21

[Playfab]PlayerData

Playfab AzureFunction 에서 PlayerData를 조작하기 위해서는 호출자의 PlayfabID 를 알아야 합니다.Playfab 내부에는 Master player accountID라고 표현되어 있고 API 상에서는 그냥 PlayFab ID라고 표현되어 있습니다.서버 입장에서는 누가 호출한 것인지 모르기 때문에 누구 데이터를 수정해야 하는지 확인 해야 하는데 필요합니다. FunctionExecutionContext context = JsonConvert.DeserializeObject>(await req.ReadAsStringAsync()); string playfabID = context.CallerEntityProfile.EntityChain.Split("/")[2];지난 포스트에서도 ..

기타 2024.07.14

[PlayFab]CloudScript - AzureFunction

https://aostols.tistory.com/49 [기타]뒤끝서버 사용기이러 저러한 사정으로 게임을 급하게 하나 만들어서 출시 했습니다.서버개발자가 없었기 떄문에 뒤끝서버라는 솔루션(?)을 사용 했습니다.GBaas로 Game Backend as a Service 서비스 입니다.서버가 필요aostols.tistory.com 국내 서비스인 뒤끝 서버를 사용해 볼 일이 있었고 추가로 궁금하여 PlayFab을 사용해 보기로 하였습니다.PlayFab은 MS가 서비스 하는 GBaas로 MS이기 떄문에 당연히 Azure로 붙습니다.PlayFab은 CloudScript라는 서버 스크립트가 있었고 뒤끝의 뒤끝펑션과 아주 유사한 형태인거로 보입니다.초창기 CloudSccript는 자바 스크립트로 구성되어 있는것 같은..

기타 2024.07.07

[기타]뒤끝서버 사용기

이러 저러한 사정으로 게임을 급하게 하나 만들어서 출시 했습니다.서버개발자가 없었기 떄문에 뒤끝서버라는 솔루션(?)을 사용 했습니다.GBaas로 Game Backend as a Service 서비스 입니다.서버가 필요한데 서버 개발자가 없다면 사용 할 수 있습니다.한국 업체이고 AWS 기반으로 동작합니다.사용하면서 장단점이 명확해서 적어보겠습니다. DB주력 기능으로 계정마다 DB저장이 필요한 것들을 저장할 수 있었습니다.이 자체는 좋았지만 사용자 전체를 대상으로 하는 DB는 없었고 특정 그룹으로 예를 들어 길드나 파티가 소유하는 DB는 없었습니다.이것이 나중에 발목을 잡아서 무언가 컨텐츠 만들기 한계가 명확했습니다.특정 던전이 있는데 단계벼로 최초 클리어 한 사람 목록을 만들어 주고 싶은데 이런것들은 불..

기타 2024.06.30

[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

[Flutter]기본 애니메이션

AnimatedOpacity 투명도를 조절하고 싶다면 AnimatedOpacity를 사용 합니다. Flutter 기본 프로젝트에서 텍스트 부분만 Opacity를 적용해 봤습니다. AnimatedOpacity( duration: const Duration(milliseconds: 300), opacity: _counter%2==0?0.2:1, child: const Text( 'You have pushed the button this many times:', ), ), duration은 전환 시간으로 300 milliseconds 즉 0.3초 입니다. opacity는 투명도입니다. 여기서는 0~1 사이의 실수. 그래서 버튼을 누를떄마다 투명해졌다 진해졌다 전환하게 됩니다. 테스트 해보면 코드대로 잘 동작하..

Flutter 2023.09.17

[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