Unity/유니티 프로그래밍 맨텀 2019. 1. 9. 15:05
1. SendMessage 12345678// 이름만 호출하기public void SendMessage(string methodName);// 인자 한개 같이 넘기기public void SendMessage(string methodName, object value);// 옵션 추가하기 (RequireReceiver / DontRequireReceiver)public void SendMessage(string methodName, SendMessageOptions options);// 인자 + 옵션public void SendMessage(string methodName, object value, SendMessageOptions options);cs - 해당 오브젝트의 모든 컴포넌트에 'methodNam..
Unity/유니티 프로그래밍 맨텀 2019. 1. 7. 17:51
1. 3D에서 타겟방향으로 다가가면서 회전함 // 타겟 방향으로 회전함 transform.LookAt(transform); // 타겟 방향으로 다가감 transform.position += transform.forward * speed * Time.deltaTime; - y축으로만 회전시키고 싶다면 xyz 분리해서 0을 넣으면 됨 2. 2D에서 타겟방향으로 다가가면서 회전함 Vector3 dir = target.position - transform.position; // 타겟 방향으로 다가감 transform.position += dir * speed * Time.deltaTime; // 타겟 방향으로 회전함 float angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2De..
Unity/유니티 프로그래밍 맨텀 2019. 1. 3. 13:42
참고 : http://wergia.tistory.com/59 # 방법 1 : 여러가지 씬을 가지고 있고, 로딩 씬은 한개만을 사용할 때. 1번 스크립트는 다른씬에서 로딩씬으로 전환시켜주는 static 함수랑, 로딩 씬에서 로딩을 직접 관리하는 기능이 하나의 스크립트로 합쳐진 형태. 열고싶은 씬 이름을 인자로 보내는 static 함수를 호출하면 로딩 씬을 열고, 로딩 씬에 미리 만들어놓은 1번 스크립트의 start가 호출되어 로딩이 시작되는 것. nextScene(열고싶은 씬)의 이름은 static 변수이기 때문에 씬 전환전에 세팅이 되어서 로딩씬으로 넘어가서도 남아있다. [ 1번 스크립트 ] using System.Collections; using System.Collections.Generic; usi..
Unity/유니티 프로그래밍 맨텀 2018. 12. 27. 15:49
호출시점에 따라서 초기화가 안되었는데 다른 스크립트가 먼저 실행될 경우도있다. 이 경우 프로퍼티를 사용하여 지연된 초기화를 구현할 수 있다. 다만 사용할때마다 null 체크를 하기때문에 자주 사용되는 값일 경우에는 확실하게 초기화를 하거나, bool 값으로 따로 초기화 플래그를 세우는게 나을 듯 하다. [SerializeField] private GameObject _Castle; public GameObject Castle { get { if (_Castle == null) { _Castle = GameObject.FindGameObjectWithTag("Castle"); } return _Castle; } set { _Castle = value; } }
Unity/유니티 프로그래밍 맨텀 2018. 12. 19. 16:26
참고 : http://archive.fo/5Mifm 저장하고 싶은 형식을 가지고있는 ScriptableObject를 상속받는 스크립트를 만든다.추가적으로 CSV파일 등에서 데이터를 로드해서 자신의 변수에 저장하는 함수도 만든다. 1234567891011121314151617181920212223242526using UnityEngine;using System.Collections;using System.Collections.Generic;using System; // 에디터에서 프리팹에다가 값을 넣어놓고 싶을때 사용하기위해 임시로 제작[CreateAssetMenu]public class ScriptableDataBase : ScriptableObject{ [SerializeField] public Lis..
Unity/유니티 프로그래밍 맨텀 2018. 12. 13. 11:26
양쪽 다 playerSettins에서 Scripting Runtime Version을 .NET 4.x 로 해야함. 방법 A - Scriptable Object로 변환시켜받는 방식 - 깃허브 http://kimsama.github.io/googlehowto/http://lhh3520.tistory.com/345https://github.com/kimsama/Unity-QuickSheet/blob/master/Assets/QuickSheet/Doc/Unity-Quicksheet.pdf 방법 B - Json으로 변환시켜서 받는 방식 - 개발중에 다운받기위한 형식인듯. http://iflife1124.tistory.com/30 - 유니티 에셋스토어 https://assetstore.unity.com/packag..