본문 바로가기

전체 글

유니티(Unity) - 클릭 이벤트 유니티 2d나 3d에서 오브젝트에 간편하게 클릭 처리를 할 수 있는 클릭 이벤트에 대해 알아보겠습니다.  우선 레이어(Layers)를 하나 추가해 주세요 아래 이미지처럼 "Test"라는 레이어를 추가했습니다. 그리고 카메라에 Physics Raycaster Component를 추가해 줍니다. Event Mask에 위에서 새롭게 추가한 Test 레이어를 선택해 주세요. 클릭 처리를 하고 싶은 오브젝트를 하나 생성해 주시고해당 오브젝트의 레이어를 Test로 변경합니다.ClickObject.cs를 해당 오브젝트에 추가해 줍니다. using UnityEngine;using UnityEngine.EventSystems;public class ClickObject : MonoBehaviour, IPointerCli.. 더보기
유니티(Unity) - 글자 타이핑 효과(Typing) 우선 Canvas에 테스트를 위한 Text UI와 Button을 하나씩 만들었습니다. 둘 다 TextMeshPro를 사용하고 있습니다. 화면에 배치는 대충 이렇게 했습니다. Text의 정렬은 중앙으로 잡아 주었습니다. Button에 Typing.cs 스크립트를 넣고 Button 이벤트에 위 이미지처럼 TypingButton을 연결시켜 줍니다. using System.Collections; using UnityEngine; using TMPro; public class Typing : MonoBehaviour { [Header("Text UI")] public TextMeshProUGUI textUI; [Header("타이핑 지연 시간")] public float delayTime; IEnumerator .. 더보기
로또 당첨확인 - QR코드스캔 "로또 당첨 확인" [권한 확인] QR코드 촬영을 위한 사용자의 카메라 권한이 필요합니다. android.permission.CAMERA 메인 화면 "아이콘 순서대로 " 로또회차검색 - 현재까지의 1등 번호를 확인. 전국1등배 출점 - 전국의 모든 1등 배출점 검색 가능. 오늘의운세 - 간단한 운세 확인. 세금계산기 - 세금을 제외한 실 수령금 확인. 구입로또목록 - QR 촬영된 번호 목록 QR코드스캔 - 로또용지 QR코드 촬영 QR코드 촬영 로또 QR코드만 확인이 가능하며 코드 확인 후 동행 복권의 당첨 확인 페이지로 이동하게 됩니다. QR코드 촬영 후 동행복권 페이지에서 당첨 확인 동행 복권 페이지에서 확인된 용지의 번호는 사용자의 스마트폰에 데이터로 저장이 됩니다. 저장된 데이터는 "구입 로또 목록.. 더보기
유니티 (Unity) - 확률 뽑기(생성) https://docs.unity3d.com/kr/2019.4/Manual/RandomNumbers.html 랜덤 게임플레이 요소 추가 - Unity 매뉴얼 여러 게임에서 임의로 선택되는 항목 및 값은 중요합니다. 이 섹션에서는 Unity에 내장된 랜덤 함수를 사용하여 일반적인 게임 역학을 구현하는 방법에 대해 알아봅니다. docs.unity3d.com 유니티에서 제공해 주는 확률 코드를 이용한 뽑기 및 기타 등등 여러 곳에서 사용할 수 있는 랜덤 확률 코드에 대해 알아보겠습니다. 코드만 복사 붙여 넣기 해서 사용하는 것보단 내용을 알고 사용하는 게 더 도움이 되겠죠? public class RandomTest : MonoBehaviour { [Header("확률 설정")] public float[] p.. 더보기
플러터(Flutter) - 외부 데이터 불러올때 try / catch 오류(error) 처리 외부에서 Json이나 csv 파일을 비동기로 불러올 때 일반적으로 발생할 수 있는 에러들의 처리 방법입니다. import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; class Test extends StatefulWidget { const Test({Key? key}) : super(key: key); @override State createState() => _TestState(); } class _TestState extends State { @override void initState() { super.initState(); try { // 데이터 불러오기 // http.Respo.. 더보기
유니티(Unity) - 인스펙트 리스트 오류 (Inspector) 유니티 특정 버전에서 위 이미지처럼 인스펙터 창의 Serializable List 목록의 리스트 0번이 겹쳐 보이는 버그가 있습니다. 몇 개의 리스트를 사용하던 0번 목록이 겹치는 버그입니다. 해결 방법은 따로 없는 것 같습니다. 특정 버전에서 이런 문제가 발생하기 때문에 문제가 없는 버전으로 설치하는 방법뿐인 것 같습니다. 제가 사용했던 2021 버전 중 21.2.8 은 문제가 없었으며 그 이상 에선 다 겹치는 문제가 나타나더군요. 그리고 오늘 날짜 (6월 25일)의 최신 버전인 21.3.5에선 문제가 없었습니다. 아래 사이트에서 확인해 보시고 참고들 하세요. https://issuetracker.unity3d.com/issues/scriptableobject-with-an-array-of-serial.. 더보기
플러터(Flutter) 3.0 - QR Code Scanner 검은 화면 해결(qr_code_scanner) qr_code_scanner: ^1.0.0 기존 프로젝트에서 플러터 3.0으로 업데이트 및 qr_code_scanner 1.0.0 사용 시 검은 화면(아래 이미지처럼)만 나온다면 해결 방법입니다. void _onQRViewCreated(QRViewController controller) { this.controller = controller; controller.scannedDataStream.listen((scanData) { setState(() { result = scanData; }); }); } 위 기존 qr_code_scanner를 생성하는 코드를 아래 코드처럼 변경 해 주시면 됩니다. void _onQRViewCreated(QRViewController controller) { // setS.. 더보기
유니티(Unity) - 간단한 안개 효과 (Fog) 모바일 게임에서 사용하기 좋을만한 안개 효과에 대해 알아보겠습니다. 위 이미지처럼 지형이 있다고 가정하고 그 바탕에 안개로 사용될 Plane을 하나 만들어 줍니다. 위 이미지처럼 안개가 적용될 Plane을 만든 후 새로운 Material을 하나 생성합니다. URP를 사용한다면 Universal Render Pipeline / Particles / Unlit의 Material을 아니면 Particles / Standard Unlit의 Material을 생성합니다. Material의 Options 중 Surface Type을 Transparent로 적용해 주시고 Soft Particles를 체크하신 후 Near와 Far의 값을 조정해 주세요. 그리고 안개용으로 만들어 둔 Plane에 Material을 적용해.. 더보기