object 이동(Position 및 local Position)

11782 단어 unity5

object 이동(Position 및 local Position)


Object에 액세스하기 위해
transform.XXXX를 이용하면 간단해요.
transform 참조
여러 변수가 있었지만 이번엔
부분 이동 정보
  • position
  • localPosition
  • position 및 local Position


    기본적인 생각은position은 절대 좌표축의 좌표값이다
    local Position은 모 개체에 대한 상대 좌표값입니다.
    간단한 예.
    유닛에서 그림에서 보듯이 친자관계를 형성하는 대상
    초기 위치의 포지션을 개별적으로 지정합니다.

    상위 객체
    #pragma strict
    function Start () {
       // ピンクobjectの初期化
       transform.position = new Vector3( 0.0, 0.0, 0.0);
    }
    function Update () {
    }
    
    하위 객체
    #pragma strict
    
    function Start () {
       // 白objectの初期化
       transform.position = new Vector3( 5.0, 0.0, 0.0);
    }
    
    function Update () {
    
    }
    
    예상대로 배치는 아래 그림과 같다.
    분홍색 Object의 위치는 (0.00.00.00.0)
    흰색 Object의 위치는 (5.0,0.0,0.0)

    상위 객체의 위치를 수정합니다.
    하위 객체의 위치가 업데이트됩니다.
    그렇지 않으면 초기화 순서가 하위 대상에서 시작될 수 있습니다
    상위 객체 업데이트의 영향으로 원하는 만큼 이동할 수 없습니다.
    상위 객체
    #pragma strict
    function Start () {
       // ピンクobjectの初期化
       transform.position = new Vector3( 0.0, 3.0, 0.0);
    }
    function Update () {
    }
    
    하위 객체
    #pragma strict
    
    function Start () {
    }
    function Update () {
     // 白objectの初期化
       transform.position = new Vector3( 5.0, 0.0, 0.0);
    }
    
    부모 개체만 오프셋됩니다.

    하위 객체
    position에서 local Position으로 변경해 보십시오.
    하위 객체
    #pragma strict
    
    function Start () {
    }
    function Update () {
     // 白objectの初期化
       transform.localPosition = new Vector3( 5.0, 0.0, 0.0);
    }
    
    자식 객체의 위치는 부모 객체의 상대 좌표를 지정합니다.
    부모처럼 위로 옮겨 보이다.

    총결산


    절대 좌표 축에서 이동하려면position
    상위 객체와 함께 이동하려면 local Position을 선택합니다.
    상위 객체
    #pragma strict
    
    function Start () {
       // ピンクobjectの初期化
       transform.position = new Vector3(0.0,3,0);
    
       Invoke("DelayMethod", 1.3f);
    }
    
    var x:boolean = true;
    function Update () {
    
    
      if(x){
        transform.position = transform.position + new Vector3(0.1,0.0,0.0);
      }else{
        transform.position = transform.position + new Vector3(-0.1,0.0,0.0);
      }
    }
    
    
    function DelayMethod(){
      if(x){
        x = false;
      }else{
        x = true;
      }   
      Invoke("DelayMethod", 1.3f);
    }
    
    하위 객체
    #pragma strict
    
    function Start () {
       Invoke("DelayMethod", 1.0f);
    }
    var x:boolean = true;
    function Update () {
    
      if(x){
        transform.localPosition = new Vector3(5.0,0,0);
      }else{
        transform.localPosition = new Vector3(-5.0,0,0);
      }
    }
    
    function DelayMethod(){
      if(x){
        x = false;
      }else{
        x = true;
      }   
      Invoke("DelayMethod", 1.0f);
    }
    
    하위 객체가 local Position으로 이동합니다.
    부모 객체를 따라 좌우로 이동합니다.

    local Position에서 Position으로 변경되면
    상위 객체와 상관없이 -5.0과 5.0 사이를 배회합니다.

    좋은 웹페이지 즐겨찾기