当前位置: 首页 >  在线学习 >  在Houdini中创建布料,并导入到Unity中

在Houdini中创建布料,并导入到Unity中

导读:在Houdini中创建一个具有物理效果和贴图的布料,导入到Unity中,实现一个效果良好的、可以与模型互动、有贴图的静态布料模型。.参考视频:Houdini+Unity 2021制作布料全流程!_哔哩哔哩_bilibili.1、创建节点.首先创建一个obj文件:.随后右键这个节点

在Houdini中创建一个具有物理效果和贴图的布料,导入到Unity中,实现一个效果良好的、可以与模型互动、有贴图的静态布料模型。

参考视频:Houdini+Unity 2021制作布料全流程!_哔哩哔哩_bilibili

1、创建节点

首先创建一个obj文件:

随后右键这个节点,创建一个Digital Assret。

进入Type Properties界面,可以设置属性。

在打开的面板中找到Parameters选项卡,可以在这里设置hda文件向外界暴露的属性。

我们可以在unity的属性界面更改暴露出来的属性,方便操作。

双击进入obj文件中。

按下右键创建一个网格grid,创建一个uvproject,以及一个remesh

grid是基础的网格面,uvproject能为我们设置uv,remesh能够改变网格形状,使其不是标准的长方体。

可以调节其中的属性来优化效果。例如remesh组件中的target size可以调整网格大小:

继续创建:

用vellumcloth以及vellumsolver来模拟布料,创建一个getcloosion来模拟碰撞

下面接入timeshift。这能够使模型停止在某一帧上。在unity中我们通过调整可以让布料停止在空中,当然也可以完全落下。

添加vellumpostprocess,随后添加polyreduce以减少不需要的面,提升性能。

使用switch节点连接,我们后续可以在unity中设置是否使用polyreduce

最后添加一个unity material以及输出output。

2、调整属性

调整属各个节点的属性,满足自己的要求。

例如,可以让网格面更大、更小,调整位置、修改polyreduce的百分比等等

在unity material中,填写如下代码以设置材质:

3、设置暴露属性

打开前面提到的菜单,我们使用alt+鼠标中键点击物体的某个属性,就能够将属性添加到暴露出来的属性中。

这样后面我们就能在unity中编辑这些属性。

首先Alt+鼠标中键点击暴露grid节点的size属性,让我们能够在untiy中编辑网格面的大小。

Alt+鼠标中键点击的时候请保持属性界面一直开着,如上图所示。

暴露remesh节点的target size属性。

暴露getcollsion节点的object1属性。暴露后会呈现绿色。

暴露timeshift的frame属性,方便在unity中设置。

暴露polyreduce的percent to keep属性。

暴露switch节点的select input属性。

4、找到hda文件

属性界面中,最上面会显示hda文件的所在位置。在这里就能找到hda文件

5、导入unity

导入hda文件前,需要找到Houdini的Unity包,插件网址:

Unity Plug-In | SideFX

将这个包拖到unity中安装即可。

安装完包之后,将hda文件拖到unity的文件中导入。

6、在 Unity 中设置

将hda文件拖动进场景中。

通过修改右侧的属性调整最终效果。

首先创建一个material,然后按下右键选择copy path

将得到的路径粘贴到布的material属性中。这样布就有了材质。

材质贴图可以到https://ambientcg.com下载

在collision input中点击add slot添加碰撞,把需要参与碰撞的模型拖到Input中:

这样,布料就有了碰撞。

调小target size,调成0.2以提高模拟精度。

调整time shift到合适的值,如果时间太短的话布料可能会呈平面不动。

调整其他属性,例如布的大小。

点击Rebuild将刚才的设置应用一下。

设置良好的情况下,模拟出来的效果非常漂亮:

内容
  • 一文揭秘DDD到底解决了什么问题
    一文揭秘DDD到底解决了什么问题
    2023-12-01
    DDD作为架构设计思想帮助微服务控制规模复杂度,那它是怎么做到的呢?.一、架构设计是为了解决系统复杂度.谈到架构,相信每
  • Unity实现3D物体遮挡血条
    Unity实现3D物体遮挡血条
    2023-12-08
    Unity 实现3D物体遮挡血条.######.前言:在游戏开发中,我们经常会遇到UI和3D物体的层级遮挡问题,最常见的
  • 一个公式让你35岁以后能越过越好!大神修炼心法
    一个公式让你35岁以后能越过越好
    2023-12-08
    前言.Cocos 的老铁,如果你这几天没有被麒麟子给卷到?那说明你还没有真正进入 Cocos 圈子里来。为什么这么说呢?
  • C++学习-static
    C++学习-static
    2023-12-02
    全局变量使用:.作用是限定全局变量的作用范围,只能在当前文件使用,类似给它加了个private属性。.其他文件即使使用e
  • 【Oculus Interaction SDK】(五)设置不同的抓握手势
    【Oculus Interact
    2023-12-10
    前言.前段时间 Oculus 的 SDK.频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现
  • 吃透单调栈(2)——解两道Hard题:接雨水、柱状图中最大的矩形问题
    吃透单调栈(2)——解两道Har
    2023-12-04
    怎么想到要用单调栈的?.这类题目的数据通常是一维数组,要寻找任一个元素的右边或者左边第一个 比自己大 或者小 的元素的位