如何在libgdx中创建正确的地形摄影机

奥默尔·奥泽尔

因此,我很难理解拼字相机在libgdx中的工作方式。

我想要的是拥有一台只能在一个正方形内渲染事物的相机,而让另一台相机设置整个屏幕的边界。

在此处输入图片说明

因此,在这里,我可以在整个屏幕上完成游戏手柄所需的操作。但是,您在右上角看到的是游戏的背景图,我想渲染仅落在您在此处看到的红色方块内的部分。我该如何实现?

相机应该这样做吗?还是我需要找出一种手动的方法?对于相机和投影矩阵的工作方式,我确实感到困惑。

在此屏幕上,使用我的屏幕摄像机的投影矩阵绘制了左侧的红色方块和绿色垫。该地图(右上方)是使用我的地图摄像头绘制的。

Map cam是一个400x400的视口,但正如您所看到的,这些图块是矩形的,并不是我想要的宽高比。如果有人可以简要说明相机的工作原理,我将不胜感激。

我之所以未在此处发布代码,是因为我觉得我需要了解相机的工作原理,以便甚至对其进行正确的编码,因此我想首先解决该问题。

遵循@ Tenfour04的建议,效果很好。万一有人想知道我想要实现什么。这是一张照片。

在此处输入图片说明

Tenfour04

单凭相机无法裁剪掉屏幕的一部分。为此,您需要使用glViewport。Libgdx中已经有一个Viewport类可以为您完成此操作。您将需要两个正交摄影机(一个用于地图,一个用于GUI),但是视口可以创建自己的照相机。

private Viewport viewport;

//in create:
viewport = new FitViewport(400, 400);

//in resize:
viewport.update(width, height);

//in render:
viewport.getCamera().position.set(/*...move your map camera as needed*/);
viewport.apply(); //viewport cropped to your red square
batch.setProjectionMatrix(viewport.getCamera().combined);
batch.begin();
//draw map
batch.end();

//return to full screen viewport
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); 

batch.setProjectionMatrix(yourGUICamera.combined);
batch.begin();
//draw gui
batch.end();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Libgdx正交摄影机初始位置

来自分类Dev

Libgdx,正交摄影机延迟

来自分类Dev

如何在功能组件(摄影机)中使用ref

来自分类Dev

OpenCV + OpenGL:使用solvePnP设置正确的摄影机姿势

来自分类Dev

OpenCV + OpenGL:使用solvePnP设置正确的摄影机姿势

来自分类Dev

关闭网路摄影机

来自分类Dev

如何在带有Sketchup Ruby API的3x4 2D投影(RT)矩阵中更改Sketchup中的摄影机方向?

来自分类Dev

如何旋转textureView以显示摄影机预览

来自分类Dev

如何找出网路摄影机的最大影格速率?

来自分类Dev

在Unity中调整正交摄影机的大小

来自分类Dev

根据与摄影机的距离在threejs中获取人脸

来自分类Dev

在Unity中调整正交摄影机的大小

来自分类Dev

如何在Three.js中为摄影机设置动画以查看对象?

来自分类Dev

LibGDX正交摄影机:将边框设为黑色而不是白色(java)

来自分类Dev

C ++ OpenGL堰式摄影机

来自分类Dev

Unity正射摄影机尺寸属性

来自分类Dev

正交摄影机投影矩阵

来自分类Dev

摄影机意图破坏活动

来自分类Dev

摄影机意图与活动/片段

来自分类Dev

fileNotFoundException摄影机意图-Android

来自分类Dev

正交摄影机不显示PlaneBufferGeometry

来自分类Dev

OpenGL球形摄影机:立方体渲染不正确

来自分类Dev

Flash AS3 | 创建摄影机/移动视口/缩放

来自分类Dev

如何设置摄影机仅在x方向上追逐实体?

来自分类Dev

从摄影机视图移出时如何处理子画面?

来自分类Dev

使用OpenCV Mogdetector和实时摄影机Feed中的C ++进行背景扣除

来自分类Dev

是否可以在Windows中显示像摄影机一样的视频选择器?

来自分类Dev

OpenTK中的第一人称摄影机问题

来自分类Dev

没有摄影机渲染,而Unity Engine中只有一个场景

Related 相关文章

  1. 1

    Libgdx正交摄影机初始位置

  2. 2

    Libgdx,正交摄影机延迟

  3. 3

    如何在功能组件(摄影机)中使用ref

  4. 4

    OpenCV + OpenGL:使用solvePnP设置正确的摄影机姿势

  5. 5

    OpenCV + OpenGL:使用solvePnP设置正确的摄影机姿势

  6. 6

    关闭网路摄影机

  7. 7

    如何在带有Sketchup Ruby API的3x4 2D投影(RT)矩阵中更改Sketchup中的摄影机方向?

  8. 8

    如何旋转textureView以显示摄影机预览

  9. 9

    如何找出网路摄影机的最大影格速率?

  10. 10

    在Unity中调整正交摄影机的大小

  11. 11

    根据与摄影机的距离在threejs中获取人脸

  12. 12

    在Unity中调整正交摄影机的大小

  13. 13

    如何在Three.js中为摄影机设置动画以查看对象?

  14. 14

    LibGDX正交摄影机:将边框设为黑色而不是白色(java)

  15. 15

    C ++ OpenGL堰式摄影机

  16. 16

    Unity正射摄影机尺寸属性

  17. 17

    正交摄影机投影矩阵

  18. 18

    摄影机意图破坏活动

  19. 19

    摄影机意图与活动/片段

  20. 20

    fileNotFoundException摄影机意图-Android

  21. 21

    正交摄影机不显示PlaneBufferGeometry

  22. 22

    OpenGL球形摄影机:立方体渲染不正确

  23. 23

    Flash AS3 | 创建摄影机/移动视口/缩放

  24. 24

    如何设置摄影机仅在x方向上追逐实体?

  25. 25

    从摄影机视图移出时如何处理子画面?

  26. 26

    使用OpenCV Mogdetector和实时摄影机Feed中的C ++进行背景扣除

  27. 27

    是否可以在Windows中显示像摄影机一样的视频选择器?

  28. 28

    OpenTK中的第一人称摄影机问题

  29. 29

    没有摄影机渲染,而Unity Engine中只有一个场景

热门标签

归档