摘要:Unity5.0_树_软件教程_资源库

Unity 的地形引擎 (Terrain Engine) 为树 (Trees) 提供 特殊支持。您可以在地形 (Terrain) 上放置上千棵树,然后用实际帧速率在游戏中对其进行渲染。这可以通过以下方式实现:将相机周围的树木渲染成全 3D,然后将远处的树木转变为二维布告板。远处的布告板将根据不同的观察角度自动更新以确定正确的方向。出于性能考虑,该转换系统将详细的树环境制作地非常简单。您可以完全控制网格到布告板 (mesh-to-billboard) 转换参数的调整,这样就可以得到所需的最佳性能。

您可以轻松绘制许多树来创建优美的环境,如上图所示

添加树

在检视器 (Inspector) 中选择

放置树 (Place Trees) 按钮

将树放到地形上之前,您需要将树添加到可用树的库里。要执行此操作,请单击 编辑树 (Edit Trees) 按钮 -> 添加树 (Add Tree)。您将看到添加树 (Add Tree) 对话框。

添加树 (Add Tree) 对话框

项目视图 (Project View) 中选择树,并将其拖到 树 (Tree) 变量。如果想给树添加一些“迎风摇曳(bending in the wind)”的动画效果,您还可以编辑 弯曲系数 (Bend Factor) 。准备好后,单击添加 (Add)。树在检视器 (Inspector) 中将显示为选中。

新添加的树在检视器 (Inspector) 中显示为选中

您可以添加任意数量的树。您可以选择检视器 (Inspector) 中的每棵树,从而将其放置在地形 (Terrain) 上。

当前选中的树将总是高亮显示为蓝色

绘制树

使用放置树 (Place Trees) 工具的同时单击地形 (Terrain) 上的任意地点以放置树。如需去掉树,请按住 Shift 按钮并在地形 (Terrain) 上单击。

绘制树如同使用笔刷工具一样简单

放置树时,您可以使用若干选项。

属性:功能:

笔刷大小 (Brush Size)放置树的笔刷的半径(以米为单位)。

树间距 (Tree Spacing)两树之间的树宽的百分比

颜色变化 (Color Variation)每棵树之间所允许的颜色差异值。

树高 (Tree Height)每棵树相比于资源的高度调节。

高度变化 (Height Variation)每棵树所允许的高度差异值。

树宽 (Tree Width)每棵树相比于资源的宽度调节。

宽度变化 (Width Variation)每棵树所允许的宽度差异值。

树木绘制技巧

不同的笔刷 (Brush) 大小覆盖不同的区域大小

调整树间距 (Tree Spacing) 来更改正在绘制的树的密度

编辑树

要为添加的树更改任何导入参数,请选择细节,然后选择编辑树 (Edit Trees) 按钮 -> 编辑细节 (Edit Detail)。或双击想要编辑的树。然后您将看到编辑树 (Edit Tree) 对话框,并可以更改任何设置。

批量放置

如果您不想绘制树,只是想创建一整片森林,可以使用地形 (Terrain) -> 批量放置树 (Mass Place Trees) 在此处,您将看到批量放置树 (Mass Place Trees) 对话框。你可以设置想放置的树的数量,设置之后,这些树将立即放置。添加到地形 (Terrain) 的所有树将被用于此批量放置。

一次性放置 10,000 棵树 (Trees)

刷新源资源

如果对树的资源源文件做了任何更新,则必须手动重新将其导入到地形 (Terrain) 中。要执行此操作,请使用地形 (Terrain) -> 刷新树和细节原型 (Refresh Tree and Detail Prototypes) 。该操作在更改和保存源资源后完成,并将立即刷新地形 (Terrain) 上的树。

创建树

地形引擎提供 了两种创建树的方法:

第一种是使用 Unity 自带的树创建器,第二种是使用与 Unity 兼容的第三方建模程序。在这种情况下,每棵树都应包括带两种材质 (Materials)的单个网格。一种用于树干,另一种用于树叶。

