728x90

공부/유니티 23

NullReferenceException: Object reference not set to an instance of an object 문제 해결 (URP Missing RendererFeature)

발생한 문제는 아래와 같다. 이것만 봐서는 무엇이 원인인지 잘 모른다.NullReferenceException: Object reference not set to an instance of an objectOVRProjectSetupRenderingTasks+c.b__4_42 (UnityEngine.Rendering.Universal.ScriptableRendererFeature feature) (at Assets/Oculus/VR/Editor/OVRProjectSetup/Tasks/Implementations/OVRProjectSetupRenderingTasks.cs:311)System.Linq.Enumerable.Any[TSource] (System.Collections.Generic.IEnumera..

공부/유니티 2025.01.06

유니티 드로우콜(배치) 줄이기 - 그림자 설정

현재 VR 플랫폼으로 게임을 만들어보고 있다.테스트를 돌려보던 중 가끔씩 뚝 끊기거나 버벅이는 현상이 발생했다. 이유는 모르겠지만 드로우콜이 매우 많이 발생하고 있었다.플레이어가 바라보는 방향에 따라 9000개 정도 발생하기도 했다. 같이 작업을 하고 있는 동기가 빛이 비춰질 때 크게 발생하니 그림자가 원인인 것 같다고 했다. 이전에 씬에 새로운 오브젝트들을 배치하고나서 그림자가 많이 생겼으니 가능성이 있었다.     우선 맵에 있는 오브젝트를 모두 Static 을 체크했다.대부분 움직이지 않고 고정해둔 오브젝트이기 때문에 Map 이라는 이름의 빈 오브젝트에 두고 모두 정적 게임 오브젝트로 만들었다. 이러면 Batches를 큰 오브젝트 하나로 만들어 렌더링을 최적화한다는데, 문서만 봐서는 이해가 힘들고 ..

공부/유니티 2025.01.01

Linework: Easy Outlines, Edges and Fills 에셋 사용 및 적용

유니티 에셋 스토어를 둘러보다 이 페이지를 발견했다.유니티 환경이 2022, 6 버전의 에디터를 쓰고 URP 플랫폼이라면 쉽게 오브젝트의 테두리를 띄워주는 에셋이다.   설명과 이미지를 보니 다양한 테두리와 채우기 효과를 제공한다.게임에서 강조할 오브젝트를 표시하거나 카툰 랜더링처럼 테두리 처리를 하기 쉬워 보였다.게다가 마침 할인 중이어서 바로 구매해보았다.  에셋스토어 Linework: Easy Outlines, Edges and Fills | 시각 효과 셰이더 | Unity Asset StoreAdd depth to your next project with Linework: Easy Outlines, Edges and Fills from Alexander Ameye. Find this & more ..

공부/유니티 2024.11.12

유니티로 트릭컬 평일농장 월페이퍼 엔진 배경화면 만들기8

평일농장의 길 영역을 만들기 위해 유니티 기본 스프라이트 도형을 잘 조합해서 가면 안되는 공간을 막아서 구현했었다.스프라이트가 길을 벗어나서 걸으면 영역을 좁혀서 조절하기 쉽다는 장점이 있지만, 관리하기가 귀찮고 보기에도 별로다.  그보다는 길 모양으로 이미지를 따서 스프라이트 이동 공간을 제어하는것이 낫지 않을까 생각했다.    GIMP 를 이용해서 원래 배경의 길을 따로 떼서 저장했다.  이후 떼어낸 길 이미지를  내비매시 길로 사용하도록 코드를 수정했다.덕분에 김프로 이미지를 자르고 옮기는 법을 배웠다.   예전에는 배경을 걸을 수 있는 영역 - 스프라이트들을 뭉쳐서 만든 영역을 걷지 못하는 영역 으로 길을 만들었다면이제 길 이미지만 걸을 수 있는 영역으로 설정한 후  bake해서 길을 더 쉽게 만..

공부/유니티 2024.09.25

유니티로 트릭컬 평일농장 월페이퍼 엔진 배경화면 만들기7

이번에는 기능 구현보다는 최적화를 해보려고 한다.만들었던 코드들을 둘러보니 말 그대로 작동은 되게 만든 코드가 많았다.업데이트 함수에 기능을 그냥 넣어놓아서 프레임마다 큰 작업을 하고 있었다.특히 내비메쉬 베이킹이나 화면비 조정같은 작업이 제일 많은 작업을 했을 것 같다.  우선 이 작업들을 줄이는 것부터 시작했다. UniRx를 사용하기 위해 화면 크기를 vector2로 전달할 수있는 subject를 하나 만들었다.    이제 게임이 돌아가는동안이 아니라 화면이 변했을때 배경화면과 내비메쉬 bake 새로고침을 수행한다.   다만 각 사도 스프라이트의 움직임은 화면 변화가 없을때도 동작해야하기 때문에fixedUpdate에서 변화하도록 했다. 이것도 규칙을 찾으면 좀 더 최적화할 수 있을 것 같지만 아직은 ..

공부/유니티 2024.09.17

유니티로 트릭컬 평일농장 월페이퍼 엔진 배경화면 만들기6

저번에 급하게 마무리한 평일농장을 좀 더 업데이트해보려고 한다.가만히 방치해둔 동안 진짜 게임의 평일농장은 많은 부분이 업데이트 되어서 이제 미니미 스프라이트의 움직임이 다양해졌다.그걸 다 따라하기에는 내 역량이 부족하니 일단 기본기라도 제대로 구현하는걸 목표로 잡아야겠다.  우선 아쉬웠던 성능 문제를 해결해보려고 했다.작업하는 pc가 n100 cpu라 그런지 배경화면을 돌리면 가끔 끊기고 힘겨워 하는것이 보였다.  유니티6 업데이트 유니티 에디터를 6프리뷰로 업그레이드했다.최적화와 편의성과 관련해서 많이 바꿨다고 들었다.게다가 처음에 나오는 유니티 스플래시 화면도 무료로 비활성화 할 수 있다고 한다. WebGl로 빌드 기존 32bit exe 에서 web으로 빌드 플랫폼을 변경했다. 구체적인 근거를 가지..

공부/유니티 2024.09.09

유니티로 트릭컬 평일농장 월페이퍼 엔진 배경화면 만들기5 - 1차 마무리

너무 이 작업을 붙들고 있을 수는 없어서 우선 마무리짓기로 했다.  저번에 작업에 이어서, 캐릭터들이 목표하는 방향에 맞게 스프라이트를 반전시키는 기능을 넣었다.agent가 스프라이트의 위에 고정되는 문제가 있어서 조정하려 했으나 계속 위로 올라가버려서walkable 영역을 길 위보다 살짝 위로 지정한 뒤 bake했다. 그리고 적당히 배경을 화면에 맞추고 배경에 필요한 지형들을 추가했다. 빌드 후 월페이퍼엔진에 적용했더니 문제 없이 동작했다. 나름 그럴싸하게 움직이지만 아쉬운 점들이 눈에 띈다. 하지만 하나 둘 건들다보면 끝이 보일 것 같지 않아서 우선 여기서 잠시 멈추고먼저 해야 할 일들을 하고 추후에 손봐야겠다.

공부/유니티 2024.05.13

유니티로 트릭컬 평일농장 월페이퍼 엔진 배경화면 만들기4

목표: 배경의 길을 따라  이동하는 미니미 스프라이트 구현 이제 미니미들이 길을 따라서 농장을 누비게 만들어야 한다.      NavMeshPlus : 2D Navmesh로 길 정하기  GitHub - h8man/NavMeshPlus: Unity NavMesh 2D PathfindingUnity NavMesh 2D Pathfinding. Contribute to h8man/NavMeshPlus development by creating an account on GitHub.github.comNavMeshPlus라는 것을 이용해서 2d에서도 AI가 이동하는 영역을 생성할 수 있는 방법을 찾았다.    적용에는 성공했으나 화면 크기가 달라지면 기껏 bake 해놓은 경로가 변해버린 크기를 따라가지 못하는 문제..

공부/유니티 2024.05.08

유니티로 트릭컬 평일농장 월페이퍼 엔진 배경화면 만들기3

문제가 발생했다. 원래는 배경이미지를 캔버스 안에 이미지를 배치해서 사용 중이었는데화면의 비율을 바꾸면 배치해둔 스프라이트의 크기와 위치가 어긋나는 문제가 생겼다.    배경은 이미지, 나머지는 스프라이트여서 발생하는 문제였다. 다양한 바탕화면 크기 비율에 맞추려고 하다보니 하나에 매칭을 할 수 없었다. 그렇다면 배경이미지도 스프라이트로 처리하면 통일할 수 있지 않을까 하는 생각이 들었다. 그래서 아래의 코드를 참고해서 스크립트를 짰다. How to determine scale to increase sprite width to screen widthI have been able to use Transform.localScale to increase the width of a sprite. How can ..

공부/유니티 2024.05.06
반응형