본문 바로가기
반응형

개발878

Unity ) 스크립팅이 가능한 오브젝트 (ScriptableObject) 스크립팅이 가능한 오브젝트 (ScriptableObject) Unity에서는 스트립팅이 가능한 오브젝트라는 데이터를 관리할 수 있는 스크립팅을 지원한다. ScriptableObject는 스크립트 인스턴스로부터 독립한 대량의 공유 데이터를 저장할 수 있기 때문에 프로퍼티나 설정 값에 주로 많이 사용한다. 위에 인스펙터에서 수정이가능한 형태로 제공되기 때문에. 간단한 데이터나 빌드에 대한 정보 같은 프로퍼티 설정에 많이 사용한다. public class SHC_SriptableObject : ScriptableObject { [SerializeField] private string VersionName =""; } if (GUILayout.Button("Confirm", GUILayout.Width(GUIL.. 2021. 2. 26.
Unity)앱 종료 처리 코드 앱 종료 처리 코드 Unity에서 앱 종료 시 코드로 유틸 클래스에 있으면 편리하다. 플랫폼 별로 동작이 다르다. 에디터일 때와 그렇지 않을 경우에 대한 플랫폼 전처리가 포함되어있어서 Editor에서도 동작한다. public void OnApplicationQuit() { #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif } ★☆☆☆☆ 2021. 2. 25.
Unity)Bolt - 볼트 비쥬얼 스크립팅 Bolt - 볼트 비주얼 스크립팅 Bolt라고 비주얼 스크립팅(스크립팅을 시각적으로 가능하게 하는 툴)인데 사용방법 겸 포스팅을 하고자 한다. [Asset Store]에서 Bolt라고 검색하면 무료로 풀린 볼트를 Import 가능하다. import 하게 되면 Bolt 인스톨러가 설치가되는데 .Net4로 설치하면 된다. Bolt에 대한 Tutorial을 진행하기 때문에 Assets을 추가로 Download 받는다. Tutorial을 따라한 Bolt - Flow Machine이다. 실제 코딩을 하는 변수부터 연산자 같은 것을 Unit 단위로 생성을 해서 링크를 시키고 Frame 마다 변화되는 값을 시각적으로 표시돼서 생각보다는 괜찮은 것 같다. 다만 역시 코딩하는 게 좀 더 편하고 익숙한 건 어쩔 수 없다 .. 2021. 2. 23.
문제해결)Unity) Visual Studio Debugging Freezing 관련 버그 Visual Studio Debugging Freezing 관련 버그 Unity에서 Script를 작성하는 과정에서는 외부 툴을 많이 연결해서 사용한다. 대표적으로 Visual Studio, Visual Code, JetBrains Rider 등 여러 가지를 사용하는데 가장 많이 쓰는 Visual Studio에서 Project를 디버깅하는 과정(Attach)할 때 Freezing 되는 현상이 발생한다. 나도 오분정도 가만히 기다리는 답답한 경우들이 발생했는데. 관련돼서 검색하다 보니 해결돼서 포스팅하게 되었다. 해결방법은 간략하다. 디버깅을 하는 과정에서는 Breaking Point 라고 하는 디버깅 포인트 지점을 모두 다 해제하고 다시 Debugging 하면 바로 디버깅이 정상적으로 잘되는 현상을 볼 .. 2021. 2. 22.
개인생각)메이플의 확률조작 사태 및 대응에 대해서 메이플의 확률조작 사태 및 대응에 대해서 요 근래 있던 넥슨에서 서비스하는 '메이플 스토리'게임의 확률 및 강환불에 대한 논란에 대한 정리 및 개인 생각에 대한 포스팅입니다. 메이플에는 강력한 환생의 불꽃 같은(카르마 영원한 환생의 불꽃등) 추가 옵션이 '무작위로 부여한다'라는 설명이 있는 아이템의 확률 조작에 대한 이슈가 불거졌다. 21년 2월 18일 테스트 서버의 해당 공지가 올라오고 유저들이 난리가 났다. 본섭에는 아이템의 부여하는 추가 옵션의 확률이 동일하지 않다는 이야기이다. 메이플은 다른 게임과 특이하게 메소 마켓이라고 개발사가 직접 캐시를 판매하는 형태로 서비스하는 게임인 만큼 단순히 캐시 아이템이 아니더라도 충분히 확률에 고지를 해야 하는 상황이라고 생각한다. 고스펙 유저들은 난리가 난상 .. 2021. 2. 19.
개발용어)프로젝트 포크(Project Fork) 프로젝트 포크(Project Fork) 프로젝트 포크(Project fork)는 개발자들이 하나의 소프트웨어 소스 코드를 통째로 복사하여 독립적인 새로운 소프트웨어를 개발하는 것을 말한다. Open Source를 포크 해서 베이스로 추가 개발을 하거나 Spin Off 를 해야 하는 경우에 프로젝트를 포크 해서 사용한다. 간랸하게 '프로젝트를 통째로 복사' 한다고 생각하면 된다. ★☆☆☆☆ 2021. 2. 17.
기본기)빌보드 기법(Bill-Board) 빌보드 기법(Bill-Board) 빌보드 기법이라는 것은 3D 공간상 오브젝트를 카메라의 정면으로 바라보게 하는 기법으로 시점에 대한 처리를 할 때 많이 사용하는 기법이다. 어느 방향으로 이동을 하더라도 항상 같은 면을 보여준다. - 객체의 면의 법선 벡터 n, 근사한 상향 벡터 u가 있을 때, 외적을 통해 수직 벡터 r을 구하고, 위 벡터에 수직인 벡터 u' = n cross r로 구할 수 있음. 위에서의 벡터들로 회전 행렬 Mr = (r, u', n)을 구할 수 있다. 카메라를 바라보는 방식은 Y 축을 기준으로 빌보드를 처리하면 된다. Y축으로 빌보드를 처리하는 공식은 다음과 같다. Unity 에서는 Transform.LookAt으로 처리할 수 있다. Unity Documentation : [링크] .. 2021. 2. 15.
Unity)코드분석) Red Runner Red Runner 코드 분석 ※모든 저작권은 해당 주소의 Open Source 입니다. Github 주소 : [링크] BayatGames/RedRunner Red Runner, Awesome Platformer Game. Contribute to BayatGames/RedRunner development by creating an account on GitHub. github.com 간단한 러닝 게임인 Red Runner라는 OpenSource를 보고 코드 분석을 하려고 한다. 간단하게 맵을 생성하고 캐릭터를 움직이면서 코인을 먹고 최고로 길게 (m) 가는 것을 목표로 하는 게임이다. Unity 기반 프로젝트이다. 중간중간에 트리거 이벤트와 각종 장애물 및 함정이 있고 지형이 아닌 곳으로 착지하게 되면.. 2021. 2. 13.
문제풀이)프로그래머스)c#) 삼각 달팽이 삼각 달팽이 삼각형을 그리면서 달팽이를 순차적으로 만드는 문제로 진행 방향을 회전시켜서 만드는 문제이다. 처음에는 삼각형 모양의 데이터를 만드는데 집중했는데 실제 결과 데이터만 잘 만들면 된다. 중복 반복문을 통해서 진행 방향을 회전 시킨다. 처음에는 ↓(0,+1)으로 최대치까지 진행 이후에 →(+1,0) 방향, 그리고 ↖(-1,-1)으로 회전을 진행한다. n번만큼 회전을 하게 되면 끝난다. 순차적으로 value를 증가시키고 이후에 데이터가 존재하는 List를 리턴하는 것으로 진행한다. URL : programmers.co.kr/learn/courses/30/lessons/68645#qna 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2.. 2021. 2. 13.
프로토타입) 3-Match Puzzle 3-Match Puzzle 프로토타입 3-Match-Puzzle 프로토를 만들었다. 기본적으로 3개 이상의 연속된 퍼즐들이 생기면 사라지고 그 위의 퍼즐들이 내려오는 형식의 퍼즐 장르의 게임으로 가장 기본적인 퍼즐 게임이라고 할 수 있다. 이미 시중에도 많은 게임들로 우리와 밀접한 게임이라서 따로 계획을 짜지 않고 기본적인 사각형의 3-Match-Puzzle 개발을 바로 진행했다. ----------------------------------------------------------------------------------------------------------------------------------- 1.퍼즐을 랜덤으로 Width * Height 만큼의 크기 Board를 생성한다. 2. 퍼즐.. 2021. 2. 8.
기본기)List Loop in remove elements List Loop in remove elements c#에서 List를 Loop 하는 과정에서 Remove를 하게 되면 인덱스 에러가 발생하는데 List를 ToArray를 사용해서 List를 인스턴스 시킨 상태로 삭제를 하는 것을 보게 되어서 포스팅하게 되었다. foreach (var item in destroyList.ToArray()) { destroyList.Remove(item); } Microsoft ListToArray : [링크] List.ToArray 메서드 (System.Collections.Generic) List의 요소를 새 배열에 복사합니다.Copies the elements of the List to a new array. docs.microsoft.com 개인적으로는 ToArra.. 2021. 2. 6.
기본기)c#) Nullable 값 형식 ( ? 연산자) Nullable 값 형식 프로그래밍을 하다 보면 Null에 대한 예외 처리를 많이 한다. c# 8.0 이상부터 지원하는 기능으로 Nullable이라는 형식은 System.Nullable의 구조체로 기본값이 정의되지 않는 값을 표시해야 하는 경우에 null 허용 값을 사용한다. 사용 방식은 다음과 같다. 자료형 다음에 ? 을 붙이고 사용하게 되면 null을 허용하는 변숫값으로 사용할 수 있다. double? pi = 3.14; char? letter = 'a'; Vector3 ? verctor3 = null; int m2 = 10; int? m = m2; bool? flag = null; // An array of a nullable value type: int?[] arr = new int?[10]; N.. 2021. 2. 2.
문제풀이)프로그래머스)c#)계산기 계산기 사칙연산 계산을 하는 문제이다. 출력 예시는 다음과 같다. 입력 : 2 +3 = 출력 :5 입력 : 5*3*2 = 출력 : 30 입력 : 8/2-4*5 = 출력 : -16 사칙연산의 우선순위에 대한 로직이 포함되어있어야 한다. ( 곱하기 / 나누기 ) 우리가 일반적으로 쓰는 중위 표기법 ( 연산기호가 숫자의 중간)을 후위 표기법으로 진행해서 처리한다.( 연산기호가 숫자의 마지막) 후위 표기법으로 위의 출력 예시를 변경하면 다음과 같다. 변경 : 2 3 + 변경 : 5 3 * 2* 변경 : 8 2 / 4 5 * - 원본의 중위표현을 사칙연산의 우선순위에 따라 괄호로 표현하고 후위 표현 이후에 계산하는 방식으로 작업을 진행했다. private string changeBracket(string _val.. 2021. 2. 1.
개발용어) 애자일 (Agile) 애자일 (Agile) 개발 프로세스 개념의 방법으로 애자일 방법론은 계획이 없는 방법과 계획이 지나치게 많을 경우에 타협점을 찾고자 하는 전통적인 프로젝트 방식과 다른 방식이다. 애자일 개발 프로세스 종류는 여러형태가 존재한다. -익스트림 프로그래밍(Extreme Programming) -스크럼(Scrum) -린 스타트업(lean StartUp) -Adaptive Software Development 등등이 있다. 애자일은 전통적인 프로젝트 방식과 다른 방식은 피드백을 직접 수용하고 실질적인 코딩을 하는 방식으로 스몰토크(Smalltalk)에서 생겨났다고 한다. 애자일의 핵심은 다음과 같다. 1.개인과 개인 간의 상호작용 2. 작동하는 소프트웨어 3. 고객과의 협업 4. 변화에 대응하는 것이 계획을 따르.. 2021. 1. 29.
개인생각) 게임회사 트럭시위 게임회사 트럭시위 페이트 그랜드 오더 사태로 인해서 게임사에 하나둘씩 등장한 트럭시위에 대해서 알아보고자 한다. '페이트 그랜드 오더'는 넷마블에서 시작한 사태로 국내 서비스와 해외 서비스를 같이 하는 모바일 게임인데 여기에서 '스타트 대시'(스타트 팩, 점핑 캐릭 등 신규 유저 유입 유도 이벤트)라는 이벤트가 기존 유저에 대한 배려 및 보상이 너무 미비해서 상대적 박탈감을 받는 상황에서 항의하자. 운영 측에서도 말을 바꾸면서 해명도 없이 묻고 넘어가는 행위에 유저들이 힘을 합쳐서 집단행동에서 생겨난 행위가 트럭시위이다. 트럭시위 외 별점 테러, 현수막 등 여러 가지 유저들이 시위하는 방법이 있다. 넷마블 페그오 사태에 힘입어 다른 커뮤니케이션에서도 좋은 방향으로 받아들여져서 일파만파 퍼지게 되었다. 마.. 2021. 1. 28.
반응형