出于性能原因,每棵树的三角形总数应保持在 2000 以下。三角形越少越好。树网格的支点必须正好位于树的根部,这个点即是树应该放置在地面的位置。这使其能够最简便地导入 Unity 以及其他建模应用程序中。

树必须使用自然/软光遮蔽树叶 (Nature/Soft Occlusion Leaves) 以及自然/软光遮蔽树皮 (Nature/Soft Occlusion Bark shader)着色器。为了使用这些着色器,您还必须将树放置在名为“环境光遮蔽”(Ambient-Occlusion) 的特定文件夹中。将模型放置在该文件夹中并重新导入后,Unity 将计算专门用于树的软环境光遮蔽。“自然/软光遮蔽”(Nature/Soft Occlusion) 着色器需要此信息。如果不遵循命名惯例,树的某些部分会完全变成黑色,看起来会比较奇怪。

Unity 也在“Terrain Demo.unitypackage”中自带了一些高质量的树。您可以在游戏中轻松使用那些树。

使用低多边形树

一个带叶子的树枝只有 6 个三角形,并显示出相当多的弯曲。您可以添加更多的三角形,使其更加弯曲。但要点是:制作树时,使用三角形,而不是四边形。如果使用了四边形,则基本上要在树枝上用两倍的三角形才能达到同样的弯曲效果。

由于拥有大多边形,而几乎所有都因 alpha 通道而不可见,因此树本身浪费了很多填充率。由于目的是要制作浓密的树林,出于性能考虑,应避免此现象。这也是让不引人注意的树看着好看的原因之一。树木很浓密,您无法透过树叶看到树叶后面的情况。

设置树碰撞

如果想让树使用碰撞组件,这非常容易。导入树资源文件后,您只需在场景视图 (Scene View) 中将其实体化,添加胶囊碰撞组件 (Capsule Collider) 并对其进行调整,然后将游戏对象 (GameObject) 放入新的预设 (Prefab) 中。然后,将树添加到地形 (Terrain) 上时,您添加的是这个带有胶囊碰撞组件 (Capsule Collider) 的树预设 (Prefab)。为树添加碰撞时,只能使用胶囊碰撞组件 (Capsule Collider)。

使树相互碰撞。

地形碰撞组件 (Terrain Collider) 检视器 (Inspector)

如果想让树与刚体碰撞,请确保已勾选创建树碰撞组件 (Create Tree Colliders) 复选框,否则物体将穿过创建的树。请注意:Unity 使用的 PhysX 引擎在一个场景中最多只能处理 65536 个碰撞组件。如果使用的树的数量大于该数字(减去场景中已有的其他碰撞组件),那么树碰撞组件不能启用,并会报错。

