Unity中material和sharedMaterial的区别,实现多个方向控制材质球

这也是踩坑的一个过程,但是到现在还有一个问题没有解决,希望能够解决。

或者说有其他的更好的控制材质参数的属性。

我的目的是实现一个水管的水流效果,水流要有方向。

首先呢,通常我们获取一个对象的材质信息使用如下方法:

Object.GetComponent<MeshRenderer>().sharedMaterial

给对象更改材质可以用:

Object.GetComponent<MeshRenderer>().sharedMaterial = 新材质;

更改对象材质的偏移使用:

Object.GetComponent<Renderer>().sharedMaterial.mainTextureOffset = new Vector2(x, y);

另一种方法也可以实现,例如:

Object.GetComponent<Renderer>().material.mainTextureOffset = new Vector2(x, y);

但是这种方法每次更改属性会新建一份内存,最后导致崩溃,除非使用单例模式,但是还是会增加更多的内存占用。

但是使用sharedMaterial更改参数,但是在动态更改材质的过程中,如果多个对象使用同一个材质并需要不同的属性的时候,均会以最后的属性为准,所以无法更改向量的方向。这是一个问题

当然会有后续了,使用shardMaterial更改参数,将材质分开,静态一个材质,动态方向1一个材质,动态方向2一个材质,加偏移量判断到达一定偏移量置零重新开始。这样一直更改这三个材质的参数即可达到要求。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Unity添加多个材质可以通过以下步骤完成。 首先,选择你想要添加多个材质的物体。可以在场景直接选择物体,或者在项目窗口选择物体的预制件。 接下来,打开Inspector面板,在Material点击“Add Material”按钮。这将添加一个新的材质槽。 在新添加的材质,你可以选择一个已经存在的材质,或者创建一个新的材质。点击材质槽旁边的小圆按钮可以选择已经存在的材质,或者点击“Create”按钮来创建新的材质。 如果选择创建新的材质Unity会自动为你创建一个新的材质,并在Inspector面板显示材质的属性。你可以根据需要调整这些属性,如颜色、纹理等。 在每个材质,你可以按照上述步骤重复添加多个材质,以及选择不同的材质属性。 在场景使用多个材质时,可以通过选择不同的材质槽来设置不同部分的材质。你可以通过拖拽已有的材质到物体上来快速切换材质,或者可以通过编写脚本来在运行时动态切换材质。 总结起来,Unity添加多个材质可以通过在Inspector面板Material点击“Add Material”按钮来添加多个材质槽,在每个材质选择已存在的材质或创建新的材质。在场景使用多个材质时,可以通过选择不同的材质槽来设置不同部分的材质。 ### 回答2: Unity是一款非常强大的游戏开发引擎,可以用于开发多种类型的游戏。在Unity添加多个材质是比较常见和基础的操作。 要在Unity添加多个材质,首先需要创建多个材质。可以通过在Project面板右键点击创建->材质即可创建新的材质。接下来,可以将创建的多个材质分配给不同的游戏对象。 一种常见的做法是将多个材质分配给一个物体的不同部分。例如,假设我们有一个立方体,想要给它的不同面分配不同的材质。我们可以先选择立方体,然后在Inspector面板找到Material属性。 点击Material属性旁边的小圈圈图标,选择需要的材质。如果需要添加多个材质,可以通过再次点击小圈圈图标来为其他面选择不同的材质。 除了为不同部分分配不同的材质,还可以为同一个物体的不同Renderer组件分配不同的材质。比如,对于一个模型,其有多个子物体,每个子物体都有一个Renderer组件。我们可以在Inspector面板找到Renderer组件,然后在其Materials属性选择需要的材质。 通过以上操作,我们就可以在Unity添加多个材质。这些材质可以实现不同的纹理、颜色和其他可视效果,为游戏对象赋予丰富的外观。这是实现游戏世界多样化和可视化的重要工具之一。 ### 回答3: 在Unity添加多个材质可以通过以下步骤实现。 首先,确保项目已经有所需的材质。如果没有,可以通过创建新的材质或导入现有的材质来获取所需的材质。 然后,选择需要添加多个材质的物体。在Hierarchy面板选择对应的物体。 接下来,打开Inspector面板,在其能够找到Material属性。点击该属性右侧的圆圈按钮,会弹出材质列表。 在弹出的材质列表,可以选择一个或多个材质。可以通过多选或按住Shift键来选择多个材质。 选择完所有需要添加的材质后,点击Inspector面板上的Apply按钮,即可将所选的材质应用到物体上。 此时,物体上的材质已经成功添加。 需要注意的是,对于复杂的模型或具有多个部分的物体,可能需要分别给每个部分分配不同的材质。可以通过类似的方式,逐个选择物体的不同部分并为其分配不同的材质。 另外,要记得在使用多个材质时,进行调整和修改材质属性的时候,需要单独针对每个材质进行调整,而不能一次性的修改所有的材质属性。 以上就是在Unity添加多个材质的简要步骤。希望可以帮到您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NS_Speak

避免各种踩坑,请多关注!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值