반응형

c# 18

[Unity] 인벤토리 - 2. UI와 아이템 버리기

이전 글에서는 기본적인 인벤토리 로직을 구현하였다 이번 글에서는 인벤토리의 UI와 아이템을 버리는 기능을 구현해 보도록 하겠다 일단 UI구현을 위해 저번에 짰던 인벤토리 로직에 이벤트를 추가해 주었다 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Inventory : MonoBehaviour { private Dictionary itemContainer = new(); public static Inventory Instance { get; private set; } //아이템이 바뀌었을때의 이벤트 public event Action OnItemChanged; //..

[Unity] 인벤토리 - 1. 기본 구현

이번 글에서는 유니티에서 인벤토리를 만드는 법을 알아보겠다 일단 인벤토리 구현을 위해서는 아이템을 먼저 만들 필요가 있다 먼저 아이템을 구현해 주었다 using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(menuName = "SO/Item/Data")] public class ItemDataSO : ScriptableObject { //아이템의 스프라이트 [field:SerializeField] public Sprite ItemSprite { get; protected set; } //아이템의 이름 [field:SerializeField] public string ItemName { ge..

[Unity] Visual Studio에서 유니티용 DLL만드는법

이번글에서는 Visual Studio에서 유니티용 DLL을 만드는 법을 알려드리겠습니다 우선 Visual Studio에서 클래스라이브러리 탬플릿으로 프로젝트를 하나 만들어주세요 프로젝트를 만들었다면 참조를 추가해야 합니다 종속성을 우클릭하여 프로젝트 참조 추가를 눌러주세요 참조 관리자에서 찾아보기 탭으로 가주세요 이제 찾아보기를 클릭 후 본인의 유니티에디터가 설치되어 있는 폴더로 가서 UnityEngin.dll을 참조로 추가해 주세요 보통 "C:\Program Files\Unity\Hub\Editor\유니티버전이름\Editor\Data\Managed\UnityEngine.dll"에 저장되어 있습니다 참조가 잘 추가되셨다면 이제 UnityEngine.dll에 들어있는 여러 클래스를 사용할 수 있습니다(Mo..

유니티/기타 2024.02.08

[Unity]Vivox - 4. 3D 위치 음성 채팅 구현

이 글은 Vivox버전 16을 기준으로 작성되었습니다 이번글에서는 Vivox를 이용하여 3D 위치 음성 채팅을 구현해 보겠습니다 저번글에서 알려드렸던 음성채팅과 매우 유사합니다 using System; using System.Collections; using System.Threading.Tasks; using Unity.Services.Authentication; using Unity.Services.Core; using Unity.Services.Vivox; using UnityEngine; [Serializable] public class Channel3DSetting { //가청거리 [SerializeField] private int audibleDistance = 32; //작아지기 시작하는 거..

유니티/Vivox 2024.02.07

[Unity]Vivox - 3.음성 채팅 구현

이 글은 Vivox버전 16을 기준으로 작성되었습니다 저번 글에서는 Vivox초기화와 로그인을 하는 것까지 알아보았습니다 이번 글에서는 Vivox를 사용하여 음성 채팅을 구현해 보겠습니다 우선 Vivox음성채널에 접속시켜주어야 합니다 using System; using System.Threading.Tasks; using Unity.Services.Authentication; using Unity.Services.Core; using Unity.Services.Vivox; using UnityEngine; public class VivoxController : MonoBehaviour { public event Action OnLoginEndEvent; public static VivoxControlle..

유니티/Vivox 2024.02.07

[Unity]Vivox - 2.초기화와 로그인

이 글은 Vivox버전 16을 기준으로 작성되었습니다 오늘은 유니티에서 Vivox사용을 위해 초기화하는 법과 로그인하는 법을 알아보겠습니다 먼저 초기화입니다 using Unity.Services.Authentication; using Unity.Services.Core; using Unity.Services.Vivox; using UnityEngine; public class VivoxController : MonoBehaviour { private async void Awake() { //유니티 서비스 초기화 await UnityServices.InitializeAsync(); //AuthenticationService를 사용하여 익명 인증 await AuthenticationService.Instan..

유니티/Vivox 2024.02.07

[Unity] Vivox - 1. 사용 준비

이 글은 Vivox버전 16을 기준으로 작성되었습니다 오늘은 Vivox와 유니티에서 Vivox를 사용하기 전 준비해야 할 것들을 알아보겠습니다 Vivox란? : Vivox는 음성 및 텍스트 채팅 솔루션을 제공하여 게임 및 애플리케이션에서 사용자 간 커뮤니케이션을 개선하는 기업 Vivox를 이용한다면 음성채팅 텍스트 채팅등을 아주 쉽게 구현할 수 있습니다 이제 Vivox를 유니티에서 사용하는법을 알아봅시다 우선 Edit-ProjectSetting-Service로 들어가 주세요 서비스창에서 계정을 연동하여 주시고 Create new cloud를 선택하여 새로운 프로젝트를 하나 생성하겠습니다 프로젝트를 생성해 주셨다면 타겟 나이 설정을 본인의 게임에 맞게 설정해 주시고 Dashboard를 눌러 본인의 유니티 ..

유니티/Vivox 2024.02.07

[Unity] 2D 랜덤 맵 - 3. 바이옴

이전 글에서는 Fractal noise를 이용하여 자연스러운 지형을 만들어 보았습니다 마지막으로 이번 글에서는 만든 지형에 바이옴을 적용하는 법을 알아보도록 하겠습니다 바이옴을 자연스럽게 적용하기 위해서는 Voronoi Noise를 사용하여 생성할 수 있습니다 Voronoi Noise란? : 임의의 여러 점을 선택하고 그 점으로부터 가장 가까운 점을 얼마나 가까운지 표현한 노이즈 이 알고리즘대로 Voronoi Noise를 생성한다면 이런 노이즈가 생성됩니다 우리는 바이옴을 표현하기 위하여 값을 거리가 아닌 그 점으로 잡고 노이즈를 생성할 것입니다 GenerateBiome 함수 private Biome[,] GenerateBiome(Vector2[] points, Vector2[] biomePoints) ..

반응형