Unity:2D游戏设置相机orthographicSize

目录

[根据设备分辨率动态设置相机 orthographicSize](#根据设备分辨率动态设置相机 orthographicSize)


根据设备分辨率动态设置相机 orthographicSize

  • 2d游戏里面相机的Orthan.size确定的是高度,宽度是按照屏幕的宽高比计算出来的
  • cameraWidthSize = camera.Orthographic.size*(Screen.Width/Screen.height)
  • 我在游戏里设置的 开发分辨率是1080*1920
  • 所以我在原先Y=1920情况下 Camera设置的orthographicSize=10,可以恰好把图片横向全部展示
  • 如下

但是导出apk安装到手机上的时候 我的手机分辨率是1080*2440

  • 这个时候用unity用10来计算
  • 10*(Screen.Width/Screen.height)
  • 就会把宽度变小了
  • 但是到了手机里就变成了这样

所以需要按照开发的尺寸(原先的宽)度来重新计算size ,挂在摄像机上

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraAdaper : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        SetCamera(GetComponent<Camera>());
    }

    float width = 1080;//开发分辨率x
    float height = 1920;//开发分辨率y

    //需要适配宽度
    public void SetCamera(Camera camera)
    {
        var realWidthSize = (camera.orthographicSize * (width / height));
        Debug.Log($"width_{Screen.width}-height_{Screen.height}");
        float val  = realWidthSize / ((float)Screen.width / (float)Screen.height);
        Debug.Log($"cameraSzie{val}");
        camera.orthographicSize = val;
    }

}

完成

相关推荐
小白学鸿蒙6 小时前
Unity 3D 2023解压安装,配置安卓运行环境后打包安卓应用(踩坑无数之差点放弃)
android·unity·游戏引擎
__water15 小时前
【关于unity打包Android失败问题】
android·unity
mascon17 小时前
Unity 编辑器扩展
unity·编辑器·游戏引擎
yingxiao88817 小时前
《异环》全球上线,日韩登顶欧美强势进榜;豆包将新增付费订阅服务
游戏·游戏资讯·行业资讯
jump_jump17 小时前
用官方模板理解 Decky 插件:一次从模板到架构的速览
javascript·python·游戏
东北洗浴王子讲AI18 小时前
室内儿童淘气堡中海洋球闯关与男生女生向前冲游戏的机制差异、体验比较及教育价值研究
游戏
邪修king18 小时前
UE5 C++ 游戏性能优化:大一也能学会的实战级优化指南
c++·游戏·ue5
yingxiao88819 小时前
从流量套利到结构化增长,NetMarvel 助力越南游戏应用实现高速增长!
游戏·手游·市场分析·越南市场·越南游戏市场
薛定谔的猫喵喵19 小时前
基于Claude Code + deepseek 生成打地鼠游戏
游戏
程序员正茂1 天前
Unity3d使用MQTT异步连接服务端
mqtt·unity·异步