한 걸음 두 걸음

가상증강현실및실습 0322 ] 위치이동 / 회전 실습진행 본문

Unity

가상증강현실및실습 0322 ] 위치이동 / 회전 실습진행

언제나 변함없이 2019. 3. 22. 10:37
반응형

포인트 이동 / 변위 이동

포인트는 값이 정확하게 반영됩니다.
변위는 ~만큼 이동합니다.

하지만 포인트는 정확하게 이동해야하기 때문에 충돌처리가 어려운 반면 변위 처리의 경우 충돌 처리가 자연스럽게 됩니다.
포인트제어의 경우 이 문제를 해결하기 위해서 빈도수를 빠르게 해주는 방법이 있습니다.
변위 처리의 경우 지연이 생기거나 오차가 누적되는 문제점이 있습니다.

보통 변위제어를 사용합니다.

transform.Translate(moveDir * moveSpeed * Time.deltaTime, Space.Self);
Space.Self = local 좌표계
Space.World = World 좌표계

과제 제출 방법

build 파일과 script파일 제출하시면 됩니다.

  1. 날짜준수! (늦으면 안받아줍니다.)
  2. 과제 낸대로 잘 완성시켰는가
  3. +a 개인적으로 공부를 했는지 반영됨.
  4. copy했는지 여부 체크( 친구꺼 소스 배껴도 되지만 modeling은 조금 다른게 좋겠지, 성의문제니까)

과제

실습과제 1: 태양계 구현

  1. 본 실습과제는 아래 모델을 포함한다.

    • 태양

    • 지구

  2. 본 실습과제를 구현하기 위해서는 아래 조건을 만족해야 한다.

    • 태양 주변을 공전하는 지구

    • 지구 주변을 공전하는 달

    • 자전 하는 지구와 달

*제출양식(파일명: 학번_성명_실습날짜): 빌드 파일(실행 가능해야함), 스크립트

실습내용

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class control : MonoBehaviour
{
    void Start()
    {

    }

    void Update()
    {
        //transform.localPosition = new Vector3(5,0,0); //이를 적용시킨 객체의 position기준으로 들어갑니다 (this.)transform.localPosition
        //transform.localRotation = Quaternion.Euler(45, 0, 0);
        //transform.localScale = new Vector3(3, 3, 3);
        //transform.position += new Vector3(1*Time.deltaTime, 0, 0); //Time.deltatime = frame간의 시간으로 설정하여 씹히는 프레임을 반영하지 않습니다.
        //transform.Translate(new Vector3(1*Time.deltaTime, 0, 0));
        //transform.Translate(Vector3.forward*0.01f, Space.World);
        transform.Rotate(Vector3.up * Time.deltaTime * 45);
    }
}
반응형