💻 Programming (프로그래밍)/Unity | C#
-
A to Z cloudonce를 이용하여 icloud 에 게임데이터 저장하기 1. Cloudonce 깃허브에 가서 패키지 다운로드하기 https://github.com/CloudOnce/CloudOnce/releases/tag/v2.7.5 Release CloudOnce v2.7.5 · CloudOnce/CloudOnce Release notes: Updated GPGS from v0.10.13 to v0.10.14 Fixed AndroidManifest path github.com 가장 최신버전의 unity Package를 다운받으면 됩니다. 2. Pakage Import 하기 Assets- Import Package - Custom Package 를 클릭 후 CloudOnce를 Import하여 자신의..
[Unity] CloudOnce(클라우드온스)를 이용하여 icloud 에 게임데이터 저장하기A to Z cloudonce를 이용하여 icloud 에 게임데이터 저장하기 1. Cloudonce 깃허브에 가서 패키지 다운로드하기 https://github.com/CloudOnce/CloudOnce/releases/tag/v2.7.5 Release CloudOnce v2.7.5 · CloudOnce/CloudOnce Release notes: Updated GPGS from v0.10.13 to v0.10.14 Fixed AndroidManifest path github.com 가장 최신버전의 unity Package를 다운받으면 됩니다. 2. Pakage Import 하기 Assets- Import Package - Custom Package 를 클릭 후 CloudOnce를 Import하여 자신의..
2023.01.26 -
스크립트를 작성하다보면, 외부에서 건들일 수 없게, 변수를 Private으로 작성하는 경우가 많이 생깁니다. 이때 외부에서 참조하기 위하여, 따로 함수 기능을 만들어서 접근을 하게 되는데요, 이때 C# 스타일의 간단한 프로퍼티가 있어서 알아보고자 합니다. 1. 보통 사용하는 경우 Public Class Example { private int damage; public int GetDamage() { return damage; } public void SetDamage(int value) { if(value > 0) damage = value; } } 2. get, set 프로퍼티를 활용한 경우 Public Class Example2 { private int damage; public int Damage ..
[C#] get set 프로퍼티스크립트를 작성하다보면, 외부에서 건들일 수 없게, 변수를 Private으로 작성하는 경우가 많이 생깁니다. 이때 외부에서 참조하기 위하여, 따로 함수 기능을 만들어서 접근을 하게 되는데요, 이때 C# 스타일의 간단한 프로퍼티가 있어서 알아보고자 합니다. 1. 보통 사용하는 경우 Public Class Example { private int damage; public int GetDamage() { return damage; } public void SetDamage(int value) { if(value > 0) damage = value; } } 2. get, set 프로퍼티를 활용한 경우 Public Class Example2 { private int damage; public int Damage ..
2023.01.25 -
프로파일링 앱의 성능을 측정하기 위해 유니티 측에서 프로파일링 툴을 만들어 두었는데 이는 Window > Analysis > Profiler 여기서 사용을 하면 되지만 이때 그 전에 프로파일링 하기 전에 중요한 점으로 고객 타겟층의 최적화된 성능을 프로파일링 해라 프로토타입 개발 단계에서는 성능보단 재미, 방향성, 목적에 집중하고 실제 개발 단계에서 성능, 최적화, 타겟을 생각하는 것 핵심점은 사실 고객 타겟층을 파악을 하고, 그 기기에 따른 성능에 맞춰주면 되는 것이지 높은 퍼포먼스를 처음부터 넣어서 스마트폰의 발열도 못잡고, 많은 사용자들이 이용할 수 없는 앱이면 쓸모가 없어진다는 이야기 였습니다. 프로파일링에 대한 자세한 방법은 유니티 매뉴얼 페이지의 https://docs.unity3d.com/k..
[Unity] 프로파일링 + 최적화 습관프로파일링 앱의 성능을 측정하기 위해 유니티 측에서 프로파일링 툴을 만들어 두었는데 이는 Window > Analysis > Profiler 여기서 사용을 하면 되지만 이때 그 전에 프로파일링 하기 전에 중요한 점으로 고객 타겟층의 최적화된 성능을 프로파일링 해라 프로토타입 개발 단계에서는 성능보단 재미, 방향성, 목적에 집중하고 실제 개발 단계에서 성능, 최적화, 타겟을 생각하는 것 핵심점은 사실 고객 타겟층을 파악을 하고, 그 기기에 따른 성능에 맞춰주면 되는 것이지 높은 퍼포먼스를 처음부터 넣어서 스마트폰의 발열도 못잡고, 많은 사용자들이 이용할 수 없는 앱이면 쓸모가 없어진다는 이야기 였습니다. 프로파일링에 대한 자세한 방법은 유니티 매뉴얼 페이지의 https://docs.unity3d.com/k..
2022.10.20 -
1. 포톤 접속 Photon Network Class 공식문서 더보기 https://doc-api.photonengine.com/en/pun/v2/class_photon_1_1_pun_1_1_photon_network.html - 서버 설정 PhotonNetwork.GameVersion = this.gameVersion; PhotonNetwork.SendRate = 60; PhotonNetwork.SerializationRate = 30; PhotonNetwork.AutomaticallySyncScene = true; PhotonNetwork.ConnectUsingSettings(); GameVersion : 게임버전에 따라서 사람들을 매칭시켜줍니다. SendRate : 초당 몇 번 Package를 전송..
[Unity] 포톤(Photon) 코드 정리1. 포톤 접속 Photon Network Class 공식문서 더보기 https://doc-api.photonengine.com/en/pun/v2/class_photon_1_1_pun_1_1_photon_network.html - 서버 설정 PhotonNetwork.GameVersion = this.gameVersion; PhotonNetwork.SendRate = 60; PhotonNetwork.SerializationRate = 30; PhotonNetwork.AutomaticallySyncScene = true; PhotonNetwork.ConnectUsingSettings(); GameVersion : 게임버전에 따라서 사람들을 매칭시켜줍니다. SendRate : 초당 몇 번 Package를 전송..
2022.08.22 -
이번에는 실제의 지도 height map을 가져와서 유니티 terrain으로 생성 하는 방법을 알아볼 예정입니다. 🧷 1. Height map 다운로드 https://heightmap.skydark.pl/ Cities: Skylines map generator heightmap.skydark.pl - 지형 설정 사이트에서 원하는 지형에 설정합니다 - Png 다운로드 저는 PNG로 다운로드 하였습니다. - 높이 정보 최대 높이와 최소 높이, 그리고 Map size등을 알아 둬야합니다 따라서 Base Level 옆 계산기 버튼을 클릭해주면 Min, Max height 정보가 나옵니다 이를 기억해 둡시다. 🧷 2. Height map 터레인에 Import 하기 - Terrain Tool Box 불러오기 Ter..
[Unity] 높이 맵(height map) 터레인에 적용하기이번에는 실제의 지도 height map을 가져와서 유니티 terrain으로 생성 하는 방법을 알아볼 예정입니다. 🧷 1. Height map 다운로드 https://heightmap.skydark.pl/ Cities: Skylines map generator heightmap.skydark.pl - 지형 설정 사이트에서 원하는 지형에 설정합니다 - Png 다운로드 저는 PNG로 다운로드 하였습니다. - 높이 정보 최대 높이와 최소 높이, 그리고 Map size등을 알아 둬야합니다 따라서 Base Level 옆 계산기 버튼을 클릭해주면 Min, Max height 정보가 나옵니다 이를 기억해 둡시다. 🧷 2. Height map 터레인에 Import 하기 - Terrain Tool Box 불러오기 Ter..
2022.06.09 -
🔔 유튜브 크리에이터 베르의 게임 개발 유튜브의 "오브젝트 풀링 구현하기 | 유니티" 를 보고 공부하여 작성한 게시글입니다! 🔔 오브젝트 풀링이란?오브젝트가 많이 쌓이고, 제거가 된다면 가비지 컬렉터가 지나갈 때 많은 리소스 손실이 있을 수 있습니다.따라서 리소스를 줄이기 위해, 오브젝트를 담아 놓을 수 있는 그릇을 만드는 최적화 기법입니다. 오브젝트 풀링을 만들면, 그 곳에서 오브젝트들을 꺼내고 쓰고를 반복하여 더욱 좋은 성능의 게임을 만들 수 있습니다. 이번에는 Bullet이라는 프리팹을 이용하는 경우만 만들어 보고, 이 후에는 다른 오브젝트도 넣을 수 있는 멀티 방법도 적용할 줄 알아야합니다.🧷 1. 오브젝트 풀링- Object Pool 스크립트public class ObjectPool : M..
[Unity][C#] 오브젝트 풀링(Object Pooling) 최적화 기법🔔 유튜브 크리에이터 베르의 게임 개발 유튜브의 "오브젝트 풀링 구현하기 | 유니티" 를 보고 공부하여 작성한 게시글입니다! 🔔 오브젝트 풀링이란?오브젝트가 많이 쌓이고, 제거가 된다면 가비지 컬렉터가 지나갈 때 많은 리소스 손실이 있을 수 있습니다.따라서 리소스를 줄이기 위해, 오브젝트를 담아 놓을 수 있는 그릇을 만드는 최적화 기법입니다. 오브젝트 풀링을 만들면, 그 곳에서 오브젝트들을 꺼내고 쓰고를 반복하여 더욱 좋은 성능의 게임을 만들 수 있습니다. 이번에는 Bullet이라는 프리팹을 이용하는 경우만 만들어 보고, 이 후에는 다른 오브젝트도 넣을 수 있는 멀티 방법도 적용할 줄 알아야합니다.🧷 1. 오브젝트 풀링- Object Pool 스크립트public class ObjectPool : M..
2022.06.08 -
🔔 Unity 유튜브강의 How to build beautiful landscapes in Unity using Terrain Tools | Tutorial 를 공부하여 작성한 게시글입니다! 🔔 이번에는 유니티의 Terrain 툴에 대해서 이것 저것 만져본 후 작성하려고 합니다. 🧷 1. 터레인 환경 구축하기 - Terrain 툴 다운로드 Edit -Project Settings -Package Manager 에서 Enable Preview Packages 를 체크 해줍니다. Package Manager 에서의 Terrain Tools 를 다운받은 후, Import 해줍시다. Window-Terrain - Terrain Toolbox를 클릭 후, 사용해 줍시다. 🧷 2. 터레인 도구 - 지형 생성 첫번째..
[Unity] 터레인(Terrain) 툴🔔 Unity 유튜브강의 How to build beautiful landscapes in Unity using Terrain Tools | Tutorial 를 공부하여 작성한 게시글입니다! 🔔 이번에는 유니티의 Terrain 툴에 대해서 이것 저것 만져본 후 작성하려고 합니다. 🧷 1. 터레인 환경 구축하기 - Terrain 툴 다운로드 Edit -Project Settings -Package Manager 에서 Enable Preview Packages 를 체크 해줍니다. Package Manager 에서의 Terrain Tools 를 다운받은 후, Import 해줍시다. Window-Terrain - Terrain Toolbox를 클릭 후, 사용해 줍시다. 🧷 2. 터레인 도구 - 지형 생성 첫번째..
2022.06.07 -
Q) 컴포넌트가 도대체 뭔가요? A) 게임오브젝트(큐브, 캐릭터 모델등등)에 대한 모든 기능적인 조각들입니다. Q) 스크립트도 컴포넌트인가요? A) 네 맞습니다. rigidbody, collider, script 모두 게임오브젝트의 컴포넌트들입니다. Q) 그럼 스크립트에서 컴포넌트에 접근하는 방법은 뭐가 있을까요? GetComponent() 을 사용해 대부분의 컴포넌트들을 가지고 올 수 있습니다. 혹은 다른 오브젝트들을 찾아내기 쉬운 방법은 public Gameobject target; 을 이용해 유니티에서 오브젝트르 끌여당겨 찾는 방법이죠. 부모 오브젝트가 자식 오브젝트를 찾으려면 어떻게 해야할까요? transform.Find("자식오브젝트 이름") 을 이용하여 찾으면 됩니다. 자식이 부모 오브젝트를 ..
[Unity] 컴포넌트 (Component)란?Q) 컴포넌트가 도대체 뭔가요? A) 게임오브젝트(큐브, 캐릭터 모델등등)에 대한 모든 기능적인 조각들입니다. Q) 스크립트도 컴포넌트인가요? A) 네 맞습니다. rigidbody, collider, script 모두 게임오브젝트의 컴포넌트들입니다. Q) 그럼 스크립트에서 컴포넌트에 접근하는 방법은 뭐가 있을까요? GetComponent() 을 사용해 대부분의 컴포넌트들을 가지고 올 수 있습니다. 혹은 다른 오브젝트들을 찾아내기 쉬운 방법은 public Gameobject target; 을 이용해 유니티에서 오브젝트르 끌여당겨 찾는 방법이죠. 부모 오브젝트가 자식 오브젝트를 찾으려면 어떻게 해야할까요? transform.Find("자식오브젝트 이름") 을 이용하여 찾으면 됩니다. 자식이 부모 오브젝트를 ..
2022.04.04