标签: terrain

OpenGL:纹理坐标实时变化的地形的最佳渲染方法?

我需要为我的地形纹理实时渲染渲染动画; 这样做的最佳渲染方法是什么?通过调整纹理坐标来完成动画.

我有一个预先构建的数组用于所有动画帧纹理坐标,如果你让opengl知道所有的动画帧或什么东西,有没有办法让动画更快地渲染?

地形多边形位置也可能几乎实时变化......它不是高度图.我想用for循环或其他东西一次只渲染一部分地形.

目前我正在使用显示列表,并且更新它们的速度非常慢......但是到目前为止,渲染它们的速度最快.

c++ opengl rendering terrain

2
推荐指数
1
解决办法
1937
查看次数

2D Java地形生成器

如何在2D游戏中随机形成孤岛?我不知道怎么开始!

void generateMap()
{
    blocks.clear();
    for(int x = 0; x < 150; x++)
    {
        for(int y = 0; y < 150; y++)
        {
            if(Math.random() < 0.5)
                blocks.add(new Block(x * Block.blockSize, y * Block.blockSize, eBlockType.GRASS));
            else
                blocks.add(new Block(x * Block.blockSize, y * Block.blockSize, eBlockType.WATER));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

PIC

java 2d terrain

2
推荐指数
1
解决办法
2538
查看次数

确定位置的地形类型

我正在尝试确定任意位置的地形类型。例如,如果我使用谷歌地图,我可以通过地图上显示的颜色直观地看到什么地形是森林、建筑区域和水域。

我正在尝试查看是否可以使用任何类型的 API 调用来获取此基本信息。我不需要它非常精确,而且我真的不需要确定确切的地形类型(所以像 Corine Land Cover 这样的东西纯粹是矫枉过正)。我需要每隔几分钟提出一些这样的请求。我发现一个大约三年前提出的问题并没有真正解决,我希望现在有所改变。

有什么我可以用的吗?我实际上正在考虑自己读取显示的地图图块并获取像素颜色,但如果有更简单的方法,我将不胜感激。

maps google-maps terrain google-maps-api-3

2
推荐指数
1
解决办法
716
查看次数

如何在代码中更改地形纹理

我想通过代码更改地形纹理的偏移量(2)。我添加了道路图像作为地形上的纹理。我在网上找到了相关代码,但我无法弄清楚渲染器在这种情况下的作用。

除了代码之外,我只想知道通过代码更改纹理应该采取的第一步。(基本设置)。还有请提一下渲染器的作用。

在此输入图像描述

c# textures renderer terrain unity-game-engine

2
推荐指数
1
解决办法
5289
查看次数

如何将多个 3D 对象合并为单个网格以消除视觉故障?

我一直在使用 JavaFX 3D 进行大量体素地形生成。出于某种原因,每当我生成风景时,风景的右侧总会有这些奇怪的黑线。我已经尝试更改PerspectiveCamera的近和远剪辑值,但它们似乎没有效果。如果您需要,我的近剪辑值设置为0.1,我的远剪辑值设置为100000.0

这是我的程序的图片,如您所见,主要在风景的右侧存在明显的视觉故障。

我很确定视觉故障是由每个立方体都是它自己的对象这一事实引起的。所以在上图中,我创建了 22500 个立方体对象,并用调整后的颜色放置它们以形成景观。

有没有办法创建一个巨大的网格来替换我的大量立方体对象,同时仍然保留颜色?

感谢你的帮助!

java javafx mesh terrain javafx-3d

2
推荐指数
1
解决办法
480
查看次数

游戏中的地形和碰撞

我正在尝试创建一个新的游戏,其中车辆沿着地面行驶,但也有能力使用推进器暂时空降.

我对游戏编程比较陌生,但我擅长编写Java,C,C++等编码,所以我不认为这应该是一个问题(认为游戏的第一次迭代是用Java编写的).我的问题是,我从头开始,并没有想到地形成为障碍的方式,因此车辆不会直接通过它.我怎么能让它们受到坠落伤害呢?

在过去,人们已经把我带到了副本岛,因为它已经存在了,我看到整个碰撞系统,但到目前为止我还没有理解它,我希望有人愿意借给我一只手.

谢谢

-Roflha

java android terrain game-physics

1
推荐指数
1
解决办法
2952
查看次数

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

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

c++ opengl quadtree terrain

1
推荐指数
1
解决办法
4305
查看次数

C++ OpenGL螺纹地形崩溃

在此输入图像描述

目的是什么:

我对线程比较陌生.我一直在尝试制作四叉树渲染的地形,这将快速有效地渲染.如果全部处于最大细节,则当前渲染的地形量将主要滞后于用户.这就是我使用QuadTree渲染它的原因.该引擎还支持输入和物理,因此我决定使用渲染线程.这导致了很多问题.

问题('s): 当我没有线程时,由于引擎中的其他系统存在一些滞后.造成延迟的主要原因是QuadTree中地形的加载和删除(我甚至不确定这是否是最佳方式.)现在,渲染发生得非常快,并且似乎没有滞后.当相机静止不动时,游戏运行良好.我让游戏运行了一个小时,没有发现崩溃.

加载terrain时,它使用渲染代码使用的几个变量.即,绑定缓冲区 -

    glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
    glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(glm::vec3), &vertices[0], GL_STATIC_DRAW);

    glBindBuffer(GL_ARRAY_BUFFER, normalbuffer);
    glBufferData(GL_ARRAY_BUFFER, normals.size() * sizeof(glm::vec3), &normals[0], GL_STATIC_DRAW);

    glBindBuffer(GL_ARRAY_BUFFER, uvbuffer);
    glBufferData(GL_ARRAY_BUFFER, uvs.size() * sizeof(glm::vec2), &uvs[0], GL_STATIC_DRAW);
Run Code Online (Sandbox Code Playgroud)

我认为这个变量与另一个线程同时被访问.这会导致崩溃.如何解决这个问题?我尝试过使用互斥锁,但这似乎不起作用.我将锁定和解锁互斥锁以解决此问题?

另一个似乎导致相同错误的变量是"IsLeaf".

加载大量地形后会导致另一次崩溃(std :: badAlloc).即使它正在清理.我认为这是由于我的删除代码,但我不知道什么是错的.

我当前添加和删除切片的方式是从相机检查范围并删除/创建切片.我想渲染我正在打开的瓷砖和它周围的瓷砖.但是,从4个主要切片中的一个切换时,这不起作用.使用范围创建不起作用,因为它是大瓷砖中心的范围而不是较小的瓷砖.我也尝试每隔几秒删除整个地图,这似乎也有效但但滞后更多.有没有更好的方法来创造和破坏?

在不同的决议之间存在差距.反正有减少这些吗?目前我渲染的瓷砖比它们需要的大一点,但这对主要的分辨率变化没有帮助.

如果您有任何想法如何解决其中一个错误,我们将不胜感激.

代码(这里上传太多了)

http://pastebin.com/MwXaymG0

http://pastebin.com/2tRbqtEB

c++ opengl multithreading quadtree terrain

1
推荐指数
1
解决办法
620
查看次数

Unity3D大地图建议 - 有多大太大了?

使用Unity3D引擎.我正在使用Unity的标准网络制作多人游戏.如果服务器拥有25-50名玩家,建议使用哪种地图尺寸?在它对于有效的游戏玩法来说太大之前,我可以制作一个非常详细的地图有多大?如何优化大型地图?任何想法和建议都会很棒,我只是想学习,在谷歌上找不到任何关于这个的东西:D

*我的地图被分成不同的部分.

c# boo terrain unity-game-engine

0
推荐指数
1
解决办法
7745
查看次数

没有 Three.js 的 Javascript 3d 地形

我已经四处搜索,但找不到任何像我正在尝试做的那样不以某种方式使用 Three.js 的东西(我无法使用 Three.js,因为我的计算机太旧了,无法支持 Webgl)。这是我到目前为止所得到的:

HTML:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="terrain.js"></script>
    <title>Terrain</title>
</head>
<body>
<canvas id="canvas" height="400" width="400"></canvas>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

var canvas, ctx, row1 = [], row2 = [], intensity = 15, width = 20, height = 20, centery = 200, centerx = 200, minus, delta = 1.6, nu = .02;

window.onload = function() {
    canvas = document.getElementById('canvas'), ctx = canvas.getContext('2d');
    ctx.lineStyle = '#000'
    for (var i = 0; i < height; i++) {
        row2 = []; …
Run Code Online (Sandbox Code Playgroud)

javascript terrain html5-canvas

0
推荐指数
1
解决办法
2312
查看次数

立方体正在穿过地形 - Unity3D

我有一个地形和立方体。地形附加了地形对撞机,立方体上有盒子对撞机。但是立方体仍然在地形中坠落。我尝试了其他问题和其他论坛中解释的很多事情,但没有一个解决了问题。立方体和地形设置的屏幕截图附在下面。

立方体设置: 立方体设置

地形设置: 地形设置

terrain unity-game-engine collider

0
推荐指数
1
解决办法
4025
查看次数

有关地形编辑器的好教程吗?

我是3D游戏编程的新手,现在正在Windows上研究DirectX和OpenGL.但我想出了一个地形编辑器,但我无法在网上获得任何开放的教程或想法.

有没有一个很好的教程或开源代码来学习这个?

简单的一个很好,我只是想知道如何提升或降低地形,或在地图上放一棵树,如下面的视频.

如下视频:http://www.youtube.com/watch?v =oaAN4zSkY24

opengl directx terrain game-engine heightmap

-1
推荐指数
1
解决办法
1792
查看次数

我的自定义地形生成插件实例化为大量预制件

问题是:通常情况下,脚本应该在周围的玩家一个立方体产生16个预制件,当我启动它工作得很好,因为它呼吁启动功能的产生,但是当我在另一块步骤与第一人控制它生成那些16块每秒钟,它会产生很多滞后现象并且真的很糟糕,不应该产生那么多预制件,任何帮助都非常值得赞赏.非常感谢你.

我不认为这是一个大问题,因为这是允许的,但在连续几天尝试解决这个问题之后,它似乎仍然无法正常工作.所以这就是我得到的:

  • 第一人称控制器
  • 2个脚本
    • 一个名为infiniteTerrain附加到第一个人控制器
      的脚本脚本的简短描述:该脚本以立方体的形状生成围绕玩家的预制件.它还将这些块保存到.txt文件中,以便在需要时加载它们以最小化滞后量.
    • 一个命名的脚本chunkRename附加到生成的每个块
      上脚本的简短描述:重命名块,以便在另一个脚本中轻松访问它们.

以下是脚本:

infiniteTerrain.js

#pragma strict

var terrains : GameObject[];
var newworld = true;
var trees : GameObject[];
var vegetation : GameObject[];
var rivers : GameObject[];
var mountains : GameObject[];
var playerTerrainUnavailable = false;
var x = 50;
var z = 50;
var y = 100;
var cameraDirection : float;
var chunkWidth = 50;

var chunk1 = " ";
var chunk2 = " ";
var …
Run Code Online (Sandbox Code Playgroud)

terrain unity-game-engine unityscript

-7
推荐指数
1
解决办法
542
查看次数