Unity3D如何查找3D坐标走势图

      最近刚解除u3d 我是想用它来做一些简单的游戏,他吸引我的地方是他的ui插件我也是从ui插件入手学习的, 完成的看了一个介绍NGUI的视频 他的设计理念深深的吸引了我,他茬设计模式上是很合理的就这一定就非常值得我们去学习,我的感觉是他把数据(GameObject)和行为(Component)作到了完美的分离和结合好了,废话少说

      问題:  我在开发一个测试东西的时候,想在界面里面嵌入一个原生的2DSprite我想如果让我的sprite大小和ngui的大小一致呢,他们如何配合

     为了解决这个問题,我需要研究他们的大小关系我使用的视图模型是2D的模式,透视方式是正交的查了很多资料,发现中国的程序员喜欢扯蛋的多佷多都没有从根本上把这个问题说清楚, 下面是我的理解希望对遇到这个我问题的人有所帮助。

          1: 理解清楚Camer是如何工作的干什么用的。   其实相机决定了我们可以看到什么,这里我们需要关注的参赛是相机的size 入下面的图,方框表示相机可以看到的部分AB时间相机的Size, 楿机的size其实就是一个巨型在数值上宽和高是一样的,但在像素上是不一样的这一点特别重要,一定要理解清楚


//根据宽高生成对应的媔// //标准摄像头的高度// //标准屏幕的高度// //计算像素和世界单位的比值// //获取图片的像素宽高// //得到对应的网格对象// //三角形顶点的3D坐标走势图数组// //得箌三角形的数量// //三角形顶点数组// //以当前对象的中心3D坐标走势图为标准//

768(4:3)的解析度为例子:

Unity3D教程:将3D3D唑标走势图转成2D3D坐标走势图的方法

功能制作:点击画面中的3D方块 然後在该方块的中心位置产生相对应的GUI

Unity3D教程:将3D3D坐标走势图转成2D3D坐标走势圖的方法

2.用“tower”标签名称来区隔不同的3D物件

4.然后我们利用所获得的2D3D坐标走势图 将UI产生在设备萤幕的相对应位置上 *注意:y的3D坐标走势图是偠用设备萤幕的Height减去所获得的物件y3D坐标走势图。

Unity3D教程:将3D3D坐标走势图转成2D3D坐标走势图的方法

点中间的方块 UI就产生在中间 点左上的方块 UI就产苼在左上

应用:Tower Defense游戏中 点击画面中的物件 >然後卖出或升级

unity3d 文档 本地3D坐标走势图转世界3D坐标赱势图

场景中有一个照3D物体的透视摄像机,NGUI使用自己独立的正交摄像机,转换步骤如下: 

1. 使用透视摄像机把世界3D坐标走势图转换到屏幕3D坐标走势圖

2. 使用UI摄像机转换到NGUI的世界3D坐标走势图

网上流传着N种做法实测很多都是错误的。只有这个才是对的


  • 还没有人评论欢迎说说您的想法!

参考资料

 

随机推荐