1. 카메라 비율 고정하기 (16:9)

1
Camera.main.aspect = 16f / 9f;
cs



2. 해상도 고정하기

1
Screen.SetResolution(1280720true);
cs

마지막은 전체화면 할건지 말건지


+ 폰기종 상관없이 해상도 고정하기. 즉 16:10폰이면 16:9로 고정하고 나머지 부분은 검은화면으로 출력하기

카메라의 rect를 조정하는 방법으로. 캔버스는 같이 조정되지않는다.

(원본글 : https://blog.naver.com/fnzlz/221069086916)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
private void ResolutionFix()
{
    // 가로 세로 비율
    float targetWidthAspect = 16.0f;
    float targetHeightAspect = 9.0f;
 
    Camera.main.aspect = targetWidthAspect / targetHeightAspect;
 
    float widthRatio = (float)Screen.width / targetWidthAspect;
    float heightRatio = (float)Screen.height / targetHeightAspect;
 
    float heightadd = ((widthRatio / (heightRatio / 100)) - 100/ 200;
    float widthadd = ((heightRatio / (widthRatio / 100)) - 100/ 200;
 
    // 시작지점을 0으로 만들어준다.
    if (heightRatio > widthRatio)
        widthRatio = 0.0f;
    else
        heightRatio = 0.0f;
 
    Camera.main.rect = new Rect(
        Camera.main.rect.x + Mathf.Abs(widthadd),
        Camera.main.rect.x + Mathf.Abs(heightadd),
        Camera.main.rect.width + (widthadd * 2),
        Camera.main.rect.height + (heightadd * 2));
}
cs



3. 씬 전환하기

1
SceneManager.LoadScene("Chapter0");
cs



4. Ray

1
2
3
4
5
6
7
8
9
10
11
12
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
// Debug.DrawRay를 하면 씬에서 발사되는 ray를 눈으로 확인할 수 있다.
// 시작위치, 방향, 색상, 지속시간(선이 몇초간 보여질건지)를 넣으면 된다.
//Debug.DrawRay(ray.origin, ray.direction*100, Color.yellow, 1);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
    string HitObj = (hit.transform.gameObject.tag);
    if(HitObj == this.tag)
    {
    }
}
cs



5. RaycastAll

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
RaycastHit[] hits;
hits = Physics.RaycastAll(transform.position, transform.forward, 100.0F);
 
for (int i = 0; i < hits.Length; i++)
{
    RaycastHit hit = hits[i];
    Renderer rend = hit.transform.GetComponent<Renderer>();
 
    if (rend)
    {
        rend.material.shader = Shader.Find("Transparent/Diffuse");
        Color tempColor = rend.material.color;
        tempColor.a = 0.3F;
        rend.material.color = tempColor;
    }
}
cs



음.. 적으려니까 생각이 안 난다.

작업하면서 생각날때마다 조금씩 추가해야겠음.

Posted by misty_
,