분류 전체보기 46

Flutter - CustomWidget + VoidCallback

StatelessWidget을 상속받아 커스텀 위젯을 만들 수 있습니다. 당연히 여러 방면에서 쓰일수 있고 전체 코드양을 줄이며 재활용 하기 편하기 떄문에 다른 언어에서도 많이 사용 하는 방법 입니다. https://aostols.tistory.com/16?category=564017 Flutter - StatelessWidget / StatefulWidget StatelessWidget 간략히 설명하자면 한번 그려지고 나면 다시 그려지지 않습니다. 예를 들어서 단순히 이미지 + 버튼 링크만 있는 상황이라면 언제나 링크만 동작하면 되기 때문에 이럴때 StatelessWidge aostols.tistory.com 기존 코드를 약간 변형해서 사용 해 봅시다. import 'package:flutter/mat..

Flutter 2022.06.23

Unity - RaycastCommand, IJobParallelFor

Unity 에서 레이캐스트용 Job 객체가 있습니다. RaycastCommand 라는 객체인데 이것의 성능을 테스트 하기 위해 실험을 해 보았습니다. 0.1도 단위로 Ray를 쏴서 성능 비교를 진행 하였습니다. Update()문에서 일반 Physhics.RaycastNonAlloc 으로 처리된것과 RaycastCommand로 처리한 것을 비교 해 보았습니다. for (int i = 0; i < totalRay; ++i) { float angle = stepSize * i; float rad = angle * Mathf.Deg2Rad; Vector3 direction = new Vector3(Mathf.Sin(rad), 0, Mathf.Cos(rad)); Ray ray = new Ray(this.trans..

Unity Engine 2022.06.21

Custom Inspector - ReorderableList(2)

ScriptableObject 를 활용하여 데이터를 편집할때 인스펙터를 수정하는 방법을 확인 해 보겠습니다. [Serializable] public class CharacterInfo { public string CharacterName; public int CharacterLevel; public float value; } 기본적인 데이터 입니다. 이것이 배열 형태로 ScriptableObject로 처리 됩니다. [CreateAssetMenu(fileName = "CharacterData", menuName = "Scriptable Object/CharacterData")] public class CharacterData : ScriptableObject { [SerializeField] private..

Unity Engine 2022.06.20

Flutter - StatelessWidget / StatefulWidget

StatelessWidget 간략히 설명하자면 한번 그려지고 나면 다시 그려지지 않습니다. 예를 들어서 단순히 이미지 + 버튼 링크만 있는 상황이라면 언제나 링크만 동작하면 되기 때문에 이럴때 StatelessWidget을 사용 합니다. 데이터에 의해 값이 변경되지 않을 경우 사용합니다. StatefulWidget 데이터가 변경되면 위젯을 다시 그릴때 사용 합니다. 위젯에 연결된 데이터가 변경되어 위젯 자체의 업데이트가 필요하다면 setState()를 호출하여 build()를 다시 호출 해 줍니다. 이를 통하여 위젯 자체를 다시 그려주게 됩니다. 다시 말하면 위젯에 연결된 변수 업데이트 한다고 build()가 다시 호출되는 것은 아니고 setState()를 호출해야 build()가 호출됩니다. 크게 생각..

Flutter 2022.06.20

Flutter 설치 (Android Studio)

Flutter 은 Google 에서 만든 멀티 플랫폼 언어 입니다. 기존에는 Android 와 IOS를 커버 했지만 이제는 데스크탑 영역 및 웹도 커버 가능 합니다. 설치 하기 위해서는 가장 먼저 SDK를 받아야 합니다. 제가 Window10 이기 때문에 Window10 기준으로 설명 드리겠습니다. Install Install Flutter and get started. Downloads available for Windows, macOS, Linux, and Chrome OS operating systems. docs.flutter.dev 사이트에 가서 자신의 OS에 맞는 SDK를 받아 줍니다. 이후 path등록을 해 줘야 합니다. Win키를 누르고 환경 변수를 검색하면 위와 같은 항목을 선택 해 줍니..

Flutter 2022.06.20

Custom Inspector - ReorderableList(1)

유니티를 사용하다보면 인스펙터를 커스텀 해서 사용해야 할 일이 생각보다 많이 있습니다. 보통 배열 형 객체관리를 위해서 다양한 인스펙터를 요구하게 되는 일이 많습니다. [Serializable] public struct CharacterData { public int Level; public string CharacterLevel; public GameObject Prefab; public Texture2D Image; } 이러한 구조체가 있고 이것을 배열로 컨트롤 해야 하는 상황입니다. Serializable 은 선언해 주지 않는다면 구조체가 인스펙터에서 나오지 않습니다. public class DataObject : MonoBehaviour { public CharacterData[] Characte..

Unity Engine 2022.06.15

Google Cloud - svn

소규모 작업을 위해서 svn이 필요한 상태였습니다. 찾아보니 여러가지 버전 컨트롤 기능을 제공하는 툴들이 있었고 그중에서 Googld Cloud에 SVN을 설치하는 방법을 찾게되어 적용 해 보았습니다. https://devchul.tistory.com/4 [Cloud] Google Cloud Platform을 이용한 개인 svn서버 만들기 현재 구글 클라우드 플랫폼은 1년 무료 혹은 요금 300달러 까지 무료로 사용 가능합니다. 구글 클라우드 플랫폼을 이용하여 간단하게 svn 서버를 만들어 보겠습니다 준비 : 구글 계정, 해외 결제가 devchul.tistory.com 위의 글을 확인하였고 대부분 정상동작 했고 약간의 Googld Cloud UI가 변경된 내용만 있었습니다. https://cloud.go..

기타 2022.05.30

Unity Job System - 종속성

Unity 에서는 멀티 스레딩을 지원 하기 위해서 Job System을 제공 하고 있습니다. https://docs.unity3d.com/kr/2018.4/Manual/JobSystem.html C# 잡 시스템 - Unity 매뉴얼 Unity C# 잡 시스템(Job System)을 사용해 Unity 엔진과 상호작용하는 간단하고 안전한 멀티스레드 코드를 작성하여 게임 성능을 개선할 수 있습니다. docs.unity3d.com 간단히 단일 스레드보다 멀티 스레드를 사용하는 방식이 성능상 이점이 있기 때문에 사용할 수 있는 환경이라면 사용 하는 것이 성능적으로 이득을 얻을 수 있습니다. 다만 매뉴얼을 살펴보게 되면 스레드간 데이터 이동이 자유롭지는 않습니다. NativeContaienr를 활용하여 데이터를 이..

Unity Engine 2022.05.11

[파이썬]구글 스프레드 시트 번역 (1)

구글 클라우드 번역으로 번역하는 방법을 알아 보았는데요 파이썬을 활용하여 구글 스프레드 시트에 있는 내용을 번역 하는 기능을 만들어 보려고 합니다. ​ 대량 번역의 경우에는 구글 클라우드 스토리지 버킷 + 클라우드 콘솔명령창을 활용하여 대량번역이 가능하기 때문에 이를 위해서는 파이썬을 활용할 필요는 딱히 없습니다. 다만 번역 과정에서 추가적인 작업을 처리 할 수 있고, 콘솔 명령창 같은 경우에는 비 개발자 직군이 사용하기에 어려움이 있기 때문에 파이썬을 활용하여 단순화 시켜 줍니다. ​ 일단 번역에 활용할 문장을 구글 스프레드 시트에 만들어 줍니다. 최상단에는 언어 코드인데 제가 임의로 필요하다고 생각되어서 넣은것 입니다. 워크시트 이름은 translation 으로 정해 줍니다. 나중에 접근할때 필요 합..

기타 2022.05.02

구글 클라우드 번역(4)-머신러닝 번역

머신 러닝번역은 Cloud Translation Advanced 처럼 ko->en, fr, ja 같이 1:다 번역이 되지 않습니다. 오직 1:1 매칭만 되어서 만일 번역해야 하는 언어가 여러개라면 모두 학습 시켜야 합니다. ​ 학습용 데이터는 A 컬럼에 시작어, B컬럼에 도착어로 엑셀로 정리 합니다. 저장은 엑셀에서 탭으로 분리로 저장 합니다. 확장자는 .tsv로 변경해 줍니다. 역시 UTF-8 BOM 문제가 있기 때문에 메모장으로 일반 UTF-8로 한번 더 저장 합니다. 이후 .tsv파일은 스토리지에 올려 줍니다. Google Cloud Platform 에서 좌측메뉴 클릭 후 하단의 번역 -> 대시보드 로 들어갑니다. 여기서 AutoML Translation 이 있는데 시작하기를 눌러 줍니다. Auto..

기타 2022.04.28