Unity 问题汇总

如何将屏幕坐标投射到3d空间中

transform.position = Camera.main.ScreenToWorldPoint (pot);
//Input.mousePosition 可以得到当前触摸屏位置点

为什么设置鼠标跟随但是在运行的game下看不到

检查几个地方:

  • 运行时camera的深度
  • 运行时gameObject的深度
  • 如果两个深度相等, 再看camera的clipping planes的near值, 一般通过屏幕投影转换过来的坐标z值为camera的深度, 而near设置大于0, 则忽视这个深度的可视效果, 因此看不见
  • 屏幕投影最好在transform中固定好原有的深度
  • 另外near设置永远大于0.01, 这是因为如果按照Perspective投影方式, 近大远小, 摄影机捕捉到距离摄影机距离为0的对象的大小, 将缩放为无穷大, 这样逻辑是符合的, 但是显示性能和效果都是不采纳的, 所以near被强制大于0

为什么物体旋转了, 但是并没有呈现3d效果?

默认的unity2d工程中, camera的投影方式是Orthographic方式, 这样的好处是, 无论在任何z深度, 物体大小都是等大的, 因此不存在近大远小的问题, 而且旋转也不会发生物体的畸变
想要实现3d的效果畸变, 只要将camera投影设置为Perspective即可

动态生成的新物体, 总是有一个固定的奇怪的坐标 ?

Instantiate 的时候, 会将现有的保存好的物体原封不动的按照数值展示出来, 所以保存到Project中的gameObject最好将位置等信息初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值