2018의 게시물 표시

마크다운(Markdown) 기본 문법 정리한 문서 저장용

이미지
출력용Html 포맷 변환 마크다운 기본 문법 (확장문법은 지원 하고 안하고의 차이가 어플리케이션 마다 차이가 있음) # 헤더1 부터 ###### 헤더6 헤더1 헤더6 **굵게** *기울게* > 인용문장 - 순서없는 리스트 1 - 순서없는 리스트 2 1. 순서있는 리스트 1 2. 순서있는 리스트 2 굵게 기울게 인용문장 순서없는 리스트 1 순서없는 리스트 2 순서있는 리스트 1 순서있는 리스트 2 코드 `code` 수평선 --- code 링크 [링크 텍스트 (네이버)](https://www.naver.com) 이미지 ![이미지 없는경우 나오는 텍스트](https://www.google.co.kr/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png) 링크 링크 텍스트 (네이버) 이미지

Unity Google Play Games Services 연동 오류로 인한 삽질 기록

이미지
3줄 요약 1. Unity - Google Play Games Services 연동 오류 발생(Unity 2018.2.1f1, GPGS Plugin for Unity 0.9.50) 2. 구글링해보니 AndroidManifest.xml 파일 자동 생성시 공백이 잘못들어감 3. 생성할때 사용하는 템플릿 파일(template-AndroidManifest.txt)을 수정하고 다시 해보니 정상 동작! 삽질 & 구글링 나름 튜토리얼을 보면서 잘 따라 했것만... Google Play Console 의 출시관리>사전 출시 보고서에 비정상 종료 로그가 뜨고, APK 파일을 받아서 깔아보아도 제대로 실행이 안되었다. 오류 로그는 아래와 같음 사전출시 보고서 오류 리포트 문제: at com.google.android.gms.common.internal.zzh.handleMessage(Unknown Source:275) FATAL EXCEPTION: main Process: com.m2kestudio.unity.clicker, PID: 12207 java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information. at com.google.android.gms.common.internal.zze.zzv(Unknown Source:78) at com.google.android.gms.common.internal.zzi.zzakg(Unknown Source:54) at com.google.android.gms.common.internal.zzh.handleMessage(Unknown Source:275) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193)

Unity 오브젝트들을 찾기 위한 방법 (Find Objects)

