问题标签 [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.
c# - Unity,得到“实际”的当前地形?
Unity 有一个 Terrain.sampleHeight(point)
很棒的功能,它可以立即为您提供脚下地形的高度,而无需投射。
然而,任何重要的项目都有不止一个地形。(事实上,任何物理上大的场景都不可避免地具有地形拼接,一种或另一种方式。)
Unity 有一个功能Terrain.activeTerrain
——我不是编造的——给你:“第一个加载”
显然这是完全没用的。
事实上,有没有一种快速的方法可以让地形“在你之下”?然后可以使用快速功能.sampleHeight
吗?
{请注意,当然,您可以... 施法以找到您下方的地形!但是你会有你的高度,所以没有必要担心.sampleHeight
!}
简而言之,是否有一个匹配的函数sampleHeight
可以让该函数知道对于给定的 xyz 使用哪个地形?
(或者实际上,sampleHeight
只是一个相当无用的演示功能,只能在具有一个地形的演示中使用?)
c# - 隐藏玩家时隐藏树木
我创建了一个与地形和一些模型相结合的 3D 游戏,玩家可以去任何他想去的地方,并且摄像机会跟随他。
我的问题是当用户在一棵树后面时,如何使树透明?
我已经使用 Ray 投射对其他模型进行了处理,但是树木是地形的一部分,因此我得到的是地形材质而不是特定的树木。
有任何想法吗?
提前致谢
c# - 在运行时将地形设置为特定高度?
当前脚本所在对象下的地形,地形将达到最大高度。我可以以某种方式将其设置为指定的高度吗?
我没有尝试太多,因为我不知道这是如何工作的太好了..
我希望有一个输入并将高度设置为输入的高度。
示例:输入 = 10 物体下的地形变为 10
实际输出:输入 - 物体下的 10 地形变为 600
c# - 将 Voronoi 图与 Perlin 噪声相结合以生成纹理的“正确”方法是什么?
我正在开展一个围绕程序地形生成的项目。我目前有 2 个单独的部分,一个生成我的 Voronoi 图,而另一个处理整个地形的生成。地形目前以块的形式生成,因为它太大而无法自行生成。由我的 Voronoi 算法生成的多边形的大小接近单一地形块。我希望为每个多边形生成一个单独的块,因为我希望确定生成的多边形的 Perlin Noise 值。在当前的实施中,我的地形块有一个正方形的形式,因此我不能真正插入一个多边形。你会怎么做?
我最初试图将我的纹理变成多边形形状,但是统一的纹理具有宽度和高度,呃,所以这并没有完全解决。我还考虑将每个地形块分成一组具有相同属性的多边形,从而形成正方形,这破坏了使用 Voronoi 的全部目的。
我很乐意包含我的代码,但我认为在这种情况下它不是特别有价值。
注意:我的 Voronoi 实现返回一个多边形对象列表,其中包含相应的角点、边缘、质心等。
提前致谢 :)
c# - 为什么 terrainData.heightmapTexture 浮点值范围是 0f-0.5f 而不是 0f-1f?
在渲染到 terrainData.heightmapTexture 时,我发现将 1.0f 写入像素不会导致地形达到最大高度(在“地形高度”检查器字段中指定),但 0.5 会产生(1.0 是其两倍,不能用于手动笔刷编辑) . 看起来很奇怪/令人惊讶,但我希望这背后有合理的理由。某人可以解释这种行为吗?
(图像显示了渲染正弦波(0.0-1.0 范围)后的地形。我使用的是计算着色器 > Graphics.CopyTexture > terrainData.DirtyHeightmapRegion 路径)
unity3d - 如何制作一个像地球一样的地形?
我想制作一个终点也是起点的地形。所以,就像在地球上一样,你可以继续直走,一段时间后你会到达你重新开始的地方。
谢谢你的帮助!
unity3d - 在运行时将地形数据保存到文件的最佳方法是什么?
我的游戏允许用户在运行时修改地形,但现在我需要保存所述地形。我尝试将地形的高度图直接保存到一个文件中,但是为这个 513x513 高度图编写几乎需要两分钟。
什么是解决这个问题的好方法?有什么方法可以优化写入速度,还是我以错误的方式接近这个?
作为旁注,Mathf.Round 似乎并没有过多地影响节省时间,如果有的话。
c# - 无法正确设置地形树实例
我目前正在试验地形树,但我一直在操纵它们的位置。据我所知,以下脚本应该可以工作,它还将位置转换为当地地形坐标,但没有任何反应。
它们被放入(0,0,0)坐标附近。
请帮忙!