유니티 21

GPGS 설치 후 Admob 모바일 기기에서 작동 안하는 문제 해결 - proguard-user.txt

제목 그대로 Admob을 먼저 설치하고, GPGS를 나중에 설치 했는데 모바일 기기에서는 Admob이 작동하지 않는 문제 해결.유니티에서 실행을 했을 때는 아무 문제가 없었음.사실 Admob 자체의 문제인지, GPGS 설치 후의 문제인지는 정확하지 않음. 해결 방법은 proguard-user.txt 파일을 수정했음.Assets\Plugins\Android\proguard-user.txt 아마도 첫 세 줄의 google.unity, google.android, google.ads에 해당 하는 부분이 역할을 했을 것으로 보임.-keep class com.google.unity.** { *;}-keep public class com.google.android.gms.ads.**{ public *;}-k..

유니티 2024.04.29

[유니티] Pan Zoom을 Touch와 EventSystems 혼합하여 사용하기

Pan Zoom 기능을 해서 이미지를 이동시키고, 확대/축소하려고 했음. 처음에는 Touch 2개를 이용해서 했었는데, EventSystem을 체크하면 한번에 여러 이미지를 움직이는데 서로 싱크가 안 맞는다. EventSystem 사용을 하지 않으면 싱크가 잘 맞아서 움직이는데 참으로 이상한 현상임. 해결하기 위한 방법을 찾아보니, UnityEngine.EventSystems에서 IDragHandler를 사용해서 Pan 기능을 이용하면 EventSystem과 충돌하지 않고 잘 움직일 것으로 보였음. image라는 tag가 있는 녀석들을 찾고, 그 오브젝트가 동시에 움직일 수 있도록 구현을 해두었다. public class PanZoom : MonoBehaviour, IPointerDownHandler, ..

유니티 2024.04.07

[유니티] 2개를 동시에 Mask로 씌울 때...

두 이미지를 비교해서 보기 위해 + 확대 기능을 넣기 위해서 scroll rect와 rect mask를 이용하였다. scroll rect : 두 이미지를 확대해서 움직일 때 자연스러움 + 영역을 제한해줌 rect mask 2D : 확대를 했을 때, 아래 이미지가 위 이미지를 덮는 현상을 제거해주었음. rect mask 2D를 어떨 때 사용하는지는 좀 더 봐야하는데, 사각형(Rect) 영역에 이미지를 제한해 주는 것 같다.

유니티 2024.04.07

MM Touch Button 이용해서 터치하고 있을 때 연속으로 function 실행하기. Long Button 구현

MoreMountain의 Feel 기능인 MM Touch Button을 이용. 계속 터치를 하고 있으면, 해당 function이 반복되어서 실행된다. 하지만 이렇게만 하면, function이 프레임에 한 번씩 실행이 되어서 엄청나게 많이 실행되는 문제가 있음. 사용하려는 funciton (여기서는 skill01PointUp) 에다가 buffer time을 넣어주자. 아래와 같이 startBufferTime만큼의 시간의 buffer를 넣어준다. 참 쉽죠잉? public float startBufferTime; private float skillUpBufferTime; void Update() { if (skillUpBufferTime 0) { return; } skillUpBufferTime = start..

유니티 2023.05.31

[유니티] MMF Player 이용해서 화면 깜빡임(Flash) 넣기

2023.05.12 - [유니티] - [유니티] MMF Player로 화면 쉐이크 넣기 [유니티] MMF Player로 화면 쉐이크 넣기 MoreMountains의 FEEL을 이용하고 있다. 원래는 진동(Vibration) 기능 쓰려고 했는데, 다양한 기능이 통합된 FEEL만 유니티 에셋스토어에서 제공해서 어쩔 수 없이 샀는데, 알아보니 정말 다양한 기능이 dragonhorse.tistory.com 위 글에서 소개 했듯이, MoreMountains의 FEEL에 있는 기능을 이용하고 있음. 우선 전체 화면을 덮는 Flash가 들어가는 FlashImage를 만들어서 Canvas에 집어넣고, 전체 화면을 덮게 한다. 그리고 Image, MMF Player, MMFlash를 Component로 집어넣는다. Im..

유니티 2023.05.12

[유니티] MMF Player로 화면 쉐이크 넣기

MoreMountains의 FEEL을 이용하고 있다. 원래는 진동(Vibration) 기능 쓰려고 했는데, 다양한 기능이 통합된 FEEL만 유니티 에셋스토어에서 제공해서 어쩔 수 없이 샀는데, 알아보니 정말 다양한 기능이 있길래 이것저것 이용해보려고 한다. 내가 하려는 기능은, 스킬을 쓰면 화살이 날아가고, 화살이 적에 맞으면 화면이 '꽈광'하고 움직이는 효과. 화살이 적에 맞으면 폭발을 하는데, 폭발 할때 불러오는 이펙트 prefab에 아래와 같이 스크립트를 작성하여 component로 추가. using MoreMountains.Feedbacks; public class shakeCameraScript : MonoBehaviour { private GameObject mainCamera; void St..

유니티 2023.05.12

For Loop에서 AddListener 사용!

For Loop에서 AddListener를 썼더니 가장 마지막 숫자로 초기화된다. 코드 자체는 분명 오류가 없는데, 결국 AddListener가 bowUpButtons.Length 의 값으로 초기화. void bowEquipButtonInitialize() { for (int i = 0; i bowEquip(i)); Debug.Log($"Bow Equip button {i} is ready"); } } 찾아보니, closure problem 이라는게 있다고 한다. for 문에서 AddListener 람다식은 주의해야한다. (AddListener for loop) 클로저 C..

유니티 2023.04.26

[유니티] 게임오브젝트 이동 시 배경 무한 복사

코드몽키를 참고해서 게임 오브젝트 이동 시 배경 무한 복사를 만들었음. 점프는 없을 것이므로, Y축 방향으로는 고려를 안하고 X축 방향으로만 스크립트 작성. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ParallaxBackground : MonoBehaviour { [SerializeField] private Vector2 parallaxEffectMultiplier; //배경 화면이 카메라를 따라오는 정도. 배경화면을 고정해두려면 0으로 입력 private Transform cameraTransform; private Vector3 lastCameraPosition; private ..

유니티 2023.04.19

[유니티] 구글인앱리뷰 설정하기

구글 인앱 리뷰를 설정하기 위해서 며칠 동안 좀 찾아봤다. 패키지를 다운 받는 사이트랑 내용에 대한 소개를 하는 사이트가 다 각각 다르기 때문에 좀.. 친절하지는 않다. 일단 다운 받은 패키지는 google-play-plugins-1.8.0 안에 이것 저것 많이 들어있는데, 충돌을 방지하기 위해 EDM쪽은 조심조심 살펴보고, new로 표시된 것들만 적용. 아래 GitHub의 페이지를 가면, assetdelivery, billing, inputmapping, instant, integrity에 대한 소개는 없기 때문에, 설치하지 않음. 게다가 billing을 설치하게 되면, 기존에 있던 구글 billing 관련 aar파일의 충돌이 나기 때문에 빌드가 안된다. 아래의 것들만 받아서 빌드를 하게 되면 문제가 ..

유니티 2023.04.15