본문 바로가기
반응형

유니티245

유니티 - Additive Scene으로 여러 개의 씬 편집하기 Unity 전체 링크 아래와 같이 로딩 씬이 있다고 가정하자. 그리고 샘플 씬은 다음과 같다. 로딩 씬 → 샘플 씬은 서로 연관된 씬이므로 기능이 많아질수록 씬을 변경하면서 편집을 해야할 때가 많다. 이 경우 두 씬을 합치면 된다. 방법은 간단하다. LoadingScene으로 변경한 후, Project에서 SampleScene을 마우스 오른쪽 버튼으로 클릭하자. 그리고 Open Scene Additive를 선택하면 된다. 이제 두 씬이 합쳐졌고, 동시에 편집이 가능하다. 해제하고 싶다면 ⁝ 버튼을 눌러서 Remove Scene을 하면 된다. Unity Plus: Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobil.. 2022. 8. 9.
유니티 - Editor.log에서 빌드에 포함된 리소스 확인하기 Unity 전체 링크 유니티를 빌드할 때 관련 로그를 얻고 싶을 때가 있다. 특히, 이 로그에는 어떤 경로의 파일이 빌드에 포함되었는지 알려주고, 용량이 큰 순서대로 정렬되어서 나오게 된다. 따라서 빌드 후 에디터 로그를 분석하면 빌드에 불필요한 파일을 쉽게 찾아 최적화에 사용할 수 있다. 로그 파일 - Unity 매뉴얼 개발 시 사용자가 빌드한 웹 플레이어, 타겟 디바이스 또는 에디터의 로그에서 정보를 얻고 싶은 경우가 있을 수 있습니다. 일반적으로 문제가 발생하면 파일을 보고 어디에서 ​​문제가 발생 docs.unity3d.com 위의 링크를 보면 Open Editor Log는 아래의 경로에 있다고 한다. 윈도우(WINDOW)의 경우 아래의 경로로 가보자. \Unity\Editor\Editor.log.. 2022. 8. 6.
유니티 C# - 문자열 합치기 Unity 전체 링크 string name과 job을 합쳐서 introduce 하는 문자열을 만들어보자. 아래의 introduce1 ~ 7은 모두 같은 결과가 나온다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class StringTest : MonoBehaviour { void Start() { string name = "bloodstrawberry"; string job = "unemployed"; string introduce1 = "My Name is " + name + " and job is " + job; string introduce2 = $"My Name is {name} and.. 2022. 8. 1.
유니티 - Action으로 이벤트 등록하기 (Register Method with Action) Unity 전체 링크 프로퍼티를 이용하면 변수가 변경될 때 이벤트를 발생할 수 있다. Action은 반환값이 없는 메서드를 등록할 수 있는 델리게이트다. Action을 사용하기 위해서는 System을 선언해야 한다. 큐브를 만들고 아래의 스크립트를 추가하자. using System; /* for Action */ using System.Collections; using System.Collections.Generic; using UnityEngine; public class ActionCube : MonoBehaviour { public Action gameOverEvent; public Action stringEvent; void gameOver() { Debug.Log("Cube Game Over").. 2022. 7. 29.
유니티 - 스크립터블 오브젝트로 스크립트와 데이터 분리하기 Unity 전체 링크 Scriptable.cs는 여러 변수가 있다. 지금은 4개지만, 앞으로 점점 늘어날 것이고 데이터를 일일이 입력해줘야 한다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Scriptable : MonoBehaviour { public int a; public float b; public string c; public Vector3 d; } 이럴 경우 ScriptableObject를 사용하여 Data를 분리할 수 있다. 먼저 분리할 Data의 이름을 MyData라고 하고 Scriptable.cs에 추가해두자. a ~ d 변수를 모두 mydata가 대신하게 된다. pu.. 2022. 7. 28.
유니티 UI - 코루틴 메시지 큐로 순서대로 함수 실행하기 (Execute Coroutines Run in Order using Message Unity 전체 링크 간단한 토스트 메시지 만들기 (Toast Message)를 TMPro를 이용하여 수정하면 아래와 같다. 그리고 큐브를 클릭할 경우 클릭 횟수를 보여주도록 메시지를 수정하였다. 여기서, 메시지가 많은 경우 코루틴이 순서대로 동작하도록 코드를 수정해보자. ToastMsg.cs는 Ctrl + Shift + N으로 빈 게임오브젝트를 만든 후 추가하자. 그리고 Canvas에서 만든 Text (TMP)를 스크립트에 추가한다. (Canvas는 보기 편한대로 적절히 배치한다.) using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; public class ToastMsg : MonoBeha.. 2022. 7. 28.
유니티 - UI가 있는 경우 Raycast 제한하기 (Detecting when a touch is over UI element) Unity 전체 링크 Raycast는 오브젝트를 찾을 때 유용하다. 그런데 UI가 가리고 있음에도 Raycast가 동작한다면 기능이 어색할 수 있다. 따라서 UI를 감지한 경우에는 Racast를 제한하도록 해보자. Ctrl + Shift + N으로 빈 오브젝트를 만든 후에 CameraRaycast.cs를 추가하자. using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraRaycast : MonoBehaviour { RaycastHit hit; void Update() { if (Input.GetMouseButton(0)) { Ray ray = Camera.main.ScreenPointT.. 2022. 7. 28.
유니티 - Missing Component 찾기 Unity 전체 링크 게임 오브젝트에 있는 스크립트를 삭제하면 아래와 같은 경고가 발생한다. The referenced script (Unknown) on this Behaviour is missing! The referenced script on this Behaviour (Game Object 'GameObject') is missing! 위의 경고를 발생시키는 오브젝트가 어디에 있는지 한꺼번에 찾아보자. 아래와 같이 여러 스크립트가 있다고 가정하자. 그리고 DeleteScript들은 아래의 게임 오브젝트에 적절히 추가하자. GameObject ~ GameObject (4) 까지 스크립트가 붙여야 한다. 이제 DeleteScript를 모두 삭제하자. 그러면 아래와 같이 Missing (Mono Scr.. 2022. 7. 28.
유니티 Attribute - AddComponentMenu로 Script 메뉴 관리하기 Unity 전체 링크 AddComponentMenu를 이용하면 Add Component에 나오는 메뉴 목록을 정리할 수 있다. 보통 스크립트를 추가하면 [Add Component] → [Scripts]에서 스크립트 목록을 볼 수 있다. 이 메뉴 목록을 원하는 대로 커스터마이징 해보자. 스크립트를 만들고 아래와 같이 AddComponentMenu 속성을 추가하자. using System.Collections; using System.Collections.Generic; using UnityEngine; [AddComponentMenu("MyMenu/MyScript")] public class Script : MonoBehaviour { } 그러면 MyMenu 탭이 생기고 MyScript를 선택할 수 있다... 2022. 7. 27.
반응형