레이블이 Unity3D인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Unity3D인 게시물을 표시합니다. 모든 게시물 표시

2021년 10월 11일 월요일

Quad를 Camera의 Frustum 내에 맞추는 스크립트

using UnityEngine;

public class FillQuadToScreen : MonoBehaviour
{
    [SerializeField] private Camera m_camera = null;
    [SerializeField] private float m_distance = 1f;

    private Transform m_transform = null;
    private Transform m_cameraTransform = null;

    private void Awake()
    {
        m_transform = this.transform;
        m_cameraTransform = m_camera.transform;
    }

    private void Update()
    {
        float pos = (m_camera.nearClipPlane + m_distance);

        m_transform.position = m_cameraTransform.position + m_cameraTransform.forward * pos;

        m_transform.LookAt(m_camera.transform);
        m_transform.Rotate(0, 180, 0);

        Vector3 dist = m_transform.position - m_camera.transform.position;

        float h = 2.0f * dist.magnitude * Mathf.Tan(m_camera.fieldOfView * 0.5f * Mathf.Deg2Rad);
        float w = h * (Screen.width / (float)Screen.height);

        m_transform.localScale = new Vector3(w, h, 1);
    }
}

 이 스크립트를 Quad의 GameObject에 붙여서 카메라 연결.

 이 스크립트 일반적인 용도는 Quad를 배경으로 깔고 싶을때 사용. m_distance의 값을 카메라의 farClipPlane에 가깝게 주면 배경처럼 보이는 효과가 됨.

https://gist.github.com/Stiner/62154dd964a1e6dc9f36c84ed24150fd

2013년 2월 6일 수요일

Unity3D에서 URL인코딩 방법

System.Web.HttpUtility.UrlEncode(string, Encoding)

처음에는 이것을 쓸려고 하였다. References에도 추가 해 주고 using 구문도 넣어 주었는데,  VS에서는 문제 없이 빌드가 되지만 Unity3D에서는 계속 아래와 같은 에러 메시지..

error CS0103: The name `HttpUtility' does not exist in the current context



멘붕 한계까지 올라 올려다 좀 진정 한 후에 다시 구글링~
찾아보니 유니티 자체 모듈에도 같은 기능을 해 주는 것이 있었다. ㅡ,.ㅡ

UnityEngine.WWW.EscapeURL(string, Encoding = System.Text.Encoding.UTF8)



삽질이야 뭐, 익숙하고 일단 찾아서 다행.. 인데.. 이것 해결 한다고 야근..

야근 시러효~ ㅠㅠ