unity
-
[unity]C# Parent 사용 시 경고 메세지unity 2022. 7. 18. 16:23
chr_position.transform.Parent = this.transform; 위 내용을 입력 시 경고 메세지가 나온다.. 텍스트로 옮기면 Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues. 해석하면 RectTransform의 부모를 부모 속성으로..
-
[Unity]C# - Random에 관하여unity 2022. 7. 15. 13:43
SetNumber(Random.Range(0, 10)); 유니티 C#을 하다 보면 랜덤 값을 출력 해야 할 때가 있다. 평소엔 잘 되다가 한번씩 Random에 빨간 줄이 생길 때가 있다. 이유는 간단한데 최상단으로 올려보면, 이런 식으로 system과 UnityEngine이 같이 명시되어 있기 때문이다. 둘 중 하나를 지우면(아마 system을 지우는것이 속편할 것이다.)문제는 해결된다. 그래도 나처럼 system을 지울 수 없는 상황이라면 또는 이 애러가 뭔지 궁금하다면 아래 내용을 같이 살펴보자. 애러의 내용은 아래와 같다. 모호한 참조라는게 어떤 말인지, 둘이 뭐가 다른 건지 모르겠으니 어떻게 하라는 건지 잘 모르겠다. 그래서 찾아 보니 UnityEngine.Random은 게임당 단일 "글로벌"임의..
-
[Unity - c#]Vector3.Magnitude 활용하여 거리 구하기unity 2022. 7. 11. 16:41
Vector(백터) 백터는 쉽게 말해 크기와 방향을 갖는 물리량이다. 크기와 방향을 갖는다는 것은 시작 지점과 끝 지점이 존재한다는 뜻으로, 백터의 크기는 시작 지점에서 끝 지점 사이의 값이라고 생각하면 된다. Vector2, 3은 2차원(x, y) 3차원(x, y, z)의 차이만 있을 뿐, Magnitude를 활용하는데 크게 다르지 않음을 미리 숙지 해야 한다. Magnitude(규모) 시작과 끝이 존재 한다는 것은 그 안에 크기(또는 길이)가 생긴다는 것이고, 그 크기를 가르키는 것이 Magnitude(규모)가 된다. 유니티에서 magnitude를 사용할 때 float형으로 변환된다. Magnitude 정의 //인자로 들어온 벡터의 길이를 반환한다. public float magnitude(Vecto..
-
[unity] - [System.Serializable]은?unity 2022. 4. 17. 16:02
[System.Serializable]을 클래스 상단에 제시함으로써 유니티 인스펙터를 그룹화 시킬 수 있다. 1번 파일 [System.Serializable] public class AA { public GameObject prefab; public int cost; } 2번 파일 public class Shop : MonoBehaviour { public AA std; //1번 파일에서 Serializable로 처리 한 것들을 2번 파일로 불러옴 public AA ml; private void Start() 2번 파일이 적용된 게임 오브젝트를 통해 확인 할 수 있으며 인스펙터에 이렇게 표시된다.
-
[unity - c#] : MonoBehaviour은 왜 있는 거지?unity 2022. 4. 17. 15:48
MonoBehaviour은 유니티에서 생성하는 모든 스크립트가 상속받는 기본 클래스. c#에서 코드를 작성하기 위해 파일을 생성하면 아래와 같이 나온다. public class TB : MonoBehaviour { // Start is called before the first frame update void Start() { } 여기서 : MonoBehaviour은 TB안에 코드들을 원활하게 작동 시킬 수 있도록한다. start(), update(), 등... 많은 매서드가 여기에 상속되어 있다. 즉, : MonoBehaviour이게 빠지면 상속되어 있는 매서드를 못 쓴다는 뜻이다.
-
[Unity(c#) - instance] 단순하게 생각하기unity 2022. 4. 8. 12:59
class 필드명; //다른 Cs파일(클래스로) 불러와서 여기서 뭐라고 부를 건지 정하기(필드명) private void Start() { 필드명 = class.instance; 필드명.Equals(name); } 위처럼 필드명을 안쓸 경우 private void Start() { BuildManager.instance.Equals(name); } 여기서 .instance를 왜 선언 해야하는지 뚜렸한 이유를 찾기 힘들었다. 실제로 없어도 에러가 바로 나오지 않는 것 같아 더 그렇다. 막상 해당 기능을 테스트 해보면 있어야 에러가 안나는 것을 알 수 있었다. 여기서 확실히 알 수 있는 건 instance가 없다면 값을 불러 올 수는 있지만 그걸 사용할 수는 없다. 만약, 해당 Cs파일을 사용하기 위해선 ...