Unity3D 地形(Terrain)设置

2023-11-17

这篇说的是Unity地形

关于Unity3D是什么。我就不多做解释了。由于工作原因,该系列原创教程不定期更新。每月必然有更新。谢谢各位。

Unity地形::

新建地形:


6597408416238626273.jpg


如图在菜单中新建一个地形。就会在


6597408416238626274.jpg


中看到Terrain对象。如果要修改地形参数,可以在Terrain菜单下的SetResolution中设置。


6597408416238626275.jpg


如上图所示。地形的参数设置:

TerrainWidth:全局地形总宽度。其单位为Unity统一单位-米。

TerrainHeight:全局地形允许的最大高度,单位为Unity统一单位。

TerrainLength:全局地形总长度,单位为Unity统一单位。

Heightmap Resolution:全局地形生成的高度图的分辨率。

Detail Resolution:全局地形所生成的细节贴图的分辨率,所以数字越小性能越好。但是质量也要考虑。

ControlTestureResoulution:全局把地形贴图绘制到地形上时所使用的贴图分辨率。

BaseTextureResoution:全局用于远处地形贴图的分辨率。


unity定制地形:

如果有美术人员制作好的高度图。那么可以直接导入,但是unity仅支持.RAW格式。图像大小要求是2的幂。导入方法:Terrain-〉Import Heightmap-Raw。选中需要的资源后。会弹出如下属性设置框:


6597408416238626276.jpg


Depth:由文件格式来设置,8位或者16位。

Width:高度图的宽度,根据图像本身大小获得。

Height:高度图的高。

ByteOrder:根据文件格式来设置。Mac或者Wndows。使用这个文件编码时所用的顺序。

TerrainSize:这里是TerrainSet Resoulution的选项。如果觉得高度图和地形大小差别太大。可以由此调整。


Unity绘制地形:

在Hierarchy面板中选中地形。在Inspector中查看信息,以下7个横排按钮就是绘制地形工具。


6597408416238626277.jpg


6597408416238626278.jpg


PaintTexture功能从左往右依次是:提高和降低高度[此功能配合Shift可以是地形瞬间平整],绘制目标高度,平滑高度,绘制地形,绘制树木,绘制花草,设置。

Brushes区下包含各种样式的笔刷,可以用来控制贴图,地形风格。

Details区下表示笔刷设置,可以通过Edit Details添加笔刷材质。BrushSize:用来控制笔刷大小,Opacity用来控制贴图使用的纹理的透明度,或者说浓度。TargetStrength用来调整目标强度。强度越小,那么贴图纹理所产生的影响越小。


使用系统自带的材质为地形贴图:

1:Create Terrain后,在Project面板右键ImportPackage-〉TerrainAssets[该包含有树木绿草资源],在Hierarchy面板中选中Terrain。

2:在Inspector面板中的Terrain下选择笔刷 6597408416238626279.jpg


。点击EditTexture。选中Add Texture。

3:弹出框


6597408416238626280.jpg


,选择Splat后边的圆圈: 6597408416238626281.jpg

4:弹出材质列表:,选择其中之1


6597408416238626282.jpg


。再看看地形,是不是就贴上材质了呢。第一次是完全覆盖,以后的导入的材质不再覆盖首次的材质,根据画笔控制进行材质覆盖。


添加树木:

1: 6597408416238626283.jpg

选择该按钮。点击  6597408416238626284.jpg  。和添加地形贴图一样选择树木。再次在地形上点击。你的蓝色覆盖区域都将种上树木。


关于Tree的Settings参数详解:

BushSize:笔刷的半径。以地形单位米计算。

TreeDensity:树木密度。值越大树木越多。

ColorVariation:每棵树的颜色所能够使用的随机变量值。

TreeHeight:树的基准高度。

Variation:树高的随机变量。

TreeWidth:树的基准宽度。

Variation:输的宽度随机变量。


添加绿草:

1: 6597408416238626285.jpg


选择该按钮,在EditDetails中选中GrassTexture像添加树木那样操作即可。