unity怎么导入系统的树_Unity5.0_树_软件教程_资源库相关推荐

  1. unity 加载关卡_Unity5.0_Application.isLoadingLevel 正在加载关卡_软件教程_资源库

    摘要:Unity5.0_Application.isLoadingLevel 正在加载关卡_软件教程_资源库 Application.isLoadingLevel 正在加载关卡? static var ...

  2. unity怎么导入系统的树_在unity3d里面如何种树? - 收获啦

    首先,准备好一个地形场景,在这里简单的创建了一个带有山的场景,如图所示. 导入树木资源,确保你已经导入了树木资源,如果没有需要导入一下,导入系统自带的树木资源包步骤如下:光标放到Project视图中或 ...

  3. 2010年9月_软件学报_基于树的数据收集MAXLAT

    2010年9月_软件学报_MAXLAT_数据收集树{节点能量异构网络,集中式算法,针对精确数据收集问题从Sink节点开始构造生成树瓶颈节点:红色次瓶颈节点:黄色富裕节点:绿色着色函数:采用深度优先遍历 ...

  4. unity怎么导入系统的树_unity3d 随机添加树木

    开放世界随机地图才是最重要的.. 随机生成树木 Terrain.terrainData //获取地形设置 terrainData.treePrototypes {get;set;} //获取或设置树木 ...

  5. python开发的著名软件公司_软件开发公司_软件外包_项目外包平台基于Python开发一个全文检索系统...

    基于Python开发一个全文检索系统.功能要求为: 使用全文检索引擎对文本进行检索.文本的格式为Word.PDF.TXT. 同时按数据域进行复合条件检索.数据域指文本对应的信息,例如创建人.文件编号. ...

  6. 加密软件漏洞评测系统_苹果向用户推送macOS Big Sur 11.0.1正式版系统_华强北软件网_软件行情_软件新闻_软件评测_手机应用文章...

    前几天,苹果在新品发布会上介绍,macOS Big Sur正式版将于11月12日(当地时间)进行推送.北京时间11月13日凌晨,苹果方面正式向用户推送了macOS Big Sur 11.0.1正式版系 ...

  7. ios系统苹果手机进行电脑微信双开方法详细教程

    前言: 关于电脑端微信双开,网上有很多教程了,要实现这一点目前并不是难事.但是有一个问题是,电脑端微信打开多个登录界面后,其流程一般为分别用手机上登录了两个或多个的微信扫码登录.苹果手机目前(2021 ...

  8. unity velocity_Unity动画系统详解5:BlendTree混合树是什么?

    摘要:"Animator中有一个功能,用来解决多个动画之间的混合,经常用于移动动画之间的混合,这个功能叫做BlendTree,混合树." 洪流学堂,让你快人几步.你好,我是跟着大智 ...

  9. Unity Mecanim动画系统 之 动画混合树(Blend Trees)的简单使用

    Unity Mecanim动画系统 之 动画混合树(Blend Trees)的简单使用 目录 Unity Mecanim动画系统 之 动画混合树(Blend Trees)的简单使用 一.简单介绍 二. ...

最新文章

  1. Elasticsearch入门Demo(一)
  2. POJ 2411 Mondriaan#39;s Dream (dp + 减少国家)
  3. echarts柱状图 与轴不重叠_用Echarts做堆积的柱状图,当横轴为“time”类型时,都是从0开始显示,而不是叠加,为什么会这样?...
  4. go项目部署到linux服务器
  5. 每天被远程办公支配的恐惧,你怕了吗?
  6. Selenium_WebDriver操作iFrame日历框和复选框_Java
  7. .Net Core微服务系列--理论篇
  8. mybatis工作原理_万字好文!MyBatis 的工作原理,你了解过吗?
  9. QT中让窗口屏幕居中的方法
  10. 使用Julia进行图像处理--图像分割
  11. mysqladmin命令详解
  12. 073:【Django数据库】ORM聚合函数详解-Count
  13. react调试工具Reactdevelopertools
  14. 如何使用Python 画笔
  15. Git 小乌龟(TortoiseGit)的详细使用
  16. 【Python】Python爬取小说标题及内容——晋江文学网
  17. 前端开发专业实习报告
  18. mysql视图代码_mysql创建视图的实例代码
  19. 转载--12306刷票记
  20. 使用 yarn 安装时,报错node_modules\node sass:Command failed.

热门文章

  1. 《风之大冒险》3.18上线链游玩家|超高颜值、卡牌放置
  2. GitLab-CI持续集成(CI)的介绍与运行机制
  3. python 通达信数据_[转载]怎么样才能得到 07年08年的1分钟线数据呢,python 和 通达信可以...
  4. 【数据结构】-顺序栈(初始化栈顶指针为0)
  5. Python日期推算实操案例
  6. 在树莓派上实现face++人脸识别
  7. linux工具之jq
  8. idea远程Debug,远程调试
  9. YY工作总结—为人处事
  10. 苹果iPhone5 16G长沙九方现货售8199元