Unity 오브젝트들을 찾기 위한 방법 (Find Objects) 단 하나인 오브젝트에 접근하는 법은 여러가지가 있고 방법 자체도 쉬운편인거 같은데 오브젝트'들' 에 접근하는 방법은 제약이 좀 있는 느낌이였기 때문에 정리해 보았음 GameObject.FindGameObjectsWithTag     GameObject[] itemList = GameObject.FindGameObjectsWithTag("TileItem");          for (int i = 0; i < itemList.Length; i++) {     BaseItem item = itemList[i].GetComponent<BaseItem>();     //...     } 미리 지정한 Tag 를 사용해서 같은 Tag 를 가진 객체들을 가져옴 비활성화된 객체에 접근이 안된다고 한다 배열이 null 인 경우가 있을 수 있어서 예외처리 필요함 Resources.FindObjectsOfTypeAll 또는 Object.FindObjectsOfType     BaseItem[] itemList = Resources.FindObjectsOfTypeAll<BaseItem>();     for (int i = 0; i < itemList.Length; i++) {     BaseItem item = itemList[i];         //...     } 클래스 타잎으로 객체들을 가져옴. FindObjectsOfTypeAll 모든유형의 비활성화 된 객체도 가져옴 FindObjectsOfType 에셋 제외, 비활성화 객체 제외 하고 가져옴 둘다 성능 이슈가 있어서(매우 느리다고 되어있음) 매 프레임 호출은 좋지 않다 싱글톤 패턴같은 디자인 패턴이나 다른 방법으로 대체하기를 권장 다른 방법으로 대체해서 구현하는 방법 같은 경우는 구글링하면 찾을 수 있을

Unity Pixel Perfect 구현 정보 추가 및 정리

이미지
Unity 에서 Pixel Perfect 구현을 위한 방법 정리 1. 이전에 올렸던 글들 Unity3D 에서 당신의 Pixel Art 게임을 Pixel Perfect 하게 만들기 Pixel Art 게임에서 Unity 2D 스프라이트 설정 2. 오래된 글(2015/06/19) 이긴 하지만 Unity Blog에 올라왔던 글 Pixel Perfect 2D 3.  2D Pixel Perfect  GitHub 프로젝트 가장 최근에 찾은 정보, 추후 정식으로 유니티 자체에 제공할 듯 하다 해당 프로젝트를 다운받아 유니티로 불러와서 테스트 해볼 수 있음. 아직 정식으로 추가된것이 아닌 상황(2018/8/4) 이긴 하지만 돈주고 에셋스토어에서 Pixel Perfect Camera 를 사는 것보다 나을 것 같아서 적용해보았고 잘 동작함! 아래 도큐먼트가 잘 되어있으나 영어의 압박이... https://docs.unity3d.com/Packages/com.unity.2d.pixel-perfect@1.0/manual/index.html - 유니티 버전 2018.2.b3 버전 이상에서 부터 지원 - Window>Package Manager> All 탭에서 2D Pixel Perfect 인스톨 - Main Camera 오브젝트에 Pixel Perfect Camera 를 추가하고 PPU 값, 적용하려는 해상도 값을 적용하고 테스트 해보았을때 잘 동작하였음 4. Font 설정 Font 를 Pixel 스럽게(?) 표현하기 위해서 빈 오브젝트를 생성하고 아래 스크립트를 추가 public Font[] fonts; void Start () {   //폰트가 Pixel Perfect 하게 보이도록 설정   for(int i=0; i<fonts.Length;i++) {     fonts[i].material.mainTexture.filterMode = FilterMode.Point;   } }

Pixel Art 게임에서 Unity 2D 스프라이트 설정

이미지
Unity Pixel Art 게임에서 2D 스프라이트 설정 어제 작성한 글 을 실제로 적용하다가 스프라이트 설정값을 제대로 셋팅 안하면 문제가 있다는 것을 알게 되어 삽질한 김에 다시 상세히 포스팅 함. 16x16px 이미지를 기본설정으로 불러왔을 때 Pixels Per Unit 스프라이트의 크기와 Pixels Per Unit 값을 맞춤 해당 이미지는 16x16px 이미지 Pixels Per Unit 맞추기 Filter Mode Filter Mode 를 Point(no filter) 로 변경 Filter Mode => Point(no filter) 변경 Compression Compression 값 None 변경 이게 바로 삽질하게 된... 계기 스프라이트 가운데 픽셀 색상이 다른색으로 보이는 현상... 이미지 압축 관련 설정을 빼먹어서 였다... Compression => None 스프라이트 관련 셋팅은 이것으로 끝인것 같음!

Unity3D 에서 당신의 Pixel Art 게임을 Pixel Perfect 하게 만들기

이미지
2D 게임 개발을 하던 중 도트 그래픽을 사용할 경우 Pixel Perfect 하게 하기 위한 작업이 필요하다는 것을 파악하고 잘 정리된 글을 찾아 번역기의 힘을 빌려 번역해봄…ㅎㅎ;; Making your Pixel Art Game look Pixel Perfect in Unity3D 원글 작성자 : ResistanceStdio 원글 작성일자 :  2018-03-26 Unity3D 에서 당신의 Pixel Art 게임을 Pixel Perfect 하게 만들기 얼마 전 게임을 Pixel Perfect 하게 만들기 위해 시간을 어느 정도 써야 한다고 언급했었죠. 아름다운 2D Pixel Art 게임을 어떤 해상도에서도 보기 좋게 하기 위해 이 작업을 해야만 합니다. 또한 우리는 오브젝트를 움직이거나 픽셀이 절반으로 내려앉는 것을 원치 않습니다. Unity는 기본적으로 Pixel Art를 완전하게 보여주지 않기 때문에 이곳 저곳을 바꾸거나 작은 수정사항을 구현하여 바꿀 필요가 있습니다. 하지만 걱정 마세요, 별로 어렵지 않습니다. Disclaimer (알려둘 사항) 모든 튜토리얼은 몇몇 소스를 기반으로 했지만 메인은 이 유용한 트위터 스레드 에 기반했습니다. 더 좋거나 최적화된 다른 방법이 있다는 것을 알고 있지만 이것이 내가 많은 연구 끝에 사용하는 방법입니다. 자 그럼 Pixel Perfect한 모습을 달성하기 위한 단계를 살펴 봅시다. 흐릿한(기본) 이미지에서 Pixel Perfect 로 Turn off Anti Aliasing (안티앨리어싱 끄기) 안티앨리어싱은 비디오게임들의 텍스처 테두리를 부드럽게 하기 위해 사용됩니다. 보통은 이것은 텍스처가 “너무 픽셀스럽게” 표시되지 않도록 하고 화면이 부드럽게 보이게 합니다. 여기 안티앨리어싱이 어떤 일을 하는지에 대한 예시가 하나 있습니다. 안티앨리어싱 예시 아래쪽 선이 부드럽고 흐릿합니다. 이것은 우리가 더 작은 해상도로 보게 되면 좀 더 괜

자주 쓰는 단축키 모음(version 1.0)

Eclipse 에서 사용하던 단축키를 다른 환경에서 사용하려고 알아본 결과 Notepad++ Visual Studio 2017 에서 아래와 같이 셋팅하면 유사하게 사용가능! Eclipse 라인카피 Copy Lines Ctrl + Alt + Down Duplicate Lines Ctrl +  Alt + Up 라인이동 Move Lines Up Alt + Up Move Lines Down Alt + Down 주석 Toggle Comment Ctrl + / ====================== notepad++ (Eclipse 단축키 쓰기) Scintila commands SCI_SELECTIONDUPLICATE Ctrl+Alt+Up, Ctrl+Alt+Down SCI_LINEDELETE Ctrl+D Main menu 현재 줄 위로 이동         Alt+Up 현재 줄 아래로 이동 Alt+Down Main menu 주석 달기/제거 Ctrl + / ====================== Visual Studio (Eclipse 단축키 쓰기) 편집.선택영역을주석으로처리 => Ctrl + / 편집.선택영역의주석처리제거 => Ctrl + Shift + / 편집.줄삭제 => Ctrl + D 편집.선택한줄위로이동 => Alt + Up 편집.선택한줄아래로이동 => Alt + Down 편집.중복됨 => Ctrl + Alt + Down => Ctrl + Alt + Up 코드스타일 편집 (자동서식 기능 수정) => 도구>옵션>텍스트편집기>C#>코드스타일>줄추가 => 체크 일괄해제

유니티 오피셜 튜토리얼 2D Roguelike 관련

이미지
https://unity3d.com/kr/learn/tutorials/s/2d-roguelike-tutorial 위 튜토리얼을 따라 하다 몇가지 오류 발생해서 해결방법을 찾았기에 포스팅 튜토리얼 제작 당시가 4.X 버전 대였던것 같고.. 현재는 2018.x 버전이 최신 버전이라 발생하는 문제로 생각된다. 튜토리얼 에셋에 동봉된 [2D Roguelike Upgrade Guide 5x.pdf] 파일에 있는 내용을 적용하더라도 게임 진행이 정상적으로 안되는 문제가 발생 1. 게임이 Day 2 부터 시작하고 다음 레벨은 Day4 2. Day 4 에서 갑자기 food가 0이되고 종료 3. 적을 뚫고 지나감 구글링한 결과 1, 2번 오류는 Scripts/GameManager.cs 파일 수정해서 해결됨 SceneManager 변경사항 때문에 발생하는 문제로 생각됨 private int level = 0;  // 1에서 0으로 수정 void Awake () {     ...     //InitGame(); 주석처리 } //아래 내용은 [2D Roguelike Upgrade Guide 5x.pdf]에 있음 void OnLevelFinishedLoading(Scene scene, LoadSceneMode mode) { level++; InitGame(); } void OnEnable() { SceneManager.sceneLoaded += OnLevelFinishedLoading; } void OnDisable() { SceneManager.sceneLoaded -= OnLevelFinishedLoading; } 3번 오류는 Enemy Prefab의 Box Collider 2D 사이즈가 0.0001 로 되어있어서 1로 수정해서 해결됨 참고한 글 https://forum.unity.com/threads/2d-roguelike-q-a.297180/page-22 Because

유니티 오피셜 튜토리얼 Space Shooter 관련

이미지
튜토리얼 진행시 문제가 없으나 마지막 Space Shooter to Mobile 강좌를 보며 따라하는데 Mobile Art 의 다운로드 링크가 깨져서 해당파일이 올라가 있는 GitHub 프로젝트를 찾아 해당 리소스 추출함~ 다운로드 강좌 https://unity3d.com/kr/learn/tutorials/topics/mobile-touch/mobile-development-converting-space-shooter-mobile?playlist=17147 GitHub 프로젝트 https://github.com/jawadrashid2011/Space_Shooter/tree/Mobile

독서 - 아웃라이어

이미지
나중에 도움 (?) 이 될지도 모르니 책 내용 요약 및 감상문을 작성해둔다 . 요약 총 두 개의 파트로 되어있고 , 1 부 타이틀은 기회 , 2 부 타이틀은 유산 이다 . ( 에필로그도 있긴 함 ) 1 부 기회 편에서는 다양한 사례들과 통계로부터 , 성공한 사람들은 재능과 노력이 있었다는 것과 별개로 운이 좋거나 , 시기가 맞아 떨어졌기 때문에 그들에게 주어진 성공의 순간을 잡을 수 있었다는 것이다 . 성공하기 위해 필요한 것은 재능과 노력이 전부가 아니라는 말씀 . 1) 태어난 년 , 월 2) 한 분야에서 꾸준히 능력을 쌓을 수 있었던 가정형편과 환경 3) 시대의 변화에 따른 패러다임과 가치의 변화 세 가지 정도로 요약 할 수 있을 것 같다 . 2 부 유산 편에서 역시 다양한 사례와 통계를 가지고 , 사람들은 그들이 속한 지역의 문화 , 관습에 따라 긍정적 , 부정적으로 영향을 받게 된다는 것이다 . 개인은 성장하면서 자신이 속한 문화 , 관습으로부터 영향을 받기 때문에 한 사람의 성공 배경에는 문화 , 관습으로부터 유산의 영향이 있다는 것 . 이 두 개의 큰 내용을 본문에서 이야기하고 에필로그가 추가로 있다 . 에필로그는 작가 본인의 어머니 , 할머니의 이야기를 하면서 작가 본인이 받게 된 기회와 유산에 대해서 이야기 한다 . 감상문 이 책은 많은 자기계발 서적들처럼 성공에 이르기 위한 방법론을 이야기 하는 책이 아니었다 . 흔한 자기계발서인 줄 알고 읽기 시작했다가 중간쯤 읽다가 요약된 내용을 살펴 보았다가 중간에 읽기를 포기 할 뻔 하기도 했다 ...... 그러

