transform.RotateAround는 구버전으로, 사용되지 않는다.


에러가 발생하지는 않지만, 녹색으로 경고창이 뜬다.


경고는 다음과 같다.


'Transform.RotateAround(Vector3, float)' is obsolete: 'use Transform.Rotate instead.' [Assembly-CSharp]


쉽게 말하면,


transform.RotateAround은 구식이다. transform.Rotate을 대신 사용해라.


Posted by sungho88
,

public class Test01 : MonoBehaviour 

    public float testNum = 0; 


이런 클래스가 존재한다고 할 때, testNum 변수를 어떻게 불러올까?


물론... public으로 선언되어 있다고 가정한다. 


private를 사용했거나, 아무것도 작성하지 않을 경우 모두 외부에서 보이지 않으므로 사용할 수 없다.



public class MainClas : MonoBehaviour 

    void Start() 

   { 

     Test01 call = GameObject.Find("Test01 컴포넌트 붙은 오브젝트").GetComponent<Test01>(); 

        call. testNum = 5; // 접근해서 값을 수정할 수 있다. (주의해야함)

    } 


이렇게, Find()함수를 이용하여 오브젝트를 검색한 뒤, 


그 오브젝트에 Test01 스크립트 컴포넌트를 불러온다.


그런뒤에 변수(call)에 저장한다.


이제, 이 변수를 이용하여 public된 함수 및 변수에 자유롭게 접근할 수 있다.



Posted by sungho88
,

게임을 개발중에 라이트와 관련된 문제를 하나 발견했다.

원래 이렇게 흰색 배경으로 프로젝트를 진행 중이었다.
그런데, 게임 오버 되서 다시 게임을 시작할때... 현재 화면 그리고 메인화면으로 이동할때...메인 화면도 
아래와 같이 뭔가 어두운 색상으로 변했다. 처음에는 라이트 적용이 안 되었다고 생각을 했다.

예상과 달리 라이트는 체크되어 있었다. 
라이트 체크를 끄게 되면 아래과 같이 아예 검은색으로 변하는 것을 알았다. 

그렇다면 어떻게 라이트 색상이 변하지 않고 유지할 수 있을까?
아, 물론 이러한 현상은 게임을 빌드해서 실제 폰에서 실행했을 경우에는 이 현상이 발생하지 않는다고 한다.
하지만, 개발할 때 매우 신경쓰이므로 바꿔보자.
해결 방법은 다음과 같다.
상단 메뉴 - Windows - Lighting - Settings에 들어간다.

Lighting Setting 창이 열리는데, 가장 아래쪽에서 Auto Generate가 체크되어 있는 것을 볼 수 있다.

이 체크를 해제하면 옆의 Generate Lighting 버튼이 활성화가 된다.
 이 버튼을 클릭하면 유니티 에디터에서 테스트를 진행할 때에도 빛이 제대로 들어오는 것을 확인할 수 있다.
참고로, 씬이 여러개라면 해당 씬에 가서 위 작업을 반복해야 한다.


Posted by sungho88
,