본문 바로가기
반응형

개발881

Unity)해결) error CS0227: Unsafe code may only appear if compiling with /unsafe. Enable "Allow 'unsafe' code" in Player Settings to fix this error. error CS0227: Unsafe code may only appear if compiling with /unsafe. Enable "Allow 'unsafe' code" in Player Settings to fix this error. 스크립트 코드에 'unsafe' 라는 키워드가 들어가게되면 설정이 포함되지 않으면 생기는 이슈이다. 단순하게 unsafe를 처리할수 있도록 옵션을 변경해주면 된다. Unity - [Project Setting] -[Other Settings] - Allow 'unsafe' Code 를 활성화 시켜주면 된다. IDE에서는 xml을 추가해줘야한다. Assembly-CSharp-Editor.csproj true 2021. 6. 20.
Unity) Field Of View / Light Shadow ( 후레쉬 효과 / 시야각) Field Of View / Light Shadow ( 후레쉬 효과 / 시야각) Chracter - (흰색)Target- (파란색)Obstacle - (빨간색) 흰색이 해당 바라보고 있는 Direction을 기준으로 시야각(Field Of View)을 Triangle으로 각 정점을 조립해서 만들고 Raycasting을 통한 Target과 Obstacle을 통해 Layer Mask를 처리를 진행했다. 예전부터 관련되서 코드를 이것저것 많이 보고 있었는데. 실제 정점을 계산해서 처리하는 것을 잘 활용해서 이것저것 많이 해볼 수 있을 것 같다.https://www.youtube.com/watch?v=1aMGqno5lsg   참고 : https://www.youtube.com/watch?v=TOEi6T2mtHo.. 2021. 6. 9.
Unity) 와이어 프레임(Wireframe) 와이어 프레임(Wireframe) Scene의 옵션에 보면 Wireframe이라는 설정 메뉴가 존재한다. 이번에 알게 되어서 포스팅한다. 와이어 프레임으로 설정하면 실질적으로 그려지는 정점을 Scene에서 보여지게 하는 메뉴인데 단순히 보는 것 말고 정점을 확인할 때 사용된다. 확실히 와이어 프레임으로 메쉬를 그리게 되니 직관적이고 좋은 것 같다. Unity Scene Control Option : [링크] Unity - Manual: Scene view control bar How do you use documentation throughout your workflow? Share your experience with us by taking this survey. Scene view control ba.. 2021. 6. 4.
Unity) 관리되는 코드 스트리핑(Managed Stripping Level) 관리되는 코드 스트리핑(Managed Stripping Level) 관리되는 코드 스트리핑은 빌드에서 사용되지 않는 코드를 제거하여 최종 빌드 크기를 대폭 줄이는 작업입니다. IL2CPP 스크립팅 백엔드를 사용하는 경우 관리되는 코드 스트리핑을 수행하면 C++로 전환하여 컴파일할 코드를 줄일 수 있어 빌드 시간을 단축할 수도 있습니다. 관리되는 코드 스트리핑을 수행하면 프로젝트의 C# 스크립트에서 빌드된 어셈블리, 패키지와 플러그인의 일부인 어셈블리 및. NET 프레임워크의 어셈블리를 포함한 관리되는 어셈블리에서 코드를 제거할 수 있습니다. 관리되는 스트리핑 레벨 프로젝트의 Player Settings 에 있는 Managed Stripping Level 옵션을 사용하여 Unity가 사용되지 않는 코드를 .. 2021. 6. 4.
Unity) Unity Test Runner(UTF) Unity Test Runner(UTF) Unity 사용자는 Unity 테스트 프레임 워크 (UTF)를 사용하여 편집 모드 와 재생 모드 , 그리고 Standalone, Android, iOS 등과 같은 대상 플랫폼 에서 코드를 테스트 할 수 있습니다. UTF는 .Net 언어 용 오픈 소스 단위 테스트 라이브러리 인 NUnit 라이브러리의 Unity 통합을 사용합니다. UTF는 현재 NUnit 버전 3.5를 사용합니다. NUnit에 대한 자세한 내용은 공식 NUnit 웹 사이트 및 NUnit 설명서를 참조하십시오 . /* * 작성일자 : #DATE# * 작성자 : #AUTHOR# * 설명 : */ using System.Collections; using System.Collections.Generic; .. 2021. 6. 3.
Unity) Frame Debugger Frame Debugger 프레임 디버거는 현재 Display에 있는 한 프레임에 대한 정보를 분석해주는 Unity 내장 분석 툴이다. [Window]-[Analysis]-[Frame Debugger] 메뉴를 선택하면 Frame Debug 창이 나온다. 오는데 여기에서 Play 도중에 Enable 버튼을 누르면 아래와 같이 해당 한 프레임당 그려지는 순서 및 Batch에 관련된 정보를 준다. Texture / Font / 등 화면을 그려지기 위한 레이어 순서 및 불필요한 리소스를 확인이 가능하다. 쉐이더 속성값 / 렌더링 순서 / 조명 등 여러 가지 면에서 최적화 포인트를 확인도 가능하다. Unity Frame Debugger : [ 링크 ] Unity - Manual: Frame Debugger Ren.. 2021. 6. 2.
Unity)EDM4U(External Dependency Manager for Unity) EDM4U(External Dependency Manager for Unity) 많은 Unity 플러그인은 Android 특정 라이브러리, iOS CocoaPods에 의존하고 때로는 다른 Unity 플러그인에 대한 전 이적 의존성을 가지고 있습니다. 이로 인해 다음과 같은 문제가 발생합니다. Unity 프로젝트 내에서 플랫폼 별 (예 : Android 및 iOS) 라이브러리를 통합하는 것은 복잡할 수 있으며 Unity 플러그인 유지 관리자에게 부담이 될 수 있습니다. 플랫폼 별 라이브러리에서 충돌하는 종속성을 해결하는 프로세스는 Unity 플러그인을 사용하려는 개발자에게 푸시됩니다. 플러그인을 사용하려는 개발자는 Android 또는 iOS 특정 빌드 오류에 직면했을 때 포기할 가능성이 매우 높습니다. (.. 2021. 5. 26.
Tip)Firebase - Debug View (디버깅 뷰 사용하기) Firebase - Debug View (디버깅 뷰 사용하기) Firebase Console의 페이지에 보면 애널리틱스 항목에 DebugView라는 디버깅이 가능한 기능이 존재한다. 간단하게 Firebase Event의 데이터와 Custom Event를 USB를 직접 연결해서 확인이 가능한 기능으로 실시간으로 Event를 확인이 된다. 설정하는 방법은 다음과 같다. 디버깅 옵션이 켜져 있는 빌드(Develop)가 설치된 핸드폰을 USB 디버깅 모드로 연결이 된 상황에서 진행을 해야 한다. android sdk Manager의 location의 경로의 platform-tools로 이동한다. 경로는 Android SDK Manager의 경로를 참고하면 된다. 명령 프롬프트(CMD)를 열고 cd 명령어를 통해.. 2021. 5. 20.
Unity)Android Gradle Plugin Version Change Android Gradle Plugin Version Change Unity 에서 Android의 Gradle의 버전을 변경을 해야하는 경우가 생겨서 이렇게 포스팅하게 되었다. Project Setting 의 Android - Publishing Settings에 보면 Build 항목에서 Custom Base Gradle Template라는 항목을 체크하게되면 자동으로 Project -Asset-Plugins-Android 항목에 baseProjectTemplate 파일이 생성되게 된다. 저 항목을 체크하지 않으면 기본적으로 [Edit]-Preferences의 External Tools에 있는 경로에 있는 항목으로 자동으로 처리가 된다. 해당 생성된 파일(baseProjectTemplate)을 열어서 G.. 2021. 5. 13.
기본기)c#) lock lock 문 lock은 특정 상황에서 상호 배제 잠금을 하는 키워드로 해당 상황에서는 lock을 걸게되면 다른곳에서 자원을 사용하지 못하도록 독립적인 상황을 만드는 방법이다. 대부분은 병렬적으로 처리가되는 형태에서 데이터의 무결성을 확보하기 위해서 사용을 하게되는데 형식은 다음과 같다. lock(x) { //Your code.. } 예제는 다음과 같다. 전용 balanceLock 인스턴스에 잠금을 설정하여 해당 개인 balance 필드에 대한 액세스를 동기화하는 Account 클래스를 정의합니다. 동일한 인스턴스를 잠금에 사용하면 Debit 또는 Credit 메서드를 동시에 호출하려는 두 스레드에 의해 balance 필드가 동시에 업데이트되지 않습니다. using System; using System.T.. 2021. 5. 12.
Unity)코드) Camera View 안에 있는 Object 구분하기 Camera View 안에 있는 Object 구분하기 Unity에서 Camera의 View안에 포함되어있는 오브젝트를 판단해야 할 상황에서 사용이 가능한 코드이다. 간단하게 설명하면 해당 오브젝트들이 카메라안에 있는지 여부를 판단해 준다. 코드를 보면 간단하게 체크해야하는 오브젝트를 Camera의 ViewPoint로 변환 값이 0~1 사이에 포함되어있는지 판단하는 코드이다. distance(z) 도 체크가 잘된다. public class CameraViewObject : MonoBehaviour { [SerializeField] private List findList = null; private Camera cam; void Start() { cam = UnityEngine.Camera.main; } /.. 2021. 5. 11.
Unity) Audio / Sound 사운드 -최적화 및 설정 Audio / Sound 최적화 및 설정 Unity에서 Audio 설정과 옵션에 대해서 테스트하면서 해당 최적화에 대한 고민을 진행했고 그 결과에 대한 포스팅이다. Unity에서는 전체적인 Project Setting - Audio 옵션과 / 각 개별의 Audio Clip에서의 설정 2가지 설정이 가능하다. Project Setting Audio Global Volume 전체적인 볼륨 Vloume Rolloff Scale 로그 롤 오프 기반의 소스에 대한 전역 감쇠 설정 Doppler Factor 도플러 효과에 대한 설정 처리 Default Speaker Mode 기본 스피커 모드(Mono/ Stereo/ Quad / Surrond / Mode5point1/ Mode7Point1 / Prologic) S.. 2021. 5. 10.
코드분석) 유전 알고리즘(카트) 유전 알고리즘(카트) 유전 알고리즘을 이용해서 운전을 학습시키는 샘플 프로젝트이다. 간단하게 반복 수행을 하면서 해당 목표를 향해서 간다. 가장 상위의 유전자 10개를 추출해서 다시 새로운 유전자를 만드는 원리로 계속 점진적으로 진행한다. 유전알고리즘을 간단하게 테스트해보고 이해해보기에 꽤나 적절한 샘플프로젝트라고 생각한다. 프로젝트 링크 주소 : [링크] GitHub - Kcrong/Simple-Genetic-Algorithm: Guessing number with Genetic Algoithm Guessing number with Genetic :bug: Algoithm. Contribute to Kcrong/Simple-Genetic-Algorithm development by creating an.. 2021. 5. 9.
코드분석) Spy Game Spy Game 코드 분석 스파이 게임의 코드를 분석하는 포스팅이다. 프로젝트 링크 주소 : [링크] Spy Game A 2D top down puzzle shooter built in Unity. unitylist.com ----------------------------------------------------------------------- 키보드의 방향키로 캐릭터를 움직이고 Shift 버튼으로 순간이동이 가능하고 마우스 클릭(일반 미사일)/ 마우스 오른쪽(레이저)이 생성되어서 적을 공격할 수 있다. 탑 뷰의 스타일로 체력이 존재하고 센서 근처에 가게 되면 적이 리젠되서 공격을 하게 된다. using System.Collections; using System.Collections.Generic;.. 2021. 5. 2.
Unity) URP(Universal Render Pipeline) 셰이더 사용하는 방법 URP 셰이더 사용하는 방법 Unity에서 URP 셰이더를 사용하는 방법은 다음과 같다. 사용할 프로젝트의 Package Manager에서 Universal RP를 Install 한다. Asset - Create - Rendering - Universal Render Pipeline - Pipeline Asset 생성된 UniversalRenderPipelineAsset_Renderer를 [Project Setting] -[Graphics] Scriptable Render Pipeline Settings에 포함시키면 된다. URP 셰이더를 사용하려면 프로젝트의 Universal RP를 선택해서 만들면 된다. Unity Blog 참고 : [URP-경량 렌더 파이프라인의 진화] How the Lightwei.. 2021. 4. 30.
반응형