问题标签 [unity3d-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 投票
5 回答
3661 浏览

c# - Unity,得到“实际”的当前地形?

Unity 有一个 Terrain.sampleHeight(point)很棒的功能,它可以立即为您提供脚下地形的高度,而无需投射。

然而,任何重要的项目都有不止一个地形。(事实上​​,任何物理上大的场景都不可避免地具有地形拼接,一种或另一种方式。)

Unity 有一个功能Terrain.activeTerrain——我不是编造的——给你:“第一个加载”

显然这是完全没用的。

事实上,有没有一种快速的方法可以让地形“在你之下”?然后可以使用快速功能.sampleHeight吗?

{请注意,当然,您可以... 施法以找到您下方的地形!但是你会有你的高度,所以没有必要担心.sampleHeight!}

简而言之,是否有一个匹配的函数sampleHeight可以让该函数知道对于给定的 xyz 使用哪个地形?

(或者实际上,sampleHeight只是一个相当无用的演示功能,只能在具有一个地形的演示中使用?)

0 投票
2 回答
448 浏览

c# - 隐藏玩家时隐藏树木

我创建了一个与地形和一些模型相结合的 3D 游戏,玩家可以去任何他想去的地方,并且摄像机会跟随他。

我的问题是当用户在一棵树后面时,如何使树透明?

我已经使用 Ray 投射对其他模型进行了处理,但是树木是地形的一部分,因此我得到的是地形材质而不是特定的树木。

有任何想法吗?

提前致谢

0 投票
1 回答
1958 浏览

c# - 在运行时将地形设置为特定高度?

当前脚本所在对象下的地形,地形将达到最大高度。我可以以某种方式将其设置为指定的高度吗?

我没有尝试太多,因为我不知道这是如何工作的太好了..

我希望有一个输入并将高度设置为输入的高度。

示例:输入 = 10 物体下的地形变为 10

实际输出:输入 - 物体下的 10 地形变为 600

0 投票
1 回答
38 浏览

unity3d - Unity3d - 玩家在特定块后翻转

所以,我做了一个非常简单的游戏,基本上你所做的就是在地形中滑行并避开障碍物(我还没有实现障碍物)。我遇到了一个非常奇怪的问题。当我击中第五块时,玩家开始翻转:

在此处输入图像描述

谁能帮我找出问题所在,我该如何解决?

编辑:我通过使用创建具有 0 摩擦力的物理材料并将其应用于块和玩家来解决它。

0 投票
2 回答
2402 浏览

c# - 将 Voronoi 图与 Perlin 噪声相结合以生成纹理的“正确”方法是什么?

我正在开展一个围绕程序地形生成的项目。我目前有 2 个单独的部分,一个生成我的 Voronoi 图,而另一个处理整个地形的生成。地形目前以块的形式生成,因为它太大而无法自行生成。由我的 Voronoi 算法生成的多边形的大小接近单一地形块。我希望为每个多边形生成一个单独的块,因为我希望确定生成的多边形的 Perlin Noise 值。在当前的实施中,我的地形块有一个正方形的形式,因此我不能真正插入一个多边形。你会怎么做?

我最初试图将我的纹理变成多边形形状,但是统一的纹理具有宽度和高度,呃,所以这并没有完全解决。我还考虑将每个地形块分成一组具有相同属性的多边形,从而形成正方形,这破坏了使用 Voronoi 的全部目的。

我很乐意包含我的代码,但我认为在这种情况下它不是特别有价值。

注意:我的 Voronoi 实现返回一个多边形对象列表,其中包含相应的角点、边缘、质心等。

提前致谢 :)

0 投票
1 回答
174 浏览

c# - 为什么 terrainData.heightmapTexture 浮点值范围是 0f-0.5f 而不是 0f-1f?

在渲染到 terrainData.heightmapTexture 时,我发现将 1.0f 写入像素不会导致地形达到最大高度(在“地形高度”检查器字段中指定),但 0.5 会产生(1.0 是其两倍,不能用于手动笔刷编辑) . 看起来很奇怪/令人惊讶,但我希望这背后有合理的理由。某人可以解释这种行为吗?

预览图像 (图像显示了渲染正弦波(0.0-1.0 范围)后的地形。我使用的是计算着色器 > Graphics.CopyTexture > terrainData.DirtyHeightmapRegion 路径)

0 投票
1 回答
38 浏览

unity3d - 如何制作一个像地球一样的地形?

我想制作一个终点也是起点的地形。所以,就像在地球上一样,你可以继续直走,一段时间后你会到达你重新开始的地方。

谢谢你的帮助!

0 投票
1 回答
1382 浏览

unity3d - 在运行时将地形数据保存到文件的最佳方法是什么?

我的游戏允许用户在运行时修改地形,但现在我需要保存所述地形。我尝试将地形的高度图直接保存到一个文件中,但是为这个 513x513 高度图编写几乎需要两分钟。

什么是解决这个问题的好方法?有什么方法可以优化写入速度,还是我以错误的方式接近这个?

作为旁注,Mathf.Round 似乎并没有过多地影响节省时间,如果有的话。

0 投票
0 回答
283 浏览

c# - 当我在 Unity 上为 Android 构建时,地形上出现黑色

我将我的项目从Unity 2017升级到2019,但是当我再次为 Android 构建游戏时,我在地形上得到了黑色

我在 Unity 2017 中没有遇到这个问题。

我尝试过的事情当我在统一论坛中阅读时,我将 Skybox 更改为照明中的颜色,但没有解决我的问题。请参阅下面的图片。

请问有什么帮助吗?

0 投票
1 回答
353 浏览

c# - 无法正确设置地形树实例

我目前正在试验地形树,但我一直在操纵它们的位置。据我所知,以下脚本应该可以工作,它还将位置转换为当地地形坐标,但没有任何反应。

它们被放入(0,0,0)坐标附近。

请帮忙!