关于绿草的参数:

BrushSize:笔刷半径以米为单位。

Opacity:密度比例。

TargetStrength:目标区域有效面积百分百。比例越大能种的草就越多,当然这也和密度相关。


关于地形参数设置:

6597408416238626286.jpg


按钮代表当前地形的参数设置:

PixelError:像素误差,较高的之可能渲染较快,但是贴图可能不是非常精确。

BaseMapDist:贴图到摄像机的距离超过这个值,就会让地形贴图以低分辨率显示。

Castshadows:让地形产生阴影。比如山峰产生的阴影。

以上3项都是地形基本渲染设置。


Draw选项表示是否渲染除地形以外的对象。当你在也做好各种物体的地形上需要调整地形时候,这个非常有用。

DetailDistance:当到摄像机超过这一距离,细节玩个停止显示。

DetailDenstiy:详细密度。更细小的渲染粒度。

TreeDistance:当到摄像机的距离超过该值,树木停止显示。

BillboardStart:当到摄像机的距离超过该值,树木以广告牌形式开始显示。

FadeLength:树木从网格过渡到广告牌的距离。

MaxMeshTrees使用网格形式进行渲染的树木最大数量。

以上6个参数为树木或者细节对象渲染参数设置。


Speed:风吹过草地的速度。

Size:同一时间收到风影响的草的数量。

Bending:草跟随风进行弯曲的强度。

GrassTint:对于地形上使用的所有草和细节网格的总体渲染颜色。


以上4项为风力设置为主。

在该视图中所做的修改可以随时在游戏中体现。但是游戏停止后,游戏过程中设置数值的修改不会被保存。所以修改同时,注意保存。





转载:http://hi.baidu.com/next2_me/item/0f79feffadf2ca5ac9f337f7

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity3D 地形(Terrain)设置 的相关文章

