unity3d 학습 탐색 (1) 실례화 GameObject 및 각도 조정

2052 단어 unity3d
unity3d가 지도에 여러 개의 화살표 모형을 그리려면 화살표는 3dmax로 만들어서 가져옵니다.여러 모델을 한 번에 복제하려면 실례화,instantiate 함수로만 생각하고
staticfunctionInstantiate (original : Object, position : Vector3 , rotation : Quaternion ) : Object
첫 번째 매개변수: 객체 이름, 두 번째 매개변수: 객체의 위치, 세 번째 매개변수 객체의 각도
저는 주로quaternion 4원조에 대한 이해가 잘 안 돼서 각도를 직접 사용하지 않고 나중에 모색해서 아래의 방법으로 각도를 조정했습니다.
(코드는'마크'라는 이름의 게임Object를 먼저 찾은 다음 실례화)
스크립트는 js이고 메인 카메라에 놓으면hierarchy에'mark'라는 이름의 게임object를 만들면 됩니다. 게임object나 cube,plane 따위가 좋습니다.
private var go : GameObject;
private var clone : GameObject;
private var temp : Vector3;
private var temp1 : Quaternion;

function Start()
{
  var i : int = 0;;
  go = GameObject.Find("mark");

  go.active = false;
 
 for (var child : Transform in go.transform) {
    ++i;
    child.active = false;
    child.parent.active = false;
    }

  temp = go.transform.position;	`
  temp.x += 10;
  temp.z += 10;
  temp1 = Quaternion.identity;  
  
  for (i = 0; i < 3; i++)
    for (j = 0; j < 3; j++)
    {
      temp.x += 10;
      temp.z += 10;
      temp1.eulerAngles = Vector3(90,30 + (j * 50),0);
      clone = Instantiate(go , temp , temp1);
      
    }
}

주로temp1.eulerAngles = Vector3(90,30 + (j * 50),0); 이 코드는 실례화 대상의 각도를 조정한다.
temp1 = Quaternion.identity; 이 구절은 생략할 수 있다.
이 코드는 go와 go의 모든 하위 대상을 숨기는 데 사용됩니다. Unity가 함수를 가지고 이 기능을 직접 실현할 수 있는지 모르겠습니다. 만약 어떤 대하가 알고 있다면 저에게 알려주십시오. 감사합니다.
go.active = false;
 for (var child : Transform in go.transform)
 { ++i; 
  child.active = false; 
  child.parent.active = false;
 }

좋은 웹페이지 즐겨찾기