Develop/Unity

보통 클래스를 정의할 때, 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..
파이그래프는 이렇게 생긴 그래프를 말한다. 이런식으로 100% 안에서 그래프를 일정 비율로 쪼갠 그래프가 파이그래프이다. 유니티에서 구현하기 쉬운 편인데 유니티에서는 다음과 같은 기능이 있기 때문이다.UI - Image에는 위와 같이 ImageType이 있다. 이 ImageType를 Filled로 바꾸면, 채워지는 그림을 만들 수 있다.채워지는 양은 Fill Amount로 조정하면 된다.Source Image는 알아서 동그란 형태로 바꿔두자. 그리고 소스코드는 다음과 같이 짜서, PieGraph 오브젝트에 붙여줬다.using System.Collections;using System.Collections.Generic;using Unity.VisualScripting;using UnityEngine;usi..
현재 진행중인 프로젝트가 음성인식을 사용하는 프로젝트이다. 음성인식 로직은 다음과 같다. 녹음 -> Naver Clova API를 사용해 음성을 텍스트로 변환 (네이버가 정확도가 가장 높아서 선정하였다.) -> DialogFlow로 대답을 받아온다 -> 이것을 다시 Clova를 사용해 텍스트를 음성으로 변환 이런 로직으로 진행하고 있는데, 일단 녹음을 받기 위해서 음성인식을 받아와야한다. 유니티에서는 UnityEngine안에서 Microphone 클래스를 제공한다.하위의 멤버함수인 Start함수는 (마이크 이름, 반복(Loop), 녹음최대시간, 프리퀀시) 와 같은 형태로 구현되어있다. 마이크는 모바일에 탑재된 마이크를 기준으로 작성하였고, 마이크의 이름을 전달하여 녹음한 후, AudioSource를 추가..
컴퓨터 공학과에 들어와 공부를 하다보면 자주 듣는 말이 있다."객체지향 프로그래밍을 해야한다." 그럼 도대체 객체 지향이 무엇인가?객체 지향 프로그래밍이란, 큰 문제를 작게 쪼개는게 아니라, 먼저 작은 문제들을 해결할 수 있는 객체를 만든 뒤, 이 객체들을 조합해 큰 문제를 풀어가는 방법 이라고 한다... 솔직히 뭔 소린지 한번에 감이 안온다. 객체 지향 프로그래밍이 나오기 전엔 코딩을 할 때 절차적 프로그래밍 언어를 사용하여 개발했다고 한다.학교 대사전의 고등학생 알고리즘 ( https://web.archive.org/web/20160306122421/dic.idoo.net/s/dic/pics/student.gif )처럼 입력을 받아 순서대로 처리하는 탑 다운 (top-down) 방식이라고 보면 된다...
개요 요즘 열심히 하는 게임이 생겼다. 하이 우동 호텔이라는 게임인데 이 게임에는 영화관이라는 컨텐츠가 있다. 방문하는 손님들의 요구사항에 따라 만족할만한 영화를 찾아서 상영시켜야한다. 지금은 상영중인데 위에 관람소원이라는 칸을 보면 손님들이 어떤 영화를 보고싶어 하는지 힌트를 준다. 처음 봤을땐 어느 장르의 영화를 상영해야하나 검색해보고 하나하나 고르는 작업을 했다. 하다가 보니까 이거 그냥 편하게 프로그램을 하나 짜서 하면 편하지 않을까 라는 생각을 하였고 바로 실행에 옮겼다. 다 만들고 안 사실이지만 계속 정확한 영화 요구를 들어주다가 보면 위의 주황색 글씨처럼 소원 맨 끝에 어떤 장르인지 뜨는 기능이 있었다... ㅠㅠ 콘텐츠 영화 관람 소원에 대한 정보는 다음 블로그에서 참고하였다. https:/..
0. 개요 이전 글에서 기본 설정 하는 법을 읽지 않았다면 이전 글을 먼저 읽고 오자. (접은글을 펼치자!) 더보기 https://freeedeveloper.tistory.com/entry/Unity-%EB%A9%80%ED%8B%B0-%ED%94%8C%EB%A0%88%EC%9D%B4%EB%A5%BC-%EC%9C%84%ED%95%B4-%ED%8F%AC%ED%86%A4%EC%9D%84-%EC%97%B0%EB%8F%99%ED%95%98%EC%9E%90Photon-0-%EA%B8%B0%EB%B3%B8%EC%84%A4%EC%A0%95%EA%B3%BC-%EA%B0%80%EC%9E%85%EB%B0%A9%EB%B2%95 [Unity] 멀티 플레이를 위해 포톤을 연동하자!(Photon) - 0. 기본설정과 가입방법 0...
0. 개요유니티로 게임을 개발하다보면 멀티플레이를 구현해야 할 때가 있다.  여러 API가 있지만, 이번에는 Photon을 사용해보려고 한다. 1. 기본 설정포톤은 다음 사이트에서 만나볼 수 있다. https://doc.photonengine.com/ko-kr/server/v4/getting-started/photon-server-intro Photon Server 소개 | Photon EnginePhoton은 굉장히 빠르고 매우 쉽게 사용할 수 있는 온프레미스 실시간 소켓 서버이며 크로스 플랫폼 멀티 플레이어 게임 개발 프레임워크 입니다. Photon Server 멀티플레이어 API를 이용하여 여러 플doc.photonengine.com 사이트에 들어가서 간단한 회원가입을 한 후, 우측 상단의 대쉬보드..
0. 로그라이크란? 로그라이크는 말 그대로 로그 처럼 생긴 게임을 의미한다. 로그 게임은 1980년대 제작된 텍스트 기반으로 된 RPG 던전 탐험 게임이다. 현대에 들어서는 이 로그라이크 게임의 특징 중, 게임오버 시 처음부터 다시시작, 모든 아이템 초기화, 맵 초기화 등이 있다. 이 중, 맵이 초기화 되는 기능을 구현하고자 한다. 맵을 생성할때, 맵의 크기는 전부 동일하다고 가정한다. 또한 통로는 생성하지 않고, 맵을 모두 연결시킨다. 1. 고려할 점. 일단 로그라이크 맵을 만들기 위해 n*m 크기의 배열을 먼저 생성할것이다. 이후, 배열위에서 아무 무작위 점을 하나 정하고, 커서를 그 위치로 옮긴다. 커서가 움직이는 방향은 상하좌우이고, 커서가 움직일때마다 움직인 방향에 맵을 생성할것이다. 맵의 프리..
LKM0222
'Develop/Unity' 카테고리의 글 목록