pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

了解 libGDX 投影矩陣

Understanding the libGDX Projection Matrix(了解 libGDX 投影矩陣)
本文介紹了了解 libGDX 投影矩陣的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

在過去的幾周里,我一直在嘗試學習 libGDX 庫.我發現很難理解相機/視口關系系統,尤其是在我第一次嘗試游戲開發時.我被告知要使用的一行代碼以及 API 提到的代碼是:

Over the past few weeks I've been attempting to learn the libGDX library. I'm finding it hard, especially for my first endeavor toward game development, to comprehend the system of Camera/viewport relationships. One line of code that I've been told to use, and the API mentions, is:

    batch.setProjectionMatrix(camera.combined);

盡管進行了 4 個小時的研究,但我仍然對這段代碼的功能缺乏完整的了解.據我的基本理解,它告訴"相機正在尋找的批次.我缺乏理解力令人沮喪和憤怒,如果有人能幫助我,我將不勝感激.代碼片段的另一個問題是我不確定何時需要實現(在渲染方法、創建方法等中).

Despite a good 4 hours of research, I'm still lacking a complete understanding of the functionality of this code. It is to my basic understanding that it "tells" the batch where the camera is looking. My lack of comprehension is depressing and angering, and I'd appreciate if anyone could assist me. Another issue with the code snippet is that I'm unsure of when it's necessary to implement (in the render method, create method, etc).

推薦答案

考慮用相機拍照.例如.使用您的智能手機相機拍攝公園長凳的照片.當你這樣做時,你會在智能手機的屏幕上看到公園里的長椅.這可能看起來很明顯,但讓我們看看這涉及到什么.

Consider taking a picture with a camera. E.g. using your smartphone camera taking a picture of a bench in the park. When you do that, then you'll see the bench in the park on the screen of your smartphone. This might seem very obvious, but let's look at what this involves.

圖片上長凳的位置是相對于您拍照時站立的位置.換句話說,它是相對于相機而言的.在典型的游戲中,您不會相對于對象放置對象.相反,您將它們放置在您的游戲世界中.在您的游戲世界和您的相機之間進行轉換是使用矩陣完成的(這只是一種轉換坐標的數學方法).例如.當您將相機向右移動時,長凳會在照片上向左移動.這稱為視圖矩陣.

The location of the bench on the picture is relative to where you were standing when taking the photo. In other words, it is relative to the camera. In a typical game, you don't place object relative to the object. Instead you place them in your game world. Translating between your game world and your camera, is done using a matrix (which is simply a mathematical way to transform coordinates). E.g. when you move the camera to the right, then the bench moves to the left on the photo. This is called the View matrix.

圖片上長凳的確切位置還取決于長凳和相機之間的距離.至少,它是 3D 的(2D 非常相似,所以請繼續閱讀).當它更遠時,它更小,當它靠近相機時,它更大.這稱為透視投影.您還可以進行正交投影,在這種情況下,對象的大小不會根據與相機的距離而改變.無論哪種方式,公園長凳的位置和大小都會轉換為屏幕上的位置和大小(以像素為單位).例如.公園里的長凳是兩米寬,而照片上是 380 像素.這稱為投影矩陣.

The exact location of the bench on the picture also depends on the distance between bench and the camera. At least, it does in 3D (2D is very similar, so keep reading). When it is further away it is smaller, when it is close to the camera it is bigger. This is called a perspective projection. You could also have an orthographic projection, in which case the size of the object does not change according to the distance to the camera. Either way, the location and size of the bench in the park is translated to the location and size in pixels on the screen. E.g. the bench is two meters wide in the park, while it is 380 pixels on the photo. This is called the projection matrix.

camera.combined 表示組合的視圖和投影矩陣.換句話說:它描述了游戲世界中的事物應該在屏幕上渲染的位置.

camera.combined represents the combined view and projection matrix. In other words: it describes where things in your game world should be rendered onto the screen.

調用 batch.setProjectionMatrix(cam.combined); 指示批處理使用該組合矩陣.每當值更改時,您都應該調用它.這通常是在調用 resize 時以及在您移動或以其他方式改變相機時.

Calling batch.setProjectionMatrix(cam.combined); instruct the batch to use that combined matrix. You should call that whenever the value changes. This is typically when resize is called and also whenever you move or otherwise alter the camera.

如果您不確定,那么您可以在 render 方法的開頭調用它.

If you are uncertain then you can call that in the start of your render method.

這篇關于了解 libGDX 投影矩陣的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Why does the android emulator camera stop unexpectedly?(為什么android模擬器相機會意外停止?)
Android camera , onPictureTaken(byte[] imgData, Camera camera) method amp; PictureCallback never called(Android camera , onPictureTaken(byte[] imgData, Camera camera) 方法 amp;PictureCallback 從未調用過) - IT屋-程序員軟件開發技
QR code reading with camera - Android(使用相機讀取二維碼 - Android)
IP camera with OpenCv in Java(Java中帶有OpenCv的IP攝像頭)
Android mock Camera(Android 模擬相機)
Multiple cameras in libgdx ( probably similar in other frameworks )(libgdx 中的多個攝像頭(在其他框架中可能類似))
主站蜘蛛池模板: 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 沈阳缠绕包装机厂家直销-沈阳海鹞托盘缠绕包装机价格 | 学生作文网_中小学生作文大全与写作指导 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 江苏大隆凯科技有限公司| 没斑啦-专业的祛斑美白嫩肤知识网站-去斑经验分享 | 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 市政路灯_厂家-淄博信达电力科技有限公司 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 网站优化公司_北京网站优化_抖音短视频代运营_抖音关键词seo优化排名-通则达网络 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 我爱古诗词_古诗词名句赏析学习平台 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 营养师网,营养师考试时间,报名入口—网站首页 | 隧道窑炉,隧道窑炉厂家-山东艾瑶国际贸易 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 昆明挖掘机修理厂_挖掘机翻新再制造-昆明聚力工程机械维修有限公司 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 锂电池砂磨机|石墨烯砂磨机|碳纳米管砂磨机-常州市奥能达机械设备有限公司 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 台式恒温摇床价格_大容量恒温摇床厂家-上海量壹科学仪器有限公司 | 浙江红酒库-冰雕库-气调库-茶叶库安装-医药疫苗冷库-食品物流恒温恒湿车间-杭州领顺实业有限公司 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | 卸料器-卸灰阀-卸料阀-瑞安市天蓝环保设备有限公司 | 山东螺杆空压机,烟台空压机,烟台开山空压机-烟台开山机电设备有限公司 | 楼梯定制_楼梯设计施工厂家_楼梯扶手安装制作-北京凌步楼梯 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 光伏家 - 太阳能光伏发电_分布式光伏发电_太阳能光伏网 |