Unity运行时地形编辑器——RuntimeTerrainEditor

本文介绍了一款适用于Unity 2018.3及以上的实时地形编辑器,支持跨地形编辑、笔刷调整地形高度、树和草的种植与删除、贴图编辑等功能,并详细解释了如何配置和使用该编辑器。

上一篇关于地形文章写完后(好像也有点遥远了),这个运行时地形编辑器也基本上满足自己需求了,抽空稍微整理了一下做成了一个独立的工具,unity2018.3及以上可用,一开始也是适配了2017的,后来由于自己已经完全不用2017了,就放弃了对2017的支持。
Github源码链接

  • 支持跨地形编辑
  • 笔刷
  • 地形的抬高,降低,平滑
  • 树的种植和删除
  • 草的种植和删除
  • 贴图编辑
  • 地形高度编辑支持使用笔刷
  • 树、草的编辑支持使用笔刷
  • 操作的撤回
    在这里插入图片描述

一、RuntimeTerrainEditor

  提供了对地形高度,细节,树木,纹理四大类的修改,其中地形高度的修改支持使用笔刷,其他几种由于自已没有需要就偷了个懒,后期会补上。

1.笔刷

  之前在自定义笔刷这篇文章中讲到了自定义笔刷的思路,这里就不多说了,只说怎么创建一张图片用作笔刷。
  首先自己制作的笔刷图片一定要带透明通道,推荐使用png格式,图片的alpha值也就代表了笔刷在对应位置的强度,下面这张图片是个最常用的一种笔刷,但由于自己不会做图,实际运用时使用这张图效果不怎么好。这张图中心透明度高,越往外越低,用这张图做地形高度的修改也就是一个中间高外围低的效果。

在这里插入图片描述

  图片制作完成后导入unity,设置图片的Import Setting如下。

在这里插入图片描述

  导入并设置完成后,使用自己工程加载资源的方式加载这些贴图,在构造RunTimeTerrainEditor类的时候当参数传入。

public RuntimeTerrainEditor(Texture2D[] brushs = null)
2.高度修改

  高度修改提供的API如下,每个接口对应一个DelayLod版本,在使用DelayLod版本时,需要在合适的时候自行调用ApplyDelayedHeightmapModification方法用以刷新地图的LOD。

/// <summary>
/// 改变高度(圆形)
/// </summary>
/// <param name="center">中心点</param>
/// <param name="radius">半径</param>
/// <param name="opacity">力度</param>
/// <param name="isRise">抬高还是降低</param>
/// <param
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值