问题标签 [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 投票
1 回答
1055 浏览

xna - XNA 地形生成器问题

我正在学习本教程,但遇到了一些问题。 http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series1/Terrain_from_file.php 我使用页面底部的代码并构建它给了我这个错误

好吧,这看起来真的很可怕。

我正在做的是在 XNA 4.0 中运行它,我认为这来自 XNA 3.0 我不认为应该有任何问题,但以防万一。感谢您对此的任何帮助

0 投票
2 回答
272 浏览

2d - 存储基于像素的世界数据

我正在制作具有可破坏地形的 2d 游戏。它将在 iOS 上,但我正在寻找想法或伪代码,而不是实际代码。我想知道如何存储大量数据。(这将是一个大世界,大约 64000 像素宽和 9600 高。每个像素都需要一种方法来存储它是什么类型的对象。)我希望使用 2D 数组,但快速负载测试表明这是不可行的(即使使用 640x480 网格,我的速度也低于 1 fps)我也尝试了这里详述的方法:http: //gmc.yoyogames.com/index.php?showtopic= 315851(我曾经使用 Game Maker 并记住了这种方法)但是似乎有点麻烦,并且再次重新组合对象几乎是不可能的。那么还有哪些其他方法呢?有谁知道蠕虫是如何工作的?那么图像编辑器呢,他们如何存储每个像素的颜色?谢谢你,YM

0 投票
1 回答
4160 浏览

c++ - Marching Cubes,体素,需要一些建议

我正在尝试构建一个适当的可破坏地形,仅用于研究目的。好吧,一切都很顺利,但分辨率还不够让我满意。我已经看过很多人们如何实现 MC 算法的示例,但据我所知,其中大多数使用函数对最终网格进行三角剖分,这不适合我。

我将尝试简要解释我是如何构建我的地形的,也许你们中的一些人会给我建议如何改进或提高最终地形的分辨率。

1) 预先计算 MC 三角形。

我正在为每个案例(0-255)运行简单的循环遍历 MC 查找表并计算愤怒的三角形:[0,0,0] - [1,1,1]。这里没有问题。

2) 地形

我有地形类,它存储我的体素。一般来说,它看起来像这样:

因此,每个轴的长度为 32 个单位,但是,我存储每个位的体素信息。意思是如果位打开(1),有一些东西,应该有一些东西。

我有几个功能:

打开或关闭体素的位置。(有助于使用位)。

一旦分配了地形,我就会运行 perlin 噪声,并打开或关闭位。

我的地形类还有一个功能,从 x,y,z 位置提取 Marching Cubes 案例编号 (0-255):

通过确定该体素的邻居是打开还是关闭。这里没有问题。

3) 渲染部分

我正在循环每个轴,提取案例编号,然后按案例获取预先计算的三角形,转换为 x、y、z 坐标,并绘制这些三角形。这里没有问题。

所以结果看起来像这样:

地形

但正如您所看到的,在任何单个位置,分辨率都无法与例如此相比:( 来源:angelfire.comMC

我在 MC 示例中看到人们正在使用一种叫做“iso values”的东西,我不明白。任何关于如何改进我的工作的建议,或者什么是 iso 值,以及如何在统一的网格中实现它都会非常可爱。

0 投票
2 回答
282 浏览

c++ - 隐形地形

我正在使用 GL_TRIANGLE_STRIP 将地形绘制到屏幕上,但是当我编译并运行程序时,我什么也得不到。当我将 GL_TRIANGLE_STRIP 更改为 GL_LINES 时,它会显示并工作。我该怎么做才能让它与 GL_TRIANGLE_STRIP 一起工作?

我不确定这是否重要,但对于我的地形,我有使其成为 3d 高斯分布的代码。

0 投票
1 回答
6617 浏览

c++ - 如何在 C++ 中编写菱形平方算法?

可能重复:
菱形平方算法

我正在尝试使用菱形正方形算法在我的 2D 游戏中生成地形。我找到了许多解释算法的资源,但没有一个真正展示如何在 C++ 中实现它。我正在创建一个基于图块的游戏,并希望使用该算法生成一个随机世界(水、沙、草、山)。我的计划是使用菱形平方算法的值来确定瓷砖。前任。如果该值小于 1,则为水。如果该值大于 10,则为山。等等。

所以基本上我要问的是,有没有人有我可以查看和调整的菱形正方形算法的 C++ 示例?

0 投票
1 回答
424 浏览

java - 将 3D 数组转换为 3D 模型

我正在尝试找到一种可用于将 3D Java 数组转换为 3D 体素模型的软件。我正在用 Java 开发体素地形生成器,我需要一些方法来可视化 3 维整数数组。什么软件(或 API)适合这个目的?

此外,我要转换的数组是一个 3D 整数数组,其中每个整数都应对应于具有特定颜色的体素。

0 投票
1 回答
1841 浏览

c# - 3d 平铺地形

我正在尝试使用 XNA 创建 3D 平铺地形。我查看了有关如何操作的教程
(Riemers 和Allens)。Allens 教程有一个我想要达到的确切结果,
但是我不确定性能 - 似乎他正在使用单个四边形来绘制
所有地形并使用像素着色器对其进行处理,这意味着 - 整个地形将在
每一帧中处理。
目前我正在为每个图块(示例)绘制一个四边形 - 它只允许绘制
可见图块,但这也意味着需要在每
帧中处理更多的顶点,并且调用了很多“DrawIndexedPrimitives”。
我做得对还是艾伦的方式更快?有没有办法更好地制作平铺地形?
谢谢。

0 投票
2 回答
244 浏览

java - 如何优化我的自定义地图格式(Java)

我正在创建一个使用高度图的大型开放世界(200×200 公里)的 3D 游戏。我将高度图划分为 200×200 = 40,000 个 1000×1000 米的区域,然后再次划分为 20×20 = 400 个 50×50 米的块。高度图是从 PNG 文件生成的。

我正在考虑存储地形的方法。我尝试了一些方法,但它会生成每个区域大约 16MB 的文件,对于整个世界(40,000 个区域)来说是 640GB。

可以在此处找到区域文件的示例:http: //updo.nl/file/e10ce974.umap

我的问题:我怎样才能在区域文件中紧凑地存储这么多信息并在以后阅读它们?

0 投票
1 回答
483 浏览

c - 如何将地形写入 .raw 文件?

我想通过 Perlin 噪声生成地形并将其存储到 .raw 文件中。

Nehe 的 HeightMap 教程中,我知道 .raw 文件的读取方式如下:

}

pHeightMap是一维的,所以我不明白如何将 x,y 对应于高度值。我打算在 Ken Perlin 的页面上使用libnoise或noise2 函数,使 1024x1024矩阵中的每个值对应于点的高度,但是 .raw 文件存储在一个维度中,我该如何制作 x,你的通信工作在那里?

0 投票
1 回答
695 浏览

xna - 从高度图渲染的地形大小

我对 XNA 很陌生,所以如果我问了一个“愚蠢”的问题,但我找不到答案,请原谅。

我对从高度图渲染的地形有问题:我得到的地形太小,我的游戏需要更大的东西,但我想保持高度 tdata 更新 - 所以我可以稍后检查碰撞。(高度数据是一个二维数组,它保存每个点的高度 - 在我的程序中它被称为“dateInaltime”)。

问题是,如果我修改地形的比例,碰撞检查器将使用旧值(来自原始/小地形),所以我会得到错误的碰撞点。

我的地形类看起来像这样

如何使地形更大,同时扩展高度数据数组?