随机推荐

  • Springboot使用EasyExcel读写excel(详细)

    文章目录 使用EasyExcel读取Excel 一 关于EasyExcel 二 读取excel 实体类 本地读取 controller上传 创建监听器 三 导出excel 实体类 本地导出 Controller下载 使用EasyExcel读
  • 模糊pid控制的温度系统matlab源代码_模糊PID控制系统(一)模糊入门

    1 matlab模糊工具箱 1 1 matlab命令 fuzzy 打开fuzzy设计工具箱 1 2 添加输入输出 隶属度函数 数值范围 1 3 确定模糊规则表 添加模糊规则 也可在matlab 编辑器里编辑 fis文件 1 4 反模糊化 1
  • HTTP协议之multipart/form-data请求分析

    无意中发现了一个巨牛的人工智能教程 忍不住分享一下给大家 教程不仅是零基础 通俗易懂 而且非常风趣幽默 像看小说一样 觉得太牛了 所以分享给大家 点这里可以跳转到教程 首先来了解什么是multipart form data请求 根据http
  • hook-setInterval定时器

    目标网站 aHR0cDovL3NwaWRlci53YW5nbHVvemhlLmNvbS9jaGFsbGVuZ2UvNQ 背景 本题为hook初体验 目标是用hook的方式过掉定时器 成功在控制台中打印出我们想要的内容 表现形式 1 一进入页
  • 【Java愚公】Windows安装wsl2

    Windows安装wsl2 查看window有没有安装wsl 在window下安装wsl 查看window有没有安装wsl 在cmd命令面板输入 wsl 没有安装wsl输入会报错 在window下安装wsl 通过在管理员PowerShell
  • js实现图片上下滚动background-position

  • 关于js报错 Cannot read property innerHTML of null和关于Cannot set property ‘innerHTML’ of null 错误原因

    解决关于js报错 Cannot read property innerHTML of null 1 相信很多同学在开发过程中都会遇到 Cannot read property innerHTML of null 这个报错的字面含义是 不能读
  • 前端文件下载的八种方法(解决pdf、图片在浏览器自动打开问题)

    系列文章目录 现在流行的chrom 和火狐浏览器 都会将图片和文档自动打开 图片自动打开的问题已经解决 请看第三条 提示 下面代码中会用到a标签中 target 会添加一个 view window 的属性 如果想要详细了解a标签的属性 可以
  • rabbitMQ初识

    消息队列 RabbitMQ 认识MQ 同步和异步通讯 微服务间通讯有同步和异步两种方式 同步通讯 就像打电话 需要实时响应 异步通讯 就像发邮件 不需要马上回复 同步通讯 同步调用的优点 时效性较强 可以立即得到结果 同步调用的问题 耦合度
  • C++之多重继承

    大多数应用程序使用单个基类的公用继承 但是在某些情况下 单继承是不够的 必须使用多继承 C 允许为一个派生类指定多个基类 这样的继承结构被称做多重继承 举个例子 交通工具类可以派生出汽车和船连个子类 但拥有汽车和船共同特性水陆两用汽车就必须
  • 使用Android studio开发第一个小程序

    1 点击新建安卓项目 填入项目名称 公司域 项目的修饰 项目路径 若不存在 会新建一个路径 下面两个不要选 点击下一步 2 接下来就是项目配置了 在这里我们只勾选第一个 适配的手机系统最小sdk版本 目前经常用的是API 17 当然你也可以
  • 深入理解浏览器缓存机制 ( http )

    一 介绍 http缓存 浏览器根据当前http请求报文策略 将网路资源存储到本地内存 memory cache 硬盘 disk cache 中 缓存流程 浏览器 浏览器缓存 服务端 发起请求 根据缓存
  • dns服务器经赏要修复,十要诀帮你修复DNS域名解析服务故障

    十个要诀帮你修复DNS故障 1 DNS是网络基础协议之一 想必大家都应该有所了解 对于所有基于Windows系统的网络来说 DNS都属于最重要的服务之一 在没有DNS支持的情况下 活动目录就不能正常工作 并且它使用到的功能也比任何其它类型的
  • 【C++】赋值运算符重载的返回值分析

    转载 https blog csdn net Always article details 50532323 其实对于重载赋值运算符 返回值是引用或者不是都行 代码都可以运行 之所以用引用是为了提高代码效率 为什么引用就会提高代码效率呢 对
  • 使用docker-maven-plugin插件构建镜像并推送至私服Harbor

    前言 如下所示 建议使用 Dockerfile Maven 插件 但该插件也停止维护更新了 因此先暂时使用docker maven plugin插件 一 开启Docker服务器的远程访问 1 1 开启2375远程访问 默认的dokcer是不
  • b+树和b树的区别

    B 树和B 树是两种在数据库索引实现中经常使用的平衡树 在实际应用中被广泛采用 B 树和B 树都是基于平衡树的数据结构 用来实现数据的索引和查找 它们都支持对数据的插入 删除和查找等操作 并且可以在较短的时间内完成数据的查找和遍历等操作 但
  • 13张图,带大家深入理解Synchronized

    目录 前言 内容大纲 Synchronized使用方式 普通函数 静态函数 代码块 Synchronized原理 Synchronized优化 锁粗化 锁消除 锁升级 偏向锁 轻量级锁 重量级锁 前言 Java并发编程系列第二篇Synchr
  • “用户登录”测试用例总结

    前言 作为测试工程师 你的目标是要保证系统在各种应用场景下的功能是符合设计要求的 所以你需要考虑的测试用例就需要更多 更全面 鉴于面试中经常会问 如何测试用户登录 我们利用等价类划分 边界值分析等设计一些测试用例 显式功能性需求测试用例 1
  • 牛客网C++项目课件资料

    1 Linux系统编程入门 2 Linux多进程 3 Linux多线程 4 Linux网络编程
  • Unity3D 地形(Terrain)设置

    这篇说的是Unity地形 关于Unity3D是什么 我就不多做解释了 由于工作原因 该系列原创教程不定期更新 每月必然有更新 谢谢各位 Unity地形 新建地形 如图在菜单中新建一个地形 就会在 中看到Terrain对象 如果要修改地形参数