C 언어 공부 중(2)

이미지
1) printf 관련 정수 출력 d ecimal 10진수 o ctal 8진수 he x adecimal 16진수 %d 부호 있는 10진 정수 %o 부호 없는 8진 정수 %x 부호없는 16진 정수 8진수와 16진수로 음의 정수표현에 거의 안쓴다고함 8진수와 16진수 표현에 #을 넣으면 진수를 알수있도록 출력해줌 int num1=7, num2=13; printf("%o %#o \n", num1, num1); printf("%x %#x \n", num2, num2); 실수  출력 %f 10진 방식 부동소수점 실수 %e e 방식 부동소수점 실수 %g 소수점자리수가 길면 e방식 아니면 10진방식 부동소수점 실수 0.0000123 값을 e 방식 부동소수점 실수 표현 => 1.23e-5 문자열  출력 %s 문자열(char *) %c 값에 대응하는 문자 폭지정하는방법 왼쪽 정렬 = - (기본 오른쪽 정렬인듯 + 를 입력하면 +가 출력됨) 자리수 서식문자 => 최종적으로 %8d 오른쪽 정렬, 8자리, 정수출력 %-8d 왼쪽 정렬, 8자리 , 정수출력 같은식으로 출력하면됨 2) scanf 관련 정수 입력 d ecimal 10진수 o ctal 8진수 he x adecimal 16진수 %d 10진 정수 형태로 데이터를 입력 받는다 %o 8진 정수 형태로 데이터를 입력 받는다 %x 16진 정수 형태로 데이터를 입력 받는다 실수 입력 %f 10진 실수형 데이터를 입력 받는다 (float) %lf 10진 실수형 데이터를 입력 받는다 (double) %Lf 10진 실수형 데이터를 입력 받는다 (long double) (실수 입력시 e표현방식으로 입력해도 된다)

