unity中2D相机与3D相机的二三事

Unity 2D视角下模拟3D环境和地形 2.5D具体实现的方式也分多种,如2D角色+3D场景搭建、3D角色+2D场景贴图、2D角色+2D场景贴图。此文章主要讨论最后一种,2D角色+2D场景贴图,由于角色和场景都采用2D图片,所以本质仍可以归为2D游戏。对于坡道的角度也要以同样的方式处理,三维坡角=二维坡角/cosα,此处相机角度为30°,坡道贴图的角度为15°,碰撞体的坡角即是17.32°。设相机角度为α,贴图的点位为(x2,y2),逻辑的点位为(x,y,z),一个格子为一个单位。2D游戏若想模仿3D游戏的环境,一种很好的方案便是“2.5D”。 阅读详情

为啥要写这个呢,主要是因为在之前制作游戏的时候,需要在3D游戏场景之上加一层2D的用户界面。之前一直属于小白的阶段,身边玩unity的人也少,也没人教,网上去问了一下也没有特合适的方法(大概是关键词没有搜对)。于是乎就自个儿琢磨了一下怎么处理3D游戏场景中2D的UI。
就拿我们游戏中的一个画面来说,在3D的游戏场景之上,还分布着ui层,各种按钮以及数据显示之类的玩意儿。 



要实现这样的效果其实主要也就是camera组件中的几个参数需要设置调整的。
下面两图分别是3D相机和2D相机中的设置部分。


使用3d坐标系 在游戏中添加2d用及3d用的摄像机 简述: 用于计算3维平面上的交互,如:求射线与球面的交点,转化为2d坐标; 使用一个正射投影摄像机,控制旋转的角度(俯视则绕x轴旋转),调整到所需的视角。此时可设置物体z坐标,控制物体位置。 摄像机设定 3角函数 sin:对边/斜边 cos:直角边/斜边 tan:对边/直角边 相关代码 ---- cocos2dx一开始会创建一个默认摄像机default,默认摄像机用于... 阅读详情

相关推荐

Unity中相机如何一直跟随人物移动

此方法相机视野会一直望着主角 第一种方法 // 相机脚本 private Transform player; private Vector3 offset; private float smoothing = 3; void Start() { player = GameObject.FindGameObjectWithTag("Player").transform; offset = transform.position - player.po

weixin_50837893的博客 2012

【Unity进阶】从3D到2D:场景转换的两种核心路径与实战选择

本文深入探讨Unity中3D到2D场景转换的两种核心路径:真2D转型与2.5D过渡方案。从相机系统、物理系统、资源类型等维度解析本质差异,提供美术资源重构、物理系统迁移等实战指南,并给出技术选型决策矩阵,帮助开发者高效完成场景转换。

weixin_29012765的博客 440

Unity2D // 基于Cinemachine的相机区域自动缩放代码(可用于BOSS战时相机的缩放)

在许多2D游戏中,玩家进入BOSS或某个区域后相机会自动缩放或是从跟随玩家的位置平移到一个拍摄整场的不动的位置。 具体实现用到了Cinemachine中的多个虚拟相机相互切换。 方法: 在场景中创立一个空物体,添加Collider2D(或Collider,取决于游戏是2D还是3D) (大小可自行调整) 添加代码: using UnityEngine; using Cinemachine; public class Boss_CameraManager : MonoBehaviour

Hellinus的博客 5379

超详细!思岚S2激光雷达hector_mapping建图

使用思岚S2激光雷达,在ros平台上利用hector_mapping功能包实现建图功能

m0_50965539的博客 5583

超频玩家必看:TestMem5配置文件详解与内存稳定性测试实战(含黄金参数包)

本文详细解析了TestMem5(TM5)在内存超频稳定性测试中的核心价值与实战应用,特别针对DRAM颗粒特性提供黄金参数配置。通过anta777等专业配置的深度剖析,指导超频玩家精准定位内存故障,优化时序参数,实现性能与稳定性的完美平衡。涵盖从初级验证到极限压测的全流程方案,是硬件发烧友提升系统稳定性的必备指南。

weixin_29198045的博客 1716

BAPI创建委外采购订单

使用BAPI BAPI_PO_CREATE1创建委外采购订单,组件为手工输入时,有几个点需要注意: 1、已通过CS01创建过BOM的物料,创建时会自动带出components。如果要修改当前组件清单,可以通过设置pocomponents-change_id = 'E’来实现 lv_sline = lv_sline + 1. ls_pocomponents-po_item = l_ebelp + 10. ls_pocomponents-ITEM_NO = l

Buffalo_soldier的博客 3250

单细胞数据互转实战:从Scanpy的h5ad到Seurat对象的四种高效方法

本文针对单细胞数据分析中Scanpy的h5ad格式与Seurat对象互转的常见难题,详细对比了SeuratDisk、anndataR、schard和sceasy四种高效转换方法。文章从实战出发,剖析了每种方法的原理、操作流程、优缺点及避坑指南,并提供了清晰的选型策略,帮助用户根据数据特点选择最佳方案,实现跨平台数据的无缝衔接。

weixin_29099217的博客 444

Python爬虫实战:手把手教你园林植物分类全维度字典自动化采集实战!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 384

Modbus测试工具ModbusPoll与Modbus Slave使用方法 小白实操记录

Modbus 下面介绍modbus标准协议从站、主站仿真工具;可用于指令下发,数据采集等;是学习、现场运维的好工具。 1 介绍 Modbus Poll :Modbus主机仿真器,用于测试和调试Modbus从设备。该软件支持ModbusRTU、ASCII、TCP/IP。用来帮助开发人员测试Modbus从设备,或者其它Modbus协议的测试和仿真。它支持多文档接口,即,可以同时监视多个从设备/数据域。每个窗口简单地设定从设备ID,功能,地址,大小和轮询间隔。你可以从任意一个窗口读写寄存器和线圈。如果你想改

码灵的博客 1万+

dify制作的工作流如何通过API调用

本文介绍了如何通过Python程序调用Dify工作流API实现数据处理功能。文章详细展示了workflow和chatflow的调用方法,包括参数设置和结果输出,并提供了一个完整的API调用工具代码示例。该工具可实现文本处理、成果查重、关键词生成等功能,支持通过Python脚本或Postman进行调用。核心代码包含API请求函数和批量处理函数,通过HTTP请求与Dify服务端交互,实现自动化数据处理流程。

hhue2007的专栏 920

2023年下半年网络工程师案例分析真题答案解析

R1] ip route-static 0.0.0.0 0.0.0.0 GigabitEthemet2/0/1 (3) track (4) R1 to R2 //配置R1的缺省路由,联动BFD使得R1到2的流量优先走R1->S1->R2链路,当此链路发生故障时,流量切换到R1->R3->R2链路上。当同一VLAN内也需要网络隔离时,我们可采用交换机的(2)功能,若在配置了二层隔离后,部分主机有互通的需求,则可在需求主机的网关上配置(3)功能。不需要,MAC地址是数据链路层封装以太帧的地址标识。

鹿鸣天涯 739

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 自己写了个Box类,是unity自带的Rect类的3D升级版,功能还很少~~
下一篇: Unity中当Uisprite组件切换图片时的小技能
夏至未至829
博客等级 码龄16年 11粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值