본문 바로가기

코딩 일기

(170)
Transform 관련 스크립트 - transform.SetParent(Transform parent) : 특정 오브젝트를 다른 오브젝트의 하위로 보내는 것 private Transform trans; //A오브젝트의 Transform 컴포넌트 private GameObject obj; //B오브젝트의 GameObject private void Test() { //B오브젝트를 A오브젝트의 하위로 셋팅한다. obj.transform.SetParent(trans); }
Audio 관련 스크립트 - AudioSource.PlayClipAtPoint(AudioClip clip, Vector3 position) : 월드의 특정 위치에서 오디오소스를 만들어 해당 AudioClip을 재생 후 자동으로 삭제. private AudioClip clip; private void Test() { AudioSource.PlayClipAtPoint(clip, new Vector3(0, 1, 2)); } - AudioSource 함수 : PlayDelayed(float delay) : 해당 오디오소스가 delay 시간이후 재생되도록 만들어주는 함수 private AudioSource audio; private void Test() { //audio가 1초 뒤 재생 audio.PlayDelayed(1.0f); }
이벤트 콜백 함수 UnityEditor 네임스페이스를 사용하기 위해서, UnityEditor 선언을 한 스크립트는 Project뷰 → Editor 폴더 안에 있어야 사용이 가능하다. - [PostProcessBuild(N)] : 빌드 후 호출될 콜백. ex) 유니티 내에 있는 특정파일(ex. 특정 정보를 외부에서 수정할 수 있도록 빼놓은 데이터 텍스트)을 Build후에도 사라지지 않도록 만드는 코드 using UnityEditor; //함수의 인자인 BuildTarget을 위해 using UnityEditor.Callbacks; //PostProcessBuild를 위해 using System.IO; //Directory를 위해 public class TestProcess { //실행순서를 의미 //0이 내부에 쓰이는 or..
EditorSceneManager : 에디터에 있는 씬매니저 클래스 using UnityEditor.SceneManagement; - EditorSceneManager.LoadScene() : 씬을 로드하는 함수 Build Settings에서 불러오려는 해당 씬을 추가하지 않으면 씬 불러오기가 불가능하다. EditorSceneManager.LoadScene("Test_Scene"); ""안에 불러오려는 씬의 이름을 정확히 입력하면 해당씬으로 이동한다. - EditorSceneManager.GetActiveScene() : 현재 씬에 대한 정보를 가져올 수 있는 함수 ▶ ().name : 현재 씬의 이름 ▶ ().path : 현재 씬이 저장되어있는 파일경로 ▶ ().rootCount : 현재 씬에 있는 부모오브젝트의 개수 (Hierarchy에서 하위 오브젝트가 아닌 부모오..
EditorApplication : Unity 에디터에 대한 클래스 using UnityEditor; - EditorApplication.playmodeStateChanged : 에디터에서 플레이를 감지하고 이벤트 함수를 호출한다. 람다식으로 함수를 넣고빼며 사용한다. (+= / -=) (playModeStateChanged랑 헷갈리지 않기) using UnityEditor; using UnityEngine; using UnityEditor; public class TestScript : MonoBehaviour { private void Awake() { EditorApplication.playmodeStateChanged += testA; EditorApplication.playmodeStateChanged += testB; } static void testA() {..
[InitializeOnLoad] : 유니티 시작시 스크립트 실행 : 예를 들어 유니티 컴파일이 시작될 경우 해당 스크립트는 바로 실행하게 된다. using UnityEngine; using UnityEditor; [InitializeOnLoad] public class Test_InitializeOnLoad : MonoBehaviour { static Test_InitializeOnLoad() { Debug.Log("이 안에 내용 작성"); //그러면 유니티 컴파일을 시작할 경우 위의 Debug.Log가 바로 실행된다. } } [InitializeOnLoad]를 사용하기 위해서는 using UnityEditor;를 써줘야 한다. 컴파일이 시작된 후 한번만 실행이 된다. 시작 전 씬을 저장할때 사용해도 좋다.
스크립트 비교해주는 사이트 1. DiffNow https://www.diffnow.com/compare-clips DiffNow www.diffnow.com 사용법은 간단합니다. 왼쪽 오른쪽에 비교할 각각의 코드를 넣고 Complare 버튼을 누르면 알아서 코드를 비교하여 어디가 달라진 부분인지 표시하여 알려줍니다. Test Input : 그냥 텍스트 자체를 가져와 비교하는 방법 File Upload : 각 파일을 불러와 비교하는 방법 URLs : URL 주소로 비교하는 방법 Samples : 어떻게 사용하고 어떤 방식으로 나오는지 예제들을 보여줍니다. 하지만 무료로 사용하기에는 한달에 20번이라는 제한이 있어 애용할것이라면 유료를 써야합니다. 2. Diffchecker https://www.diffchecker.com/ Diff..
특정시간을 주고 호출되는 함수 만들기 https://hyunity3d.tistory.com/367 유니티 특정 시간마다 호출되는 함수 만들기. 특정 시간마다 호출되는 함수를 만들고 싶을수 있습니다. using UnityEngine; using System.Collections; public class CsGameManager : MonoBehaviour { private float TimeLeft = 2.0f; private float nextTime.. hyunity3d.tistory.com