본문 바로가기
반응형

개발880

Unity) 빠른 검색(Quick Search) 빠른 검색(Quick Search) 빠른 검색을 위해서 에셋을 찾거나 실행할 수 있는 검색 툴이다. 유니티 메뉴에서 설치가 가능하고 실행이 가능하다. [Help]-[Quick Search]를 선택하면 미설치면 설치가 자동으로 진행된다. 단축키로는 Alt + ' (엔터 옆) 단축키로 실행할 수 있다. 단축키나 메뉴를 누르면 해당 검색창이 뜨는데 여러가지 검색 필터 방법으로 검색이 가능하다. 단순 이름으로 검색하는 과정에서도 Icon / 이름 / Path를 쉽게 확인 가능하다. 여러 가지 형태로 검색 필터를 지원한다. 그중에서 자주 사용할 것 같은 필터만 정리하면 다음과 같다. t: [타입] t:scene intro 타입을 기준으로 검색합니다. intro.scene을 검색합니다. h: [찾을 이름] h: M.. 2021. 11. 5.
Unity)Asmdef (어셈블리 정의) Asmdef (어셈블리 정의) Unity에서 어셈블리로 따로 정의해서 파일을 만들 수 있다. 어셈블리 파일로 관리를 하게되면 특정 스크립트만 따로 재 빌드해서 컴파일 시간을 단축할 수 있다. 어셈블리 정의가 따로 없으면 하나의 어셈블리 파일에 같이 컴파일된다. 컴파일되는 항목을 분리해서 사용하면 컴파일 시간도 단축되고 독립성도 유지된다. Asmdef 생성을 원하는 폴더를 클릭해서 [Create] - [Assembly Definition] 메뉴를 선택한다. 새로 생성된 어셈블리 파일이 정상적으로 추가된것을 확인 가능하다. Asmdef 파일 속성에 대해서 간략하게 정리하면 다음과 같다. Auto Referenced 사전 정의된 어셈블리가 어셈블리를 참조하는지 여부 (자동 참조) No Engine Refere.. 2021. 11. 2.
Unity) 고급 프로젝트 설정 /커맨드 라인 설정 고급 프로젝트 설정 / 커맨드 라인 설정 Unity에서 추가로 환경을 변경(불칸렌더러, opengl) 하기 위해서는 커맨드 라인으로 추가해야 한다. 고급 프로젝트 설정에 추가로 커맨드 라인 인자를 입력하고 실행하면 적용된다. -force-vulkan 으로 불칸렌더러를 실행하면 상단이 바뀐 것을 확인이 가능하다. 여러 가지 커맨드 라인들이 존재한다. -force-vulkan Editor가 렌더링에 Vulkan을 사용하도록 합니다. 일반적으로 그래픽 API는 플레이어 설정에 따라 다릅니다 . -force-glCore Editor가 렌더링을 위해 OpenGL 3/4 코어 프로필을 사용하도록 합니다. 편집기는 사용 가능한 최상의 OpenGL 버전과 OpenGL 드라이버에 의해 노출된 모든 OpenGL 확장을 사.. 2021. 10. 27.
기본기) 랜덤 - 의사 난수 발생기 (Pseudo Random Number Generator : PRNG) 랜덤 - 의사 난수 발생기 (Pseudo Random Number Generator : PRNG) 의사 난수 발생기는 많은 양의 난수 발생이 필요할 때 확률 및 통계, 응용프로그램을 위해서 사용되는 랜덤 발생기이다. 랜덤이라는 알고리즘이 아무리 정교하더라도 다음 숫자를 예측할 수 있는 상황이 생기기 때문에 이러한 숫자 난수 시퀀스는 실제로는 무작위가 아니다. 의사 난수 발생기는 초기 시드(Seed)를 이용해서 임의의 시작 상태에서 시작하여 난수의 속성에 가까운 일련의 숫자를 생성한다. 난수 발생기 중 가장 유명한 3가지에 대해서 간략하게 코드만 정리하도록 한다. Xn+1=(aXn+c)mod m return (float)((seed * 9301 + 49297) % 233280 / 233280.0f); 기존.. 2021. 10. 27.
Unity) Google Admob 적용하기(광고붙이기) Google Admob 적용하기(광고붙이기) Unity admob을 샘플로 적용하면서 포스팅을 정리한다. 테스트 버전은 GoogleMobileAds-v6.1.2 으로 진행했다. Google Admob SDK .unitypacakge를 import 진행한다. 이후 Assets-Google Mobile Ads - Setting 메뉴를 클릭하면 GoogleMobileAdsSettings라는 ScriptableObject가 생겨난다. 앱의 Ads ID를 추가한다. 현재는 테스트 Sample ID로 입력해서 테스트했다. 광고 ID를 입력하려면 Admob에 가입되고 설정을 추가해야 한다. 필요한 광고들을 추가로 설정하고 해당 코드에서 호출하는 처리를 진행한다. 배너 광고 | Unity | Google Develop.. 2021. 10. 25.
게임개발) 캣멀롬 스플라인(Catmull-Romm Spline) 캣멀롬 스플라인(Catmull-Romm Spline) 캣멀롬 스플라인은 포인트와 포인트의 사이의 통과하는 포인트를 의미하는 특성을 가진다. 커브의 포인트를 계산하려면 from 포인트와 - end 포인트의 2개의 포인트의 t(시간) 값에 의해서 지정된다. 컨트롤 포인트는 정규 간격(중간 포인트)이 생긴다. 테스트한 코드로 포인트에는 DrawCube를 생성했고 그 중간 라인에서는 DrawLine으로 Gizmos를 생성하면 이렇게 된다. 베이어 곡선과 다르게 급격한 커브와 가속도에 대한건 표현하기는 부적절한 것 같은데 그래도 포인트를 정확하게 거칠수있다는 점이 다르다. void DrawCurve(List p, int _pointNumber, float _gap) { float pointX = 0, pointY.. 2021. 10. 20.
기본기)Unity) Fake Null Unity Fake Null 유니티 오브젝트는 C++로 작성된 네이티브 객체의 래퍼이다. Unity 객체는 씬이 변경되거나 Object.Destroy()를 사용하면 제거되지만 그 객체를 C#으로 래핑 한 유니티 오브젝트는 가비지 컬렉터가 수집을 완료할 때까지 남아있게 된다. 실상으로는 모두 다 파괴가 된 상태가 아니라는 이야기이다. Unity에서는 이 상태를 “Fake Null”이라고 하고 있습니다. 테스트 케이스인 코드를 확인하게되면 다음과 같다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { IEnumerator Start() { BoxColl.. 2021. 10. 19.
Unity) 기즈모 활용 하기(Gizmos) 기즈모 활용 하기(Gizmos) Unity 에서 Editor에서 보이는 Gizmo를 커스터마이징해서 필요한 정보를 더 많이 노출되고 개발에 용이하게 사용이 가능하다. Edior에서만 처리가되기 때문에 처리하는 플랫폼이 Editor가 아닌 경우에는 노출되지 않는것을 명심해야 한다. Unity 설명에서 Gizmos는 시각적 디버깅 또는 씬뷰에서 설정을 돕기위해서 사용한다고 한다. 항상 노출되려면 OnDrawGizmos 에서 구현한다. 오브젝트를 선택할때 기즈모에서 나오도록 하는 경우는 OnDrawGizmosSelected 에서 구현한다. OnDrawGizmos는 매 프레임마다 호출된다. using UnityEditor; void OnDrawGizmos() { //Always } void OnDrawGizmo.. 2021. 10. 13.
Unity)안드로이드 심볼 활성화(Enabling Android symbols) 안드로이드 심볼 활성화(Enabling Android symbols) Unity는 스택 추적을 기호화하고 앱을 디버깅하는 데 사용할 수 있는 네이티브 라이브러리용 기호가 있는 패키지를 생성할 수 있다. 심볼화 는 활성 메모리 주소를 메서드 이름과 같이 사용할 수 있는 정보로 변환하는 프로세스입니다. 이는 충돌이 발생한 위치를 이해하는 데 도움이 됩니다. 또한 기호 패키지를 Google Play Console에 업로드하여 Android Vitals 대시보드에서 사람이 읽을 수 있는 스택 추적을 할 수 있다. Project Settings- Other Settings - Configuration -Scripting Backend 옵션을 Mono -> IL2 CPP 일 때 Create symbols.zip이 .. 2021. 10. 7.
개인생각) 해킹 충전 케이블 from 뉴스 해킹 충전 케이블 from 뉴스 SBS 뉴스에서 만드는 유튜브 채널인 '오목교 전자상가'라는 채널에서 '충전 케이블 함부로 꽂지 마세요. 휴대폰에 꽂기만 해도 해킹되는 해킹 케이블이 대량 판매 중입니다 / [오목교 전자상가 EP.57]'라는 영상을 우연히 접하게 되었다. 내용은 엄청 충격이었다. 우리가 늘 사용하던 충전 케이블안에 해킹칩이 같이 포함되어있고 그 걸로 인해서 권한을 획득해서 실제 해킹이 되는 사례를 잘 정리한 영상이었다. 기본적으로 충전케이블을 아무렇지 않게 꼽았는데.. 이 영상을 보고 무서워졌다. 실제 저런 케이블을 구분을 못하기도 하고 어디까지 믿어야 하는지에 대한 생각도 다시 하게 되었다. 실제 해킹 케이블이 시중에 판매가 된다고 하는데.. 방지하는 방법은 소프트웨어 업데이트 및 정품.. 2021. 10. 6.
Unity) 앱 난독화(Proguard) 앱 난독화 (Proguard) 앱을 서비스하다 보면 난독화하는 Proguard에 대해 접하게 된다. Proguard란? 빌드 후 나온 파일을 난독화 시켜서 기존의 코드가 다른 형태의 코드로 알아보기 힘들게 변경시키는 과정을 말한다. 이게 100% 보안을 유지시켜주는 것은 아니나 1차적인 방어막 정도는 될 수 있다. [Project Setting] - [Player] - [Publishing Setting] -[build]의 Custom Proguard File과 Custom Main Gradle Template를 생성한다. Android - mainTemplate와 proguard-user가 생성된다. 기본적인 mainTemplate의 내용은 다음과 같다. 그중에서 눈여겨봐야 할 위치는 consumerP.. 2021. 10. 4.
게임용어)딜 사이클(Deal Cycle) 딜 사이클(Deal Cycle) 각종 MMORPG에서는 무수히 많은 스킬들을 사용할 수 있다. 딜 사이클이란? 게임에서 사용하는 용어로 스킬을 딜링을 하는 효율적인 순서를 의미하는 표현으로 선 딜레이, 후딜 레이가 존재하는 스킬들을 효율적으로 다시 재사용하기 위해서 스킬의 사용 순서를 체계적으로 만들어서 좋은 딜량을 하기 위함이다. 스킬을 쓰게되면 글로벌 쿨타임이라는 항목으로 다른 스킬도 같이 쿨타임이 돌아간다. 그 상황에서 단일 스킬 쿨인 스킬을 사용하다가 다시 글로벌 스킬을 사용하는 순서를 만들면 조금 더 효율 있게 스킬을 사용할 수 있다. 딜 사이클을 상황에 맞게 잘 세팅을 하면 엄청난 딜링을 할 수 있기 때문이다. 대표적인 MMORPG 게임인 와우에서는 딜 사이클을 계산해주는 애드온도 굉장히 많다.. 2021. 10. 1.
개인생각) 면접(인터뷰)시 면접관에게 할 질문 면접(인터뷰) 시 면접관에게 할 질문 면접(인터뷰)을 하게 되면 많은 질문을 받게 된다. 면접관들의 질문이 끝나면 그제야 면접자가 질문할 수 있는 시간이 주어지는 것이 일반적이다. 그 질문을 할때 면접관에게 무엇을 물어볼 것인가? 에 대한 고민을 포스팅하고자 한다. 자신의 상황이나 프로젝트의 성격을 고려해서 몇가지 질문을 하는 것을 추천드린다. 신입 개발자면 될수록 많은 개발자와 함께 일할 수 있는 환경을 추천한다. 자신과 일할수 있는 인원이나 규모를 알게 되면 입사하게 되면 어떤 식으로 업무를 진행(사수, 페어, 멘토링 등등)하는지 알 수 있다. DevOps의 환경이나 배포 환경 같은걸 체크할 수 있다. 평소에 사용하지 않았던 툴.. 2021. 9. 30.
Android) adb Shell 명령어 정리 adb Shell 명령어 정리 $ adb shell pm list packages adb shell pm list package [포함된단어] $ adb shell pidof [패키지명] $ adb shell am force-stop [패키지명] ★☆☆☆☆ 2021. 9. 29.
Unity)문재해결) Fatal Error Logs/AssetImportWorker0.prev.log: 다른 프로세스가 파일을 사용중이기 때문에 프로세스가 엑세스 할 수 없습니다. Fatal Error Logs/AssetImportWorker0.prev.log: 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 엑세스 할 수 없습니다. Unity에서 Editor Log가 실행중으로 계속적인 에러가 나는 상황이다. Editor에서 사용 중인 상태에서 다른 프로세스가 겹치면서 해당 프로세스를 정상적으로 종료하지 못하는 상황이다. 작업 관리자에서 Unity Editor로 되어있는 항목을 찾아서 '작업 끝내기'로 백그라운드에서 도는 프로세스를 강제로 종료하고 다시 실행하면 정상적으로 된다. ★☆☆☆☆ 2021. 9. 29.
반응형