C 언어 공부 중(1)

이미지
기초부터 공부한다고... C공부 하다가 이것 저것 메모해 놓을 만한 것들이 생겨서 남김. 1) Visual Studio 2017 단축키를 이클립스와 비슷하게 변경 메뉴>옵션>환경>키보드 편집.선택영역을주석으로처리(Ctrl+K, Ctrl+C) => Ctrl + / 편집.선택영역의주석처리제거(Ctrl+K, Ctrl+U) => Ctrl + Shift + / 편집.줄삭제 => Ctrl + D 이클립스에서 쓰는 Crtl + Alt + Up, 이나 Crtl + Alt + Down 의 경우는 Ctrl + C 후 바로 Ctrl + V 를 누르면 비슷하게 사용 가능하고 수정하는 법을 못 찾았음. 2) 진수, 바이트 관련 영어 단어 binary 2진수 octal 8진수 decimal 10진수 hexadecimal 16진수 two's complement 2의 보수 floating point 부동 소수점 (여기서 '부'가 한자로 뜰 부 임 浮) fixed point 고정 소수점 3) 2진수 16진수 관련 2진수 한자리 = 1bit 2진수 4자리 = 4bit = 1nibble => 0~15까지 표현가능(16개의 값) 2진수 8자리 = 8bit = 1byte 16진수 한자리 = 0~15 까지 표현 가능 (16개의 값) 1nibble = 16진수 한자리로 치환해서 보기 편함! 16진수 한자리값을 2진수 4자리 표현 ex) 10진수 16을 16진수로 표현하면 10 ( C언어로 표기시 0x10 ) -> 1 을 2진수로 => 0001 -> 0 을 2진수로 => 0000     10진수 16을 2진수로 => 0001 0000 3) 빅엔디안(Big Endian), 리틀엔디안(Little Endian) 메모리에 어떤방식으로 저장하는가에 대한 내용, 네트워크 전송시(주로 빅엔디안을 사용한다고 함) 문제가 될 수 있다고

블로그 첫글입니다.

블로그 시작~ 가즈아~~ 앞으로 이것저것 채워 나갈 생각입니다~!