본문 바로가기

프로그래밍/Unity95

유니티 Addressables 기반 Play Asset Delivery https://github.com/Unity-Technologies/Addressables-Sample?tab=readme-ov-file GitHub - Unity-Technologies/Addressables-Sample: Demo project using Addressables package Demo project using Addressables package. Contribute to Unity-Technologies/Addressables-Sample development by creating an account on GitHub. github.com ㄴ 예제를 다운 받는 github. 안에 여러가지 예제가 들어 있는데 아래 항목에 해당하는 부분만 보면 된다 Advanced/Play Asset .. 2024. 2. 19.
Unity - 중세 배경의 에셋 https://assetstore.unity.com/packages/3d/props/modular-medieval-dungeon-115219?aid=1011lvKwp 중세 배경의 배경 샘플이 필요할 때.. 괜찮은 에셋 입니다 어떤 느낌인지 봅시다 2023. 5. 21.
Unity - 카메라 기반 8 방향 이동 var moveDirection = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical")); // 움직임이 있을 때만 이동 처리 if (moveDirection != Vector3.zero) { if (GameData.World.IsCameraIsometric()) { Vector3 cameraRight = Camera.main.transform.right; Vector3 cameraForward = Vector3.Cross(Vector3.up, cameraRight).normalized; if (moveDirection.z != 0)// 상하 이동 방향이 반대일 때 보정 cameraForward = -cameraForw.. 2023. 5. 14.
Unity - 특정 씬에서 시작하기 개발을 하다보면 특정 씬에서 시작을 해야 되는데 팀원들이 그걸 다 알지도 못하고 본인 역시도 다른 씬에서 작업하다 시작은 특정 씬으로 돌아가서 해야 되고 불편함이 많았는데 아래와 같은 클레스를 넣어두면 0 번 씬으로 강제 시작 되기 때문에 편리 합니다. 물론 모든 상황에서 0 번씬이 우선적으 로 열리기 때문에 그로 생기는 불편이 있을 수 있기 때문에 특정 키워드가 들어간 씬은 이동 안하게 예외처리를 해두었 습니다 (본문에서는 Test 라는 키워드) using UnityEngine; using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine.SceneManagement; public class PlayModeInitializer { [I.. 2023. 5. 3.
Unity - 유용한 개발 에셋 유틸 : GPU Instancer 풍성한 수풀이나 많은 오브젝트들이 표시되야 할 때 게임의 부하를 줄여주는 유틸 입니다 일단 설명을 보고 아래 예제를 참고 하시면 됩 니다 스토어 링크 https://assetstore.unity.com/packages/tools/utilities/gpu-instancer-117566?aid=1011lvKwp ReadMe GPU Instancer v1.7.6 Copyright ©2018-22 GurBu Technologies --------------------------------- Thank you for supporting GPU Instancer! GPU 인스턴서를 지원해 주셔서 감사합니다! --------------------------------- DOCUMENTATION ------------.. 2023. 4. 28.
Object Pool 에 들어간 class 의 동작 1. Addressable 을 통해 로드 2. Object Pool 을 통해 생성 이런 식으로 Awake -> OnEnable -> Start 순으로 들어온다 본 class 는 1초 후 풀로 돌아가게 되어있다 그래서 1초 후 OnDisable 3. Pool 에 Disable 상태의 오브젝트를 Pool 로 다시 생성 이런 식으로 두번째 재활용으로 사용 되면 OnEnable 만 한번 들어오고 1초 후 OnDisable 1회에만 써야 되는건 Awake 나 Start 에서 사용해야 된다 는 것을 알 수 있다 2023. 3. 21.
Unity MonoSingleton 모노싱글톤 https://gist.github.com/onevcat/6025819 Mono singleton Class. Extend this class to make singleton component. Mono singleton Class. Extend this class to make singleton component. - MonoSingleton.cs gist.github.com using UnityEngine; public class MonoSingleton : MonoBehaviour where T : MonoSingleton { private static T instance; public static T Instance { get { if (instance == null) { instance = Fi.. 2023. 2. 14.
Unity - Addressable Patch Download https://github.com/Wenrong274/Unity-Addressable GitHub - Wenrong274/Unity-Addressable: 主要是實作 Addressable hotfix 的寫法。 主要是實作 Addressable hotfix 的寫法。. Contribute to Wenrong274/Unity-Addressable development by creating an account on GitHub. github.com 중국 형님의 글 발견.. 역시 대세는 중국 프로그래머인가 아무튼 잘 참고하여 아래처럼 정리... using System; using System.Collections; using System.Collections.Generic; using System.Linq; usi.. 2022. 10. 11.
유니티 네트워크 상태 얻기 Application.internetReachability 2022. 8. 12.
유니티 - 슬립 모드 온디맨드 렌더링을 사용하자 https://blog.unity.com/kr/technology/how-on-demand-rendering-can-improve-mobile-performance 온디맨드 렌더링을 이용한 모바일 성능 개선 | Unity Blog 포럼에서 온디맨드 렌더링을 어떻게 활용하고 있는지 알려주세요. Windows, macOS, WebGL, iOS, Android에서 Unity 에디터와 스탠드얼론 플레이어를 대상으로 테스트를 완료했으나, 피드백은 언제든지 blog.unity.com 2022. 8. 10.
유니티 - 네이버 게임챗 (Game Chat) https://guide.ncloud-docs.com/docs/gamechat-gamechatunity Game Chat Unity SDK - Game Chat 사용 guide.ncloud-docs.com 1. 채팅 -> 채널 추가 2. 설정 -> 금칙어 3. 설정 -> 사용자 설정에서 관리자 using System; using System.Collections; using System.Collections.Generic; using GameChatUnity; using UnityEngine; using UnityEngine.UI; public class Main : MonoBehaviour { private const string PROJECT_ID = "your project id"; private .. 2022. 8. 4.
유니티 콜백 팝업 예제 [SerializeField] private Button m_Button_OK; [SerializeField] private Button m_Button_Cancel; [SerializeField] private Text m_Text_Desc; private event Action m_Callback; private void Awake() { m_Button_OK.onClick.AddListener(OnOK); m_Button_Cancel.onClick.AddListener(OnCancel); } public void Set(string desc, Action callback) { m_Callback = callback; m_Text_Desc.text = desc; } private void OnOK().. 2022. 7. 18.
어드레서블 (Addressable) 여기서 apk 통빌드(?) 로 구울 때는 바로 여기서부터는 패치로 어드레서블을 사용하는 부분인데 * 다운로드 경로에 버전 삽입 다운로드 경로 변경 Addressable -> Profile /[UnityEngine.Application.version]/[BuildTarget] 이런식으로 추가하여 버전 추가 * 에셋 팩 통째로 로드 에셋 팩 개별 옵션에서 이 옵션으로 해주면 그 팩의 일부만 로딩하더라도 나머지 관련된거 싹다 로드 2022. 7. 14.
구글 Firebase 리얼타임 디비 https://firebase.google.com/docs?authuser=0&hl=ko 문서 | Firebase Firebase SDK 참조, 통합 가이드, 샘플 코드, 라이브러리 firebase.google.com https://firebase.google.com/docs/database/unity/start?authuser=0&hl=ko Unity용 Firebase 실시간 데이터베이스 시작하기 | Firebase Documentation 의견 보내기 Unity용 Firebase 실시간 데이터베이스 시작하기 Firebase 실시간 데이터베이스는 NoSQL 클라우드 데이터베이스를 사용하여 데이터를 저장하고 동기화합니다. 모든 클라이언트에서 실시간 firebase.google.com using Syste.. 2022. 7. 8.
UGUI Advanced (Dynamic) ScrollView 일반화된 명칭이 없지만 이 스크롤의 용도는 수십 개 이상의 항목을 가진 리스트를 실제 그 개수 만큼의 아이템을 만들지 않고 적은 개수 를 만들지만 표시할건 다 하면서 부하가 없이 표시해주는 것이 되겠다 https://assetstore.unity.com/packages/tools/gui/dynamic-scrollview-101107 Dynamic ScrollView | GUI 도구 | Unity Asset Store Use the Dynamic ScrollView from mosframe on your next project. Find this GUI tool & more on the Unity Asset Store. assetstore.unity.com 일단 이걸 추가한 다음... 특정 위치로 스크롤은.. 2022. 6. 18.
유니티쨩 URP 를 써보자 https://unity-chan.com/ UNITY-CHAN! OFFICIAL WEBSITE ユニティちゃん公式ウェブサイトです。ユニティちゃんの各種データダウンロードやイベント、最新情報などをお届けします。 unity-chan.com ㄴ 받는 곳 그냥 압축 풀어서 덮어써도 상관은 없는데 안드 로이드 빌드할 때 문제가 생긴다 그걸 막기 위해 서는 1. Assets 안에 있는거만 내 Assets 안에 복사 2. Packages 안에 [ UnityChanSpringBone-release-1.1 ] [ UnityChanToonShaderVer2_Project-urp-2.4.0 ] 2개의 폴더가 있는데 이걸 복사해서 내 Packages 폴더 로 복사하고 각각 안에 Editor 라는 폴더는 따로 잘라 내서 Assets/Ed.. 2022. 3. 21.
Unity - Obfuscator 메뉴얼 Obfuscator Assets/Editor/Beebyte/Obfuscator/ObfuscatorOptions.asset 파일을 클릭해보면 Button 더 강력한 난독화를 위해 프로그래밍 방식으로 버튼 클릭을 할당하는 것을 고려하십시오. using UnityEngine; using UnityEngine.UI; using Beebyte.Obfuscator; public class Buds : MonoBehaviour { public Button Button; public void Start() { Button.onClick.AddListener(CodedClick); } //Assigned in the Start() method private void CodedClick() //This gets obfus.. 2021. 12. 30.
스크롤 뷰 (Scroll View) 만들기 1. 만들어야 할 위치(GameObject)에 우클릭 UI/Scroll View 선택 스크롤 방향에 따라 Horizontal (좌우) Vertical (상하) 박스 체크 화면에 보여질 사이즈 Width, Height 에 입력 2. 스크롤 바 a. 만들어진 GameObject 를 펼쳐보면 Scrollbar Horizontal 과 Scrollbar Vertical 이 있는데 옆 아래 스크롤바 이므로 안쓸 경우 그냥 삭제 b. Scroll View 컴포넌트를 보면 Horizontal, Vertical Scrollbar 가 Missing 으로 표시 될테니 하나씩 선택하고 delete 키를 눌러 정리 c. Viewport 에서 Right Bottom 값 17 씩 스크롤 바 간격을 벌 려 놓은 것을 0 으로 수정 .. 2021. 12. 27.
Unity - Anti-Cheat Toolkit 메뉴얼 Hey there! Anti-Cheat Toolkit(ACTk)을 구입해 주셔서 대단히 감사합니다. Unity를 위한 종합적인 치트 방지 솔루션! DISCLAIMER: 이 플러그인에 사용된 치트 방지 기술은 가장하지 않습니다. 100% 안전하고 깨지지 않도록(불가능 클라이언트 측에서) 대부분의 사기꾼이 시도하는 것을 중지해야 합니다. 그래도 앱을 해킹하려면 명심하십시오: 동기 부여가 잘 됨 숙련된 해커는 무엇이든 부술 수 있습니다! Installation and setup 새 버전을 프로젝트로 가져오기 전에 다음을 방지하기 위해 이전 버전을 완전히 제거하는 것을 고려하십시오. 새 버전에서 가능한 파일 및 폴더 구조 변경으로 인한 모든 문제. 프로젝트에 플러그인을 가져온 후 추가 설정 및 제어를 위한 새 .. 2021. 12. 20.
Unity - n초 마다 실행시키기 매니저 만들다보면 꼭 몇 초에 한번 뭐를 체크해야 하거나 그럴 때가 있다 -_- 쉽게는 Invoke 나 Coroutine 쓰면 되지만 이런 애들은 관리가 필요하고 관리하고 싶지 않은데 관리해야 된 다면- 대략 제작 해보자면 using System; using System.Collections.Generic; public class ActionPerSecData { public delegate void Action(); public float m_Sec { private set; get; } public float m_CurSec = 0.0f; public Delegate m_Action; public ActionPerSecData(float sec, Delegate action) { m_Sec = sec; m_.. 2021. 11. 19.