问题标签 [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.
xna - XNA 地形生成器问题
我正在学习本教程,但遇到了一些问题。 http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series1/Terrain_from_file.php 我使用页面底部的代码并构建它给了我这个错误
好吧,这看起来真的很可怕。
我正在做的是在 XNA 4.0 中运行它,我认为这来自 XNA 3.0 我不认为应该有任何问题,但以防万一。感谢您对此的任何帮助
2d - 存储基于像素的世界数据
我正在制作具有可破坏地形的 2d 游戏。它将在 iOS 上,但我正在寻找想法或伪代码,而不是实际代码。我想知道如何存储大量数据。(这将是一个大世界,大约 64000 像素宽和 9600 高。每个像素都需要一种方法来存储它是什么类型的对象。)我希望使用 2D 数组,但快速负载测试表明这是不可行的(即使使用 640x480 网格,我的速度也低于 1 fps)我也尝试了这里详述的方法:http: //gmc.yoyogames.com/index.php?showtopic= 315851(我曾经使用 Game Maker 并记住了这种方法)但是似乎有点麻烦,并且再次重新组合对象几乎是不可能的。那么还有哪些其他方法呢?有谁知道蠕虫是如何工作的?那么图像编辑器呢,他们如何存储每个像素的颜色?谢谢你,YM
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.com)
我在 MC 示例中看到人们正在使用一种叫做“iso values”的东西,我不明白。任何关于如何改进我的工作的建议,或者什么是 iso 值,以及如何在统一的网格中实现它都会非常可爱。
c++ - 隐形地形
我正在使用 GL_TRIANGLE_STRIP 将地形绘制到屏幕上,但是当我编译并运行程序时,我什么也得不到。当我将 GL_TRIANGLE_STRIP 更改为 GL_LINES 时,它会显示并工作。我该怎么做才能让它与 GL_TRIANGLE_STRIP 一起工作?
我不确定这是否重要,但对于我的地形,我有使其成为 3d 高斯分布的代码。
c++ - 如何在 C++ 中编写菱形平方算法?
可能重复:
菱形平方算法
我正在尝试使用菱形正方形算法在我的 2D 游戏中生成地形。我找到了许多解释算法的资源,但没有一个真正展示如何在 C++ 中实现它。我正在创建一个基于图块的游戏,并希望使用该算法生成一个随机世界(水、沙、草、山)。我的计划是使用菱形平方算法的值来确定瓷砖。前任。如果该值小于 1,则为水。如果该值大于 10,则为山。等等。
所以基本上我要问的是,有没有人有我可以查看和调整的菱形正方形算法的 C++ 示例?
java - 将 3D 数组转换为 3D 模型
我正在尝试找到一种可用于将 3D Java 数组转换为 3D 体素模型的软件。我正在用 Java 开发体素地形生成器,我需要一些方法来可视化 3 维整数数组。什么软件(或 API)适合这个目的?
此外,我要转换的数组是一个 3D 整数数组,其中每个整数都应对应于具有特定颜色的体素。
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
我的问题:我怎样才能在区域文件中紧凑地存储这么多信息并在以后阅读它们?
c - 如何将地形写入 .raw 文件?
我想通过 Perlin 噪声生成地形并将其存储到 .raw 文件中。
从Nehe 的 HeightMap 教程中,我知道 .raw 文件的读取方式如下:
}
pHeightMap
是一维的,所以我不明白如何将 x,y 对应于高度值。我打算在 Ken Perlin 的页面上使用libnoise或noise2 函数,使 1024x1024矩阵中的每个值对应于点的高度,但是 .raw 文件存储在一个维度中,我该如何制作 x,你的通信工作在那里?
xna - 从高度图渲染的地形大小
我对 XNA 很陌生,所以如果我问了一个“愚蠢”的问题,但我找不到答案,请原谅。
我对从高度图渲染的地形有问题:我得到的地形太小,我的游戏需要更大的东西,但我想保持高度 tdata 更新 - 所以我可以稍后检查碰撞。(高度数据是一个二维数组,它保存每个点的高度 - 在我的程序中它被称为“dateInaltime”)。
问题是,如果我修改地形的比例,碰撞检查器将使用旧值(来自原始/小地形),所以我会得到错误的碰撞点。
我的地形类看起来像这样。
如何使地形更大,同时扩展高度数据数组?