Develop

유니티에서 라디오 버튼을 구현하고 싶어서 코드도 짜서 넣어보고 모든 기능을 다 총동원 해봤지만 결국 유니티 내부에서 제공하는 기능이 있다는걸 알았다... 라디오버튼은 여러 선택지가 있을 때, 모든 선택지 중 하나만 켜지도록 하는 기능이다. 거두절미하고 아래와 같이 구성하였다. 하이라키창은 맨 위에 빈 오브젝트 Toggle Group를 만들어주고, 하위에 O,X 토글을 각각 생성해주었다.그리고 ToggleGropu에는 Toggle Group 컴포넌트를 붙여줘야한다.이런식으로 붙여준다.이때, Allow Switch Off를 켜주면, 그룹으로 설정 된 토글들이 라디오 버튼처럼 작동하게 된다...! 각 토글들에도 Group에 위에서 생성한 Toggle Group를 붙여주자. 이렇게 설정하면 라디오버튼처럼 작동한..
유니티에서 게임을 만들 땐, 여러 방법이 있겠지만, 씬을 여러개를 두고 전환해야되는 일이 생기기 마련이다. 보통 처음 유니티를 배울 땐, 씬 로딩을 UnityEngine.SceneManagement에 포함되어있는 SceneManager.LoadScene을 사용해 구현하곤 한다. 나쁜 방법은 아니지만, 씬에 로딩해야 할 데이터가 많거나 한다면, 씬 전환 간 유저는 멈춘 화면에서 대기를 해야할 수 있다. 이러한 점을 보완하고자, 비동기적으로 씬을 호출하는 작업을 하면 좋다. 비동기란 무엇인가?비동기는 말 그대로 동기화되지 않았다는것이다. 예를 들어서 유니티에서는 다음과 같은 라이프사이클이 있다. 엄청 긴데 우리는 간단하게 Awake-> Start-> Update만 알고 있으면 얼추 될것같다. 유니티에서는 다..
지금 프로그램을 만들고 있다. 프로그램 기획자의 요청사항중, 유저 회원가입에서 주소를 받아서 저장해야된다고 요청받았다. 일단 가장 큰 문제가 유니티 내부에서 api를 사용하는것이 가장 큰 문제다. 아직 WebRequest에 익숙하지 않아 조사해본 결과 여러 도로명주소api (카카오api, Daum Api 등등)가 있지만, 그냥 행정안전부에서 제공하는 api를 사용하기로 했다. 일단, 행안부의 api를 사용하기 위해서는 키를 발급받아야된다. API 신청하기API신청하기business.juso.go.kr 여기서 필수 입력사항을 입력하고 API키를 발급받자. 참고로 서비스용도를 개발로 하면 본인인증 없이 발급받을 수 있다. URL은 블로그 주소를 입력해도 무방할것 같다. API키를 발급받아서 잘 저장해두자 U..
보통 클래스를 정의할 때, get, set 연산자를 쓴다. get연산자는 값을 가져올 때, set연산자는 값을 설정할 때 쓰는것 같다. public class Person{ public string Name { get; set; }}이런식으로 구현된 코드는 자동구현 속성이다. 자동구현 속성 대신 명시적으로 속성의 동작을 정의할 수도 있다.public class Person{ private string name; public string Name { get { return name; } set { name = value; } }}name 변수는 private로 설정해두고, Name으로 접근하여 값을 설정하고, 반환하는 형태로도 만들 수 있다. 이때 set..
유니티를 사용할 땐, 항상 코드를 수정하면 유니티 엔진 내부에서 스크립트 리로딩을 진행한다. 이런식으로 리로딩을 진행해, 코드가 유니티상에서 실행될 수 있도록 한다. 갑자기 이 동작이 진행이 안되고, 스크립트를 수정했는데도 코드가 실행이 안되었다. using System.Collections;using System.Collections.Generic;using UnityEngine;public class TestScript : MonoBehaviour{ // Start is called before the first frame update void Start() { Destroy(this.gameObject); }}대충 객체를 파괴하는 작업이 담긴 코드를 짜고, 빈 객체..
코드를 뜯어보다가 캐스팅이라는 말을 발견했다. 캐스팅은 쉽게말해 '형 변환'이다. 다만, 명확하지 않은 클래스로의 형변환이다. 유니티는 C#을 사용하고, C#에는 'as'라는 키워드가 존재한다. as는 캐스팅을 위한 도구이다. 나는 싱글톤을 구현할 때 다음과 같이 구현했었다. public class TestSingleton : Monobehavior{ //test싱글톤 private static TestSingleton _instance; public static TestSingleton Instance{ get{ if(_instance = null){ _instance = FindObjectOfType((typeof)TestSingleton)) as Te..
이거 구현하려고 이틀동안 고생했다.. 일단, 기본적으로 이번 코드에서 알아야하는 구문은 Callback함수이다. 유니티에서 Callback함수는 다음과 같이 선언한다.public UnityAction callback = null;Callback함수는 비동기 작업때, 즉, 네트워크 연결 작업에서 네트워크연결이 완료된 후 작업을 처리해야할 때 사용한다. 일단, 전체코드는 다음과 같이 구성했다.코드는 조금 길어서 접은글로 대체하겠다.더보기using System;using System.Collections;using UnityEngine;using Google.Apis.Dialogflow.v2;using Google.Apis.Dialogflow.v2.Data;using Google.Apis.Auth.OAuth2..
이번엔, firebase를 활용해 로그인과 회원가입을 구현해보자. firebase는 다양한 함수와 기능을 제공한다. 이번엔 Firebase.Auth를 사용하여 진행할것이다. 일단, Firebase에 접속하여 회원가입 기능을 활성화하자. 여기로 들어가서 로그인 방법에서 새 공급업체를 추가하면 된다. 나는 이미 추가해서 이렇게 뜨지만, 시작하기를 누르면 어떤 로그인 방법을 지원할것인지 물어볼것이다. 여기서 이메일/비밀번호를 누르고, 위의 항목을 사용설정해주자. 그리고 저장을 하고 빠져나오자. 유니티에선 다음과 같이 로그인 UI를 구현했다. 버튼, InputField 모두 TMP를 사용하여 구현했다. 기본적인 button, inputField를 사용해도 무방하다. using System.Collections;..
1번 과정부터 너무 길었다 ㅠㅠ 이번엔 유니티 설정을 한번 적용해보자. 일단 프로젝트를 하나 만든 뒤 따라오자. 나는 미리 만들어둔 프로젝트를 활용할 계획이다. 자 그럼 SDK를 설치해보자.https://cloud.google.com/sdk/docs/downloads-versioned-archives?hl=ko 버전이 지정된 보관 파일에서 설치  |  Google Cloud CLI 문서이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 버전이 지정된 보관 파일에서 설치 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. gcloud Ccloud.google.com여기서 알맞은 버전을 설치하면 된다. 본인 컴퓨터 사양에 맞게 설치하면 되는데 p..
참 구글 API문서가 설명이 이상하다...  분명 개발자 문서도 있어야하지만, 아무리 읽어봐도 보이지않고 (내가 영어 까막눈이라 그럴수도 있다..) 너무 답답해서 그냥 다른사람들도 볼 수 있게끔 가입방법과 사용방법을 적어두려고 한다. 1. 가입가입페이지도 google클라우드에 접속하면 자신이 사용하고있는 서비스와 사용량만 보이고, dialogflow도 정작 관리하는 화면이 아닌 사용량만 보인다....  아래 사이트에 접속하자 DialogflowUpdating Actions on Google...dialogflow.cloud.google.com 사이트에 접속하면 주황색 로고의 Dialogflow 창이 열린다. 구글 아이디는 당연히 있어야하고, 여기서 구글 아이디로 로그인 한 후, Agent라는것을 만들어주..
LKM0222
'Develop' 카테고리의 글 목록