注意:考虑到后续接触的插件会越来越多,我将插件相关的内容单独分开,并全部整合放在【推荐100个unity插件】专栏里,感兴趣的小伙伴可以前往逐一查看学习。

效果演示

在这里插入图片描述

文章目录

  • 效果演示
  • 前言
  • 一、常春藤生成器工具下载
  • 二、工具使用
    • 1、创建根节点:lvy GameObject
    • 2、创建配置文件:lvy Profile Asset
    • 3、贴图与材质球
    • 4、绘制常春藤
    • 5、修改叶子颜色
    • 6、修改叶子大小
    • 7、修改叶子密度
    • 8、修改根茎粗细
    • 9、修改生长长度
    • 10、修改分支概率
    • 11、删除已绘制的常春藤
  • 参考
  • 专栏推荐
  • 完结

前言

在游戏开发和3D场景设计中,自然元素的创建往往是最具挑战性的部分之一。常春藤作为一种常见的攀援植物,其复杂的生长形态和有机的分布模式如果手动建模会非常耗时。今天我要向大家推荐一款强大的Unity编辑器扩展工具——Hedera常春藤生成器,它能够帮助开发者快速创建逼真的常春藤植被效果。

Hedera是一款基于过程化生成的常春藤创建工具,它允许开发者直接在场景物体表面"绘制"常春藤,并提供了丰富的参数来控制常春藤的生长模式、分支结构、叶子分布等特性。这款工具特别适合用于:

  • 快速创建废墟、古堡等场景中的攀援植物

  • 为环境艺术增添自然细节

  • 制作奇幻或恐怖游戏中的特殊植被效果

  • 任何需要有机自然元素的场景布置

一、常春藤生成器工具下载

  • GitHub地址:https://github.com/radiatoryang/hedera
  • gitee地址:https://gitee.com/unity_data/hedera
    在这里插入图片描述
    下载压缩文件,解压缩后放进项目里即可,注意:如果你想使用它自动的demo示例,需要把Samples~文件夹的~去掉再导入项目。
    在这里插入图片描述

二、工具使用

1、创建根节点:lvy GameObject

点击菜单Hedera / Create / Create New lvy GameObject
在这里插入图片描述

此时会生成一个lvy Group节点,它身上会带一个lvyBehavior组件,我们下面生成的常春藤就是在这个节点之下生成的。
在这里插入图片描述

2、创建配置文件:lvy Profile Asset

上面我们可以看到,lvyBehavior组件需要指定一个配置文件,这个配置文件用于配置常春藤生成的规则与相关参数。
工具已经帮我们做好了几个配置,在Samples/lvyProfiles目录中,
在这里插入图片描述

为了演示,我创建一个新的,点击Create new lvy Profile Asset...按钮,
在这里插入图片描述
生成后选中它,可以在Inspector视图中看到配置的参数,
在这里插入图片描述

参数说明:

参数说明
Length生成长度,可以设置上下限,从这个范围内进行随机
Branch Chance %生成分支的概率
Random Spread %随机分布率
Branch Thickness根茎的粗度
Leaf Size Radius叶子大小
Leaf Density %叶子密度
Leaf Colors叶子颜色
Brahcn Material根茎的材质
Leaf Material叶子的材质

3、贴图与材质球

我们需要先准备常春藤的贴图(包括根茎+叶子),例:
在这里插入图片描述

制作根茎和叶子的材质球:
在这里插入图片描述

注意:如果你和我一样创建的是URP项目,hedera默认是不包含 HDRPURP 着色器的,但其他所有内容可能仍然正常工作。所以我们只需要自己创建URP着色器即可。这里我创建的是受光照影响的URP材质。

材质球设置如下(根茎+叶子):
在这里插入图片描述
在这里插入图片描述

lvy Profile Asset设置根茎和叶子的材质球,
在这里插入图片描述

4、绘制常春藤

选中lvy Group,点击Start Painting lvy按钮,
在这里插入图片描述

然后把鼠标移到Scene视图中,即可看到有个蓝紫色的圈圈投射在物体表面上,
在这里插入图片描述

此时按住鼠标滑动即可生成常春藤
在这里插入图片描述

5、修改叶子颜色

我们看到绘制出来的叶子颜色是 白/绿/黄 的
在这里插入图片描述
这是因为在lvy Profile Asset中设置的叶子颜色是这样的:
在这里插入图片描述
我们可以将其修改成我们想要的其他颜色,比如改成这样:
在这里插入图片描述
重新绘制出来的叶子颜色如下:
在这里插入图片描述

6、修改叶子大小

调整Leaf Size Radius可以修改叶子的大小,
在这里插入图片描述
我们把叶子大小调小,调整参数后可以点击Re-mesh Visible按钮,就会根据调整后的参数重新运算~
在这里插入图片描述
调整前是这样:
在这里插入图片描述
调整后是这样:
在这里插入图片描述

7、修改叶子密度

调整Leaf Density %可以修改叶子密度,
在这里插入图片描述
我们把叶子密度调大,如下:
在这里插入图片描述

8、修改根茎粗细

我们觉得根茎有点粗,
在这里插入图片描述
想调细一点,调整Branch Thickness,把根茎调细,
在这里插入图片描述
如下:
在这里插入图片描述

9、修改生长长度

调整Length可以修改生长长度,
在这里插入图片描述
我们测试下最小值和最大值的效果,调整为最小值,此时绘制常春藤不会自动继续生长,

在这里插入图片描述
效果如下:
在这里插入图片描述
现在,我们把Lehgth调为最大值,
在这里插入图片描述
因为它生长力太强了,所以我在地面上演示,感受一下,
在这里插入图片描述

10、修改分支概率

我们看到生长过程中的分支概率比较低,我们可以调整Branch Chance %来修改分支概率,
在这里插入图片描述
我们把分支概率调到最大值,感受一下,
在这里插入图片描述

11、删除已绘制的常春藤

假设我们要删除这条常春藤,并不是直接delete它的GameObject
在这里插入图片描述
而是先选中它所在的Group
在这里插入图片描述
然后点击对应的垃圾桶按钮,
在这里插入图片描述
如果一个Group下有多条常春藤,则会会显示多个item
在这里插入图片描述

参考

  • https://blog.csdn.net/linxinfa/article/details/117755135

专栏推荐

地址
【unity游戏开发入门到精通——C#篇】
【unity游戏开发入门到精通——unity通用篇】
【unity游戏开发入门到精通——unity3D篇】
【unity游戏开发入门到精通——unity2D篇】
【unity实战】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架/工具集开发】
【unity游戏开发——模型篇】
【unity游戏开发——InputSystem】
【unity游戏开发——Animator动画】
【unity游戏开发——UGUI】
【unity游戏开发——联网篇】
【unity游戏开发——优化篇】
【unity游戏开发——shader篇】
【unity游戏开发——编辑器扩展】
【unity游戏开发——热更新】
【unity游戏开发——网络】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/86702.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/86702.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/86702.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的几何变换

【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的几何变换 文章目录 【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的几何变换前言模型变换(Model Transformation)观测变换(Viewing Transformation)视图变换(View Transformation)投影…

EXISTS 和 NOT EXISTS 、IN (和 NOT IN)

在 SQL 中,EXISTS、NOT EXISTS 和 IN 都是用于子查询的条件运算符,用于根据子查询的结果过滤主查询的行。它们之间的区别主要体现在工作方式、效率、对 NULL 值的处理以及适用场景上。 1. EXISTS 和 NOT EXISTS 作用: EXISTS: 检查子查询是…

GitHub 趋势日报 (2025年06月25日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 880 awesome 788 build-your-own-x 691 free-for-dev 427 best-of-ml-python 404 …

互联网大厂Java求职面试:Java虚拟线程实战

互联网大厂Java求职面试:Java虚拟线程实战 文章内容 开篇:技术总监与程序员郑薪苦的三轮对话 在一场紧张而严肃的Java工程师面试中,技术总监张工正对候选人郑薪苦进行深入提问。郑薪苦虽然性格幽默,但对技术有着扎实的理解。今天…

网络安全的两大威胁:XSS与CSRF攻击实例解析

在网络攻击中,XSS跨站脚本攻击(Cross Site Scripting)与CSRF跨站请求伪造攻击(Cross-Site Request Forgery)是两种常见的攻击方式,它们之间存在显著的区别。以下是对这两种攻击方式的详细比较: 一、攻击原理 XSS跨站脚本攻击 攻击者通过在Web页面中注入恶意脚本来实现攻…

如何一次性将 iPhone 中的联系人转移到 PC

许多重要的联系人都存储在您的 iPhone 上。为了保护关键信息,您可能需要将联系人从 iPhone 转移到 PC,这是一种有效的联系人备份方法。如果您在将 iPhone 联系人转移到电脑上遇到困难,现在可以从本文中学习 5 个有效的解决方案,然…

Spring Boot开启定时任务的三种方式 【@EnableScheduling注解,SchedulingConfigurer接口,Quartz 框架】

Spring Boot 开启定时任务的三种方式​ ​ ​ 在 Spring Boot 应用开发过程中,定时任务是十分常见的需求,比如定时清理日志文件、定期备份数据库数据、定时发送邮件提醒等。Spring Boot 提供了多种开启定时任务的方式,本文将详细介绍三种常见…

LLM 编码器 怎么实现语义相关的 Token 向量更贴近? mask训练:上下文存在 ;; 自回归训练:只有上文,生成模型

LLM 编码器 怎么实现语义相关的 Token 向量更贴近? 目录 LLM 编码器 怎么实现语义相关的 Token 向量更贴近?mask训练:上下文存在自回归训练:只有上文,生成模型一、核心机制:损失函数与反向传播的“语义校准”1. 损失函数的“语义约束”2. 嵌入层参数的“动态调整”二、关…

从OCR瓶颈到结构化理解来有效提升RAG的效果

当人们探讨如何让人工智能系统更好地从文档中查找和使用信息时,通常关注的是令人瞩目的算法和前沿的大型语言模型。但问题是:如果文本提取的质量很差,那么后续的努力都将付诸东流。本文探讨OCR质量如何影响检索增强生成(RAG&#…

SpringBoot -- 整合Junit

11.SpringBoot 整合 Junit 11.1 为什么需要单元测试 由于在SpringBoot开发过程中,每开发一个模块,有时需要从 controller、service、mapper 到甚至 xml 文件的编写全部开发完毕才能进行测试,这是十分浪费时间的,比如开发人员想测…

虚拟机远程连接编译部署QT程序

概要 逻辑 我们需要凑齐 QT库、交叉编译工具、sysroot这三大件。 交叉编译的程序是部署到板卡环境运行,需要构建和板卡一样的库环境。 sysroot是我们在虚拟机上自己命名的一个文件夹,包含开发板的运行系统所需的所有文件。 虚拟机是x64版本,开发板是arm64版本。 如果开发板…

基于SpringBoot的智慧旅游系统

以智慧旅游系统的设计与实现为研究对象,旨在通过科技手段提升旅游业的管理效能和游客体验。在系统设计方面,深入分析了地理特征、丰富的文化底蕴以及多样的自然景观。结合这些独特之处,构建了一个多层次的旅游管理系统,包括景点信…

下载最新版本的OpenOCD

Download OpenOCD for Windowsd: https://gnutoolchains.com/arm-eabi/openocd/

Geollama 辅助笔记:raw_to_prompt_strings_geo.py

1 GeoLifePreprocessingDF 1.1 创造函数 1.2 读取原始数据 读取这个DataFrame 1.3 处理原始DataFrame 1.4 生成对应prompt 1.5 打乱轨迹 1.6 打乱轨迹里面的事件

TDengine 如何打破工业实时数据库势力边界?

打破工业实时数据库势力边界,TDengine 时序数据库与工业 SCADA 深度融合 随着 时序数据库(Time Series Database)的日益普及,越来越多的工业自动化控制(工控)人员开始认识到其强大能力。然而,时…

渗透靶场:事件和属性被阻止的反射xss

本关很多标签被拦截了&#xff0c;需要使用 burp 模糊测试哪个标签可以用 <a>和<animate>可以使用&#xff0c;<animate>是<svg>标签中用来给动画设定属性的&#xff0c;看看<svg>可不可用 利用<svg>、<animate>、<a>来构造 这…

STM32中Usart的使用

目录 一、USART简介 1.电平标准 2.通信接口 3.硬件电路 4.串口参数以及时序 5.串口时序 二、USART结构介绍 1.USART功能框图 ​编辑 1.1 功能引脚 1.2 数据寄存器 1.3 控制器 1.4 波特率发生器 1.5简化结构图 2.数据帧 一、USART简介 USART&#xff08;Universa…

鸿蒙HarmonyOS 5小游戏实践:数字记忆挑战(附:源代码)

数字记忆挑战游戏&#xff1a;打造提升大脑记忆力的鸿蒙应用 在当今数字时代&#xff0c;人们的记忆力面临着前所未有的挑战。从日常的待办事项到复杂的工作任务&#xff0c;强大的记忆力都是提高效率和表现的关键。本文将介绍一款基于鸿蒙系统开发的数字记忆挑战游戏&#xf…

记录一个C#/.NET的HTTP工具类

记录一个C#/.NET的HTTP工具类 using Serilog; using System.Net; using System.Text; using System.Text.Json;namespace UProbe.Common.Comm.Http {public class HttpClientHelper{/// <summary>/// 发送HttpGet请求/// </summary>/// <typeparam name"T…

深度学习:PyTorch卷积神经网络之图像入门

本文目录&#xff1a; 一、二值图像二、**灰度图像*三、**索引图像**四、**真彩色RGB图像****星空图** 前言&#xff1a;这篇文章开始讲解CNN&#xff0c;此前讲解的人工神经网络&#xff08;ANN&#xff09;如果有小伙伴还不清楚&#xff0c;一定要多看&#xff0c;多练习&…