C# Unity通过缩放相机使游戏对象在屏幕上保持像素大小
我的场景中有一个对象的自顶向下透视摄影机视图 我正在导出WebGL,我想从对象的自顶向下视图开始场景,但我需要它在屏幕像素上保持相同的大小,无论网页上Unity player的宽度/高度如何 我想通过向上/向下(沿y轴)移动相机来实现这一点,但我正在努力学习计算相机正确y位置所需的数学C# Unity通过缩放相机使游戏对象在屏幕上保持像素大小,c#,unity3d,camera,unity-webgl,C#,Unity3d,Camera,Unity Webgl,我的场景中有一个对象的自顶向下透视摄影机视图 我正在导出WebGL,我想从对象的自顶向下视图开始场景,但我需要它在屏幕像素上保持相同的大小,无论网页上Unity player的宽度/高度如何 我想通过向上/向下(沿y轴)移动相机来实现这一点,但我正在努力学习计算相机正确y位置所需的数学 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MainCamera :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MainCamera : MonoBehaviour {
private Camera cam;
public Transform target;
public float targetPixelHeight = 150;
void Start () {
cam = GetComponent<Camera>();
}
void Update () {
float newY = /*unknown calculation involving camera position and targetPixelHeight*/;
transform.position = new Vector3(transform.position.x, newY, transform.position.z);
}
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类摄像机:单行为{
私人摄像机;
公共转型目标;
公共浮动targetPixelHeight=150;
无效开始(){
cam=GetComponent();
}
无效更新(){
float newY=/*涉及相机位置和目标像素高度的未知计算*;
transform.position=新矢量3(transform.position.x,newY,transform.position.z);
}
}
如果更改相机的大小,它不会保持像素数量不变吗?因此,根据屏幕大小,适当调整相机的大小。相机大小是什么意思?我想你可以使用PlayerSettings.defaultScreenWidth=1080;PlayerSettings.defaultScreenWidth=1920;其中宽度和高度是它所在屏幕的分辨率。我不确定我是否遵循,我无法预测播放器在网页上的大小,但是我想让我的物体的像素大小在任何情况下都保持一致。如果你找不到屏幕的分辨率,那么无论屏幕大小如何,都没有办法让像素保持恒定?你需要一个关于它的值,以便能够计算任何关于适当缩放的内容。。。