반응형 개발878 Unity) Device Simulator(v2019) Device Simulator(v2019) Unity 2019 이상 버전에서는 Device Simulator가 포함되어있다. 예전에는 Game Scene에서 해상도만 따로 수정이 가능한 수준이었지만 지금은 Unity에 Package Manager에 포함되어있다. 개인적으로는 해상도 대응 및 Safe Area(Notch Design) 확인을 하기위해서는 설치하는 것을 추천한다. :D 설치 및 사용방법은 다음과 같다. Package Manager를 install 한다. install 되면 [Window] - [ Genneral]-[Device Simulator] 항목이 생긴다. 초록색 영역은 Safe Area를 나타낸다. Screen 세팅도 가능하고 여러 디바이스를 지원한다. 모바일로 개발하는 과정에서는 필.. 2020. 8. 3. Unity) 2D Curve Editor 샘플코드 2D Curve Editor 샘플 코드 예전에 참고한 2D Curve의 샘플 코드를 작성했다. 2D로 베지어 곡선을 이용해서 포인트 포인트를 처리했고 Edit의 형태로 나중에도 많이 사용이 가능할 거라는 생각이 들어서 작업했다. 간략하게 설명하면 Event를 받아서 Shift 버튼과 마우스 클릭을 하게 되면 (Button이 아닌 경우) 해당 path에 Segment를 한 개 추가한다. Undo.RecordObject는 해당 데이터를 Undo를 할 수 있도록 처리하는 기능이다. void Input(){ Event guiEvent = Event.current; Vector2 mousePos = HandleUtility.GUIPointToWorldRay(guiEvent.mousePosition).origin;.. 2020. 7. 29. Unity)로컬 이어하기 작업(Save & Load - BinaryFoatter) 로컬 이어하기 작업(Save & Load - BinaryFoatter) 개발을 진행하다 보면 중간에 저장할 때 로드와 이어하기에 대한 작업을 진행하는 경우가 많다. 저장할 메모리를 Binary로 쓰고 읽는 방식을 사용하면 매우 편리하다. Unity의 Life Cycle 중에서 OnApplicationQuit 하는 순간에 현재 저장된 데이터를 Save 하고 다시 앱을 실행하는 경우에 저장된 데이터가 존재하면 이어하는 처리를 진행했다. 샘플 코드 예제는 다음과 같다. /* * 설명 : */ using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Runtime.Serialization.Formatter.. 2020. 7. 29. Unity)해결) Request error (error) : UnityEditor.AsyncHTTPClient:Done(State, Int32) Request error (error) : UnityEditor.AsyncHTTPClient:Done(State, Int32) 해결 Unity 작업 도중 이런 에러가 나는 경우가 있다. 메뉴 [Edit] - [Preferences]-[General] - [Show Asset Store search hits]를 체크 해제하면 된다. Show Asset Store search hits의 항목은 프로젝트 '브라우저 내에 스토어의 무료/유료 에셋의 수를 표시' 하는 과정에서 통신에서 에러가 나는 경우가 종종 발생해서 그렇다고 한다. 실제 프로젝트와는 전혀 무관한 에러이다. ★★☆☆☆ 2020. 7. 28. 개인생각) 동종업계 이직금지 사항에 대한 궁금증 동종업계 이직금지 사항에 대한 궁금증 근로 계약서를 쓰게 되면 동종업계로 이직 금지 조항이라는 것을 심심찮게 볼 수 있다. 이 조항을 어기고 타 업계로 이직을 했을 경우에 어떻게 될까? 많은 회사들이 경쟁사로의 이직을 제한하기 위해서 채용 단계나 퇴사에서 '일정 기간 동안 동종업계에 취업하거나 스스로 업체를 설립하지 않도록 하겠고, 이를 어길 경우 법적 책임을 질 수 있다'라는 약정서에 동의나 서명을 하게 된다. 본인도 늘 근로계약서에 비슷한 조항인 내용을 서명했다. 이 항목을 명칭으로는 '경업금지 약정'이라고 한다고 한다. 근로자의 직업선택의 자유와 근로권을 과도하게 제한하거나 자유로운 경쟁을 지나치게 제한하는 경우에 한해서 민법 제103조 - 선량한 풍속 기타 사회질서에 반하는 법률행위로써 무효이지만.. 2020. 7. 22. 게임개발)테스트 케이스(Test Case : TC) 테스트 케이스(Test Case) 테스트 케이스는 어떠한 제품의 의도된 목적과 결과물에 대한 품질 검사에 해당되는 프로세스이다. 결과물에 대한 테스트이기 때문에 제품의 후반부에서 지속적인 확인이 필요하다. 게임 개발에서는 QA(Quality Assurance)라는 그룹에서 제품을 검사할 때 여러 가지 의도된 프로세스와, 예외상황에 대한 시나리오를 작성하는데 이 과정에서 사용하는 경우의 수들이 '테스트 케이스'이다. 테스트 케이스는 성격에 따라 여러 가지가 존재하는데 공통된 항목은 다음과 같다. 식별번호 사전조건 수행절차 기댓값 결과 비고 설명 이동 테스트 케이스 TC1: 플레이어가 이동 키를 눌렀을 때 캐릭터가 정확히 한 칸씩 움직이는지 확인한다. TC2: 캐릭터가 장애물이나 .. 2020. 7. 21. 게임개발) 베지어 곡선(Bezier Curve) 베지어 곡선(Bezier Curve) 부드러운 커브에 대한 작업을 하다가 정리가 필요할 듯해서 정리하게 되었다. 참고 사이트의 수학 공식을 코드로 옮기면 된다. 참고 : https://en.wikipedia.org/wiki/B%C3%A9zier_curve Bézier curve - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Curve used in computer graphics and related fields Cubic Bézier curve with four control points The basis functions on the range t in [0,1] for cubic Bézier cu.. 2020. 7. 21. 잡학지식)GDPR은 무엇인가? GDPR은 무엇인가? 서비스를 하는 과정에서는 각 서비스하는 국가에 법령(개인정보 보호법)에 위배되지 않도록 약관을 안내해줘야 한다. 서비스하는 과정에서 약관 동의를 하는 과정에서 GDPR이라는 용어를 접하게 되는데 GDPR은 유럽연합 일반 개인 정보 보호법(General Data Protection Regulation)의 약자로 EU 거주자의 개인정보 보호를 위해서 안내 및 명시되어야 하는 정보보호 지침이다. GDPR이 적용되어야 하는 대상은 다음과 같다. EU 내에서 사업장을 운영 또는 서비스를 제공하는 기업 및 개인에 해당된다. EU 국가에 거주하지 않더라도 EU 거주자를 대상으로 개인정보를 수집하거나 처리하는 경우 모두 준수해야 하는 대상이다. GDPR에 정의된 개인 정보는 다음과 같다. 기본 신.. 2020. 7. 15. Unity) 프로젝트가 확장될 때 코드 설계 방법 프로젝트가 확장될 때 코드 설계 방법 프로젝트를 진행하게 되면 수정 변경 및 여러 가지 요구사항으로 인해서 확장이 되는 경우가 굉장히 잦다. 프로젝트가 확장될때 코드를 설계하는 방법을 많은 고민과 함께한다. 우연히 보게된 관련된 글을 읽고 정리 겸 개인 경험을 더해서 포스팅한다. 주요 키워드는 '재사용', '확장성', '수정이 용이'한 방법이다. 1. ScripterbleObject 사용하기 Unity에서는 변수를 사용하는 경우가 많은데 중복해서 사용하는 데이터는 ScriptableObject로 사용하는 것을 추천한다. 스크립 터블 오브젝트를 사용하게 되면 재사 용적인 이점과 함께 런타임 상황(플레이모드)에서 인스펙터 창에서 변수로 확인 가능하다. 2. 규모가 큰 MonoBehavior 분할하기 2018.. 2020. 7. 15. Unity) Touch Event 2D / 3D 코드 처리 Touch Event 2D / 3D 코드 처리 터치 이벤트는 Update에서 사용하는 것을 권장한다. Update에서는 프레임당 한번을 실행하고 FixedUpdate에서는 물리 tick당 실행되서 프레임마다 차이가 발생이 되기때문에 입력에 대한 손실이 발생가능하다. 관련된 내용 : [링크] Check for User Input in FixedUpdate? Hi everyone! I'm new around these here parts! I've been doing some searches on the forums and I've read at least a couple of times that we should... forum.unity.com 유니티에서는 Touch 입력을 Editor와 Input를 플.. 2020. 7. 14. 디자인패턴) 방문자 패턴(Visitor Pattern) 방문자 패턴(Visitor Pattern) Visitor 패턴은 '데이터의 구조'와 '처리'를 분리하는데 목적이 있다. 추상 클래스를 통해서 처리를 추가하고 방문자를 등록하면 된다. 데이터 구조는 요소를 집합으로 정리하거나, 요소 사이를 연결해주는 중요한 역할을 합니다. 그러나 구조를 유지하는 것과 구조를 기초로 한 처리를 기술하는 것과는 별개이기 때문에 File 클래스나 Directory 클래스의 부품으로써의 독립성을 높일 수 있다. ★★☆☆☆ 2020. 7. 7. 디자인패턴) 데코레이터 패턴(Decorator Pattern) 데코레이터 패턴(Decorator Pattern) 데코레이터 패턴은 기본 베이스를 가지고 추가로 다른 장식을 포함하는 형태를 말한다. Display를 기본으로 추가로 다른 장식을 포함해서 표현하는 예시를 보자. Display는 추상클래스고 StringDisplay는 문자열 표기, SideBorder와 FullBorder는 장식을 표현하는 클래스이다. 확장성을 고려할때 많이 사용하는 패턴이다. ★★☆☆☆ 2020. 7. 7. 개인생각) 개발자가 피해야 할 8가지 경력 함정 개발자가 피해야 할 8가지 경력 함정 IT 뉴스를 보다보니 '모든 소프트웨어 개발자가 피해야 할 9가지 경력 함정'이라는 뉴스를 보고 난 이후에 내 개인 생각을 포스팅하고자 한다. 실제 면접을 보거나, 새로운 동료가 들어오게되면 그 사람을 판단해야 하는 경우가 생긴다. 협업이든 어떠한 경우에서든 그 사람의 성향이든 경력이든 알아야 업무하는 과정에서 도움이 되기 때문이다. 1. 한 가지 기술에 너무 의존하는 사람 IT에서는 최신 기술이 계속해서 생겨난다. 한가지 기술에 너무 의존하게 되면 도태된다. 최신 기술은 과거의 기술보다 더 발전된 상태에서 개발이 된다는 것을 명심해야 한다. 2. 유행에 집착하거나 무지한 사람 1과 반대로 최신 기술만 사용하길 원하는 사람도 있다. 최신 기술이 적용되고 안정화에 대한.. 2020. 7. 7. Tip) Power Code 적용법! (+자신감은 덤..?) 7Power Code 적용 법! (+자신감은 덤..?) 예전에 초창기에 사용하고 안사용하던 확장 기능인데. 매일같이 일하는 일상에서 조금 더 재미를 주기 위한??이라고 표현하기에는 프로세스가 조금은 잡아먹기 때문에 효율성을 생각하시는 분들께는 비추드리는 'Power Code'에 대해서 포스팅하고자 한다 기능을 간략하게 설명하자고 하면. VSCode에서 타이핑을 하는 순간마다 이펙트가 생겨나는 기능이다. 파워 코딩?을 할 수 있게 해 준다. 사용법은 VScode에서 Extenstion에서 'Power Mode'를 검색하고 Install 해준다. 적용을 하려면 설정을 들어간다. 항목 중에서 Enabled를 체크를 하면 현 바로 적용되는 것을 확인해볼 수 있다. Power Mode는 여러 가지 기능을 지원하는.. 2020. 7. 2. Unity) 스크롤 뷰 커스텀 ScrollView Custom (가로, 세로 동시) 스크롤 뷰 커스텀 ScrollView Custom (가로, 세로 동시)Unity에서 스크롤 뷰를 처리를 하다 보면 가로 스크롤도 되고 세로 스크롤도 되어야 하는 상황이 생긴다.두 개 동시에 처리하기에는 까다롭다.구글링 결과 커스텀 스크립트와 사용방법을 포스팅한다.영상은 다음과 같다. 코드의 원리는 다음과같다. 하위 아이템으로 추가된 스크롤 뷰의 이벤트를 상위 스크롤 뷰에 이벤트를 다시 돌려주는 방식이다.using UnityEngine;using System.Collections;using UnityEngine.UI;using System;using UnityEngine.EventSystems; public class ScrollRectEx : ScrollRect { private bool rou.. 2020. 7. 1. 이전 1 ··· 46 47 48 49 50 51 52 ··· 59 다음 반응형