问题标签 [terrain]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1364 浏览

c++ - 如何使用 Marching Squares 生成位图的多边形网格?

我需要能够准确地检测与任何位图地形的碰撞并做出反应,最好的方法似乎是使用 Marching Squares 生成多边形网格,然后我可以将其与 Bullet 等物理引擎一起使用,这将是比我自己写的任何东西都要好。

问题是,虽然我看到很多人提到使用行进广场来做到这一点,但我找不到任何解释如何!我什至无法找到任何关于 Marching Squares 算法本身的特别好的解释/教程,尽管我认为我从我发现的内容中非常了解它。我想不通的是如何从 MS 给我的线条中创建多边形。

我找到了这个,这几乎正是我想要做的,但我要么需要为 C++ 找到一个类似的物理库,要么自己编写网格生成。

http://deltaluca.me.uk/docnew/swf/DestructableTerrain.html

我不想简单地查看物理引擎的源代码以了解它是如何工作的,因此希望某个地方知道一个可以更好地解释该过程的地方!C++ 中的任何东西都是首选,但如果过程解释得当,其他语言应该没问题。

0 投票
2 回答
2247 浏览

java - 排列地形块(菱形算法)

我正在编写一个使用 Minecraft-esque 块的地形引擎。使用Diamond-square 算法单独生成块。

问题是这些块没有排列,它们是完全分开的。我已经尝试了很多事情来让他们这样做,但到目前为止,没有任何事情能起到应有的作用。

编辑:另外,我试图创造的世界不是无限的;它生成一个 33x33 的块数组,每个块都有一个由另一个菱形正方形生成器分配的全局高度值。

有没有一种(简单的,最好的)方法来修改菱形引擎以使块对齐?

0 投票
2 回答
4494 浏览

c++ - 寻找基于四叉树的 LOD 地形的示例

我一直在搜索谷歌和亚马逊,但在基于四叉树的 LOD 地形上找不到任何合适的资源。有些人只是解释了粗略的概念,但这是我已经知道的,我需要的是带有一些评论的示例。

0 投票
1 回答
1077 浏览

textures - 如何在 DirectX9 C++ 中对平铺的 3D 地形进行纹理处理?

我对网格本身的操作没有任何问题,但是每个瓦片(基本上是 4 个顶点的正方形,整个地形网格由瓦片网格组成)必须能够被赋予我选择的不同纹理。所以到目前为止,我只能给网格 1 纹理并通过更改顶点缓冲区中 CUSTOMVERTEX-es 的 UV 值使其重复。但是我不能像这里一样制作不同的瓷砖纹理:http: //classic.battle.net /war3/images/neutral/heroes/ss02.jpg - 你可以看到侧面有草瓦和一些泥瓦,左边有一些砾石。

我有一个愚蠢的想法,将每个瓷砖制作成单独的网格,但这只是......更重,纹理没有很好地夹住。我确信必须有一些功能让我纹理单独的地形网格:(

0 投票
1 回答
974 浏览

java - 在 OpenGL 中制作 2D 地形的问题

前段时间我问过这个问题,关于如何使用 opengl 顶点制作 2D 地形。我得到了一个很好的答案,但是在尝试时它没有画出任何东西,我不知道出了什么问题,或者如何解决它。

我现在有这个:

这是由 Libgdx 渲染的,它也提供了类 Mesh,但这并不真正相关,因为我相信它可以正常工作。我的问题在于顶点和索引的生成。我也不知道如何调试它,所以任何人都可以看看它,并帮助我找出为什么什么都没有渲染?

0 投票
1 回答
1535 浏览

android - Android - 以错误的比例绘制位图

为了好玩,我一直在研究一个简单的基于瓷砖的地形生成器,但遇到了一些问题。

一、资料:

设备:宏碁 Iconica a500

操作系统:ICS

目标版本:3.1+

可用屏幕分辨率:1280x752

编程于:Eclipse / AIDE

所以,现在的问题:

我正在使用的所有瓷砖都被绘制得比它们应该的大。Tehy 都是 32x32 .png 文件,但它们都以 43 x 43 的分辨率绘制在屏幕上。从我读到的内容来看,这可能与它们被绘制到的画布的密度有关,所以我试图通过添加来修复它

不幸的是,这并没有解决问题。我也尝试对单个位图进行相同的操作,但无济于事。

我试图在 Stack 和其他地方找到解决方案,但到目前为止还没有运气。

有谁知道如何解决这一问题?

先感谢您。这是我的绘图类的完整代码:(我知道这段代码可能有很多问题,我是一名业余程序员。欢迎提出建设性的批评)

0 投票
2 回答
1480 浏览

java - 3D:如何渲染/创建地形

我正在开发 3D 游戏,现在我必须将每个对象放入代码中。那么有没有办法让编辑器在 Java OpenGL 中放置对象?

最好是把整个世界(它有点大)做成一个大网格还是用另一种方式更好?

0 投票
2 回答
464 浏览

google-maps - 如何实现google maps 地形看INURL

我正在使用这个网址:

http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Zagreb,+Croatia&aq=&sll=45.808351,15.897484&sspn=0.010066,0.016544&vpsrc=0&ie=UTF8&hq=&hnear=Zagreb,+Croatia&t= m&z=14&ll=45.794222,16.048298&输出=嵌入

我需要添加什么以及在哪里使地形看起来不是默认显示的?

谢谢

0 投票
1 回答
339 浏览

javascript - ThreeJS中的平原地形

我正在尝试使用 ThreeJS 绘制平面地形,但它不起作用。

这是我的飞机创建代码:

很直接。其实我只是从某个网站复制的。

这就是我初始化场景和相机的方式:

我的中心还有一个半径为 20 的球体。它显示得很好。

我错过了什么?

0 投票
1 回答
198 浏览

android - 需要减少正在加载的位图数量(静态位图引用?)

我一直在为我正在尝试构建的游戏开发一个简单的基于图块的地形生成系统,但遇到了一些障碍。我正在尝试开发一种新方法来选择和存储单个图块所需的位图。我有一个非常简单的方法,在我运行世界绘图之前,所有位图都已加载,并且位图是根据它是哪种类型的图块来选择的。

不幸的是,当我在瓷砖和世界类型上添加变化时,选择过程可能会变得相当复杂。因此,将数据存储在 tile 对象中似乎是一个好主意,以及确定它将是哪个 tile 所需的所有规则。

我遇到的问题是这种方法导致我为每个图块加载位图的副本,而不仅仅是加载指向位图的指针。反过来,这会占用我的内存并导致我的 GC 有点混乱。

我正在寻找的是一种简单的方法来创建指向将要使用的不同位图的静态指针,然后在平铺对象中引用这些指针,而不是加载位图的新副本。我遇到的问题是我无法在没有上下文引用的情况下加载位图,而且我不知道如何在静态方法中引用上下文。

有没有人对如何解决这个问题有任何想法?

这是我的 tile 类,以及 tile 类型类的示例(它们几乎都相同)

瓦片:包com.psstudio.hub.gen;

瓷砖类型(草):

“holder = BitmapFactory”是我认为导致我的问题的原因,因为它为每个草瓦加载一个新的位图,而不仅仅是指向一个预加载的位图。