2020년 4월 9일 목요일

Universal Joint 동작(개별객체)

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

public class TriggerRoll : MonoBehaviour
{
    public Transform target;
    public bool x = false, y = false, z = false;
    public float speed = 20f;
    public bool isReverse = false;
    private bool isRun = false;
    public float prevRot;
    private int dir = 1;
    void Update()
    {
        if (UnityEditor.TransformUtils.GetInspectorRotation(target.transform).z != prevRot)
        {
            isRun = true;

            if (prevRot < UnityEditor.TransformUtils.GetInspectorRotation(target.transform).z)
            {
                dir = 1;
            }
            else
                dir = -1;

            prevRot = UnityEditor.TransformUtils.GetInspectorRotation(target.transform).z;
        }
        else
            isRun = false;

        if (isRun)
        {
            if (!isReverse)
            {
                transform.Rotate(x ? 6f*dir * speed * Time.deltaTime : 0f,
                                 y ? 6f * dir * speed * Time.deltaTime : 0f,
                                 z ? 6f * dir * speed * Time.deltaTime : 0f);
            }
            else
            {
                transform.Rotate(x ? 6f * dir * speed * Time.deltaTime * -1 : 0f,
                                 y ? 6f * dir * speed * Time.deltaTime * -1 : 0f,
                                 z ? 6f * dir * speed * Time.deltaTime * -1 : 0f);
            }
        }
    }
}

댓글 없음:

댓글 쓰기

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...