본문 바로가기

유니티34

[Unity] Event Trigger로 오디오 클립 재생 제어하기 라는 제목을 썼지만 적절한 사용법은 꽤 한정적이라고 생각하긴 하는데 ... 일단 저는 버튼을 눌렀을때 재생되는 효과음을 이걸로 제어한 기록입니다. 말고는 배경음악 바꾸기 정도 할 수 있지 않을까? (근데 이건 ... 스크립트가 더 좋아보이네) 스크립트 쓰다가 인스펙터로 하니까 안 귀찮고 편하긴 한데 공통된 다수의 작업엔 ... 그다지 좋진 않은듯 왜냐하면 이벤트 트리거가 아무리 같은 컴포넌트를 갖고 있고 같은 이벤트를 갖고 있어도 오브젝트 여러개를 선택하면 이벤트를 안 보여주더라고요 하... 왜이러는거임? 대체 왜..? 1. 오브젝트에 Audio Source 설정 먼저 아무 오브젝트나 ... (그래도 이왕이면 관리하기 쉬운 오브젝트에) Audio Source 컴포넌트를 부착합니다. 그리고 Audio Cl.. 2022. 5. 24.
[Unity] Android 12 이상 버전에서 앱 강제 종료 현상 이거 진짜... 길고 험난했다... API로 치면 31인가? 32? 어쨌든 안드로이드 버전 12가 나오면서 그 이전 버전을 대상으로 만든 유니티 프로젝트에서는 이거저거 바꿔주고 신경써야 할 게 늘었는데요 (인텐트 필터도 그렇고...) 와중에 인텐트 필터를 겨우 해결해서 넣었더니, 정작 버전 12인 기기에서 실행이 안된다는거예요 (젠장!) 전 내심 인텐트필터 true false 값 차이에 대한 글 떠올리면서 타이틀화면에서 종료되는거면 역시 이것때문인가? 내가 너무 대충 하긴 했지 크윽 이랬는데 유니티 로고 뜬 다음에 종료하냐 아니면 타이틀화면에서 종료하냐 이랬더니 걍 바로 강제종료된대! 그러니까 앱 크러쉬인거야 맙소사 왜 그런가 원인도 모르겠는 상태에서 구글링을 엄청 해낸 결과 겨우겨우! 해법을 얻을 수 .. 2022. 5. 14.
[Unity UGUI] 9patch (나인 패치) 요즘 옛날 프로젝트 뜯어고치면서 최적화..라기보다는 "와 무슨 생각으로 이렇게 짰지?"를 고치고 있는데... 리소스를 들여다보니 문득. 이걸 써야겠다!! 싶어서. 겸사겸사 기록도 합니다. 이거 그런데 ... 정식 이름은 9슬라이싱(9-slicing) 스프라이트 ... 이거인가보네요 나인패치 자세한 정의는 제껴두고 ... (유니티 매뉴얼에서 엄청 잘 설명하고 있습니다) 제가 이번에 나인패치로 고쳐볼 것은 이런 사례입니다. 지금 뜯어고치고 있는 게임의 랭킹 UI입니다. 글자는 RANKING을 제외하곤 텍스트로 처리하고 있습니다. 이렇게 하면 저 가운데 검은 부분만큼 이미지 크기도 커지고, 그만큼 이미지가 차지하는 용량도 크겠죠. 바로 이럴때! 이렇게 같은 패턴(여백이든 아니든간에)이 반복되는 영역이 클 경우.. 2022. 5. 6.
[Unity] A* Pathfingind Project - 길찾기 에셋 레테 2.0 업데이트를 하면서 이동 방법을 전부 갈아치웠습니다. 블로그를 보시면 아시겠지만 전에는 NavMesh 기능에서 잔머리를 굴려서 했었는데요 지금은 그때 사고 못 썼다던 에셋을.. 드디어 적용을 했어요 전에 비해 엄청 깔끔하고 좋아졌습니다 다만 이동의 모든 구간을 내가 제어하는 게 아니라 에셋이 제어해서 에셋 코드 수정을 거치지 않은 지금으로서는 애니메이션은 좀 버그가 생기는듯 그래도 .. 정말.. 좋다! A* Pathfinding Project Pro | AI | Unity Asset Store Get the A* Pathfinding Project Pro package from Aron Granberg and speed up your game development process. Find th.. 2022. 4. 18.
[Unity] using UnityEngine.UI 오류 레테를 간간이 업데이트 하고 있는데 ... 얼마전에 빌드 에러와 마주했어요 인텐트 필터 관한 오류인데 여튼 해결법 그 무엇도 안되는 중 유니티 2019.4.33인가 이후로는 이 방법으로 된다! 는 글을 봐서 급하게 이것저것 업데이트를 하고있어요 (엔진, 플러그인 등) 그런데 갑자기 어느날 또 나를 찾아온 예상외의 에러가 있었으니 갑자기 UI 네임스페이스를 찾을 수 없다는거예요 그것도 using UI를 빼먹었으면 몰라 멀쩡히 잘 작동하던 코드인데 진짜 갑자기! 어제까지 잘됐는데 갑자기 프로젝트 버전 올리니까 갑자기!! 웃긴건 유니티 상에서 콘솔창 오류가 뜨든 말든 실행하면 멀쩡히 모든게 제대로 동작한다는 거였어요 스크립트 상에서는... using UnityEngine.UI 중에 UI에 빨간줄이 되어있고, .. 2022. 3. 5.
[Unity] 시스템 언어(국가)에 따라 앱 이름을 변경하기 요즘 운전면허를 따려고 하고있습니다 학원이 멀어서 다녀오면 하루가 순식간에 사라짐 ... ... 또 저번 JLPT 1급 티켓팅에서 광탈해서 (아니 난 그냥 시험을 보고싶은건데 티켓팅을 해야하는 다음 시험을 기다리고있습니다... 이제 얼마 안 남았나? 여튼 기출문제 보면 그냥저냥 합격점은 나오던데 그래도 좀 더 단어공부는 해야겠죠 이렇게 딴짓하는 와중에 레테 일본어판 업데이트를 하게됐어요 최종업뎃은 아니고 일본어도 얼렁뚱땅 써서 내긴 했는데 ... 여튼 그것에 따라서 앱 이름을 변경할 필요가 있었으므로 그 방법을 정리해봅니다 1. 폴더 생성 Assets 폴더 하위에 Plugins → Android 폴더로 갑니다. 저는 애드몹이 있어서 이미 만들어진 상태였는데, 아닌 경우는 그냥 만들면.. 될듯하네요! 안드.. 2022. 2. 25.
[Unity UGUI] InputField 인풋 필드 + α (플레이어 이름 입력) 이번에도 이 프로젝트에 썼던 것. 플레이어가 이름을 입력하고 입력 정보를 기억해서 결과창에 써먹는 식이었습니다. 직전에 쓴 랭킹 글과 같이 보면 좋을지도! 왜냐하면 지금 쓰는 글 이후에 아래의 기능이 이어지거든요. [유니티 C#] PlayerPrefs로 기기에 저장되는 랭킹 만들기 학교다닐때 과제로 냈던 프로젝트에 썼던 코드 얼렁뚱땅 PalyerPrefs로만 구현했습니다. 오직! 플레이어프립스로만! 플레이어프립스 특징 상, 기기에 저장되는 랭킹입니다. 그때 이걸 만들면서 이 drybone-developer.tistory.com 1. 인풋필드 저는 대충 아케이드 게임 종료 후 플레이어 기록하기 용도로 썼습니다. 물론 그것 외에도 플레이어의 임의 문자열 입력이 필요한 곳에 인풋필드를 쓸 수 있겠죠. 게임오브.. 2021. 12. 6.
[Unity C#] PlayerPrefs로 기기에 저장되는 랭킹 만들기 학교다닐때 과제로 냈던 유니티 프로젝트에 썼던 코드 얼렁뚱땅 PalyerPrefs로만 구현했습니다. 오직! 플레이어프립스로만! 플레이어프립스 특징 상, 기기에 저장되는 랭킹입니다. 그때 이걸 만들면서 이거 제법 한계인 기능이군.. 이라고 생각했는데 익명의 피드백(다른 팀 피드백까지가 과제였으므로)에서 "랭킹이 기기에만 저장된다는게 좋아요~" 라는 평가를 보고 헤헤 그런가 (코슥) 했던 기억이 하긴 저도 제 점수가 공공연하게 서버 판에 올라가는걸 별로 좋아하지 않긴 합니다. 그분도 이런 맥락이었겠지 아마 1. 랭킹 창 구조 여기서 랭킹은, 게임오버 후 플레이어가 이름을 입력하면 랭킹 계산을 한 뒤 보여주도록 했습니다. 이름과 점수 각각의 텍스트 박스로 구성되어 있고, 지금까지의 1~5위와 나의 점수를 보여.. 2021. 12. 3.
[Unity NavMesh] 확장: 움직이는 길을 네비게이션 메쉬 영역으로 설정하기 (3 - 메쉬와 함께 이동) 정말 긴 시리즈물이 되고있어 사실 번호를 붙이라면 5번도 거뜬히 넘을 수 있을 것 같지만.. 아마 다음엔 메쉬 영역보다는 다른 쪽에 관계된 얘기일 것 같아서 3번이 마지막이지 않을까? 아래는 2번 글. [Unity NavMesh] 확장: 움직이는 길을 네비게이션 메쉬 영역으로 설정하기 (2 - 이동 제한) 바로 전 글이었던 "움직이는 길을 네비게이션 메쉬 영역으로 설정하기 (1)"에서 이어지는것입니다. 거기서 언급했던 문제들이 있는데요... 2번에선 예정대로 그걸 써볼까 하고 [Unity NavMesh] 움직이 drybone-developer.tistory.com 이번에 쓸 문제는 1번 글에서 얘기했던 것 중 2번 문제에 대한 이야기입니다. 가야 할 곳을 가지 않는 캐릭터 사실 이 문제는 순전히 레테이니.. 2021. 11. 24.
[Unity NavMesh] 목적지 설정 + α 이 글은 네비메쉬의 목적지를 지정하는 코드와.. 직전까지 썼었던 '움직이는 길을 네비메쉬로 베이크하기' 에서 "결국 막다른길에서 어떻게 움직임을 멈추는가?" 에 대한 이야기입니다. 제목 뭐라고 지을지 한참 고민했는데 대충 저런 내용이에요. 1. 네비게이션 메쉬 에이전트 목적지 설정 1 GetComponent().SetDestination(Vector3targetpos); cs SetDestination을 사용해서 목적지 위치를 Vector3 좌표로 설정해줄 수 있습니다. 2. 마우스 클릭 좌표로 이동하기 정확히 말하자면 이건 레테에서 쓰던 코드라, 마우스 클릭한 곳에 있는 큐브로 이동하는 코드입니다. 자세한 코드는 다음에 다른 구현을 전부 설명하면 하고.. 지금은 딱 이 요소만. (심지어 더블터치를 써야.. 2021. 11. 23.
[Unity NavMesh] 확장: 움직이는 길을 네비게이션 메쉬 영역으로 설정하기 (2 - 이동 제한) 바로 전 글이었던 "움직이는 길을 네비게이션 메쉬 영역으로 설정하기 (1)"에서 이어지는것입니다. 거기서 언급했던 문제들이 있는데요... 2번에선 예정대로 그걸 써볼까 하고 [Unity NavMesh] 움직이는 길을 네비게이션 메쉬 영역으로 설정하기 (1 - 기본 베이크) 움직이는 메쉬를 네비메쉬 (네브메쉬? 내비메쉬?) 영역으로 설정한다? 이걸 보신 분들은 대충 아 실시간 Bake 인 건가? 하실 수 있습니다. 하지만 유니티에 실시간 베이크따위는 존재하지 않습니 drybone-developer.tistory.com 1번 글에서 적은 문제는 이것들입니다. 근데 글이 너무 길어져서 1번 문제만 해결함 (미안해요!) 2번문제는 다음 글에... 그리고 글 쓸 때 컬러스크립터 폭 괜찮아보여서 냅뒀는데 완성하니까.. 2021. 11. 20.
[Unity NavMesh] 확장: 움직이는 길을 네비게이션 메쉬 영역으로 설정하기 (1 - 기본 베이크) 움직이는 메쉬를 네비메쉬 (네브메쉬? 내비메쉬?) 영역으로 설정한다? 이걸 보신 분들은 대충 아 실시간 Bake 인 건가? 하실 수 있습니다. 하지만 유니티에 실시간 베이크따위는 존재하지 않습니다. (있었으면 레테가 좀 더 편했을텐데요) 그래서 실시간 베이크도 할 수 없고 그렇다고 뭔가 다른 방법의 툴을 만들기엔 시간이 너무 부족하고 에셋을 사기엔 돈이 너무 없었던 제가 선택한 방법을 적어보려고 합니다. 기록용이라.. 별 .. 정보값은 없을 수도 있어요 그런데 이래저래 부가적인 내용은 많아서 꽤 긴 시리즈물이 될듯 (?) 계기 여러분이 마주한 문제가 이 문제가 맞는지 확인하셔야 하니 문제상황을 적습니다... Lethe-레테의 가장 기본적인 로직을 설정하려고 할 때의 일인데 레테가 '걸어다닐 수 있는 큐브.. 2021. 11. 17.