unity未将对象引用设置到对象的实例_Unity基础教程-对象管理(八)——更多工厂(Where Shapes Come From)...

36c34d56238c00eab5b3c4c431b45d56.png

6e9b44e4e832e0232a551de6c9c9cc77.png

200+篇教程总入口,欢迎收藏:

放牛的星星:[教程汇总+持续更新]Unity从入门到入坟——收藏这一篇就够了​zhuanlan.zhihu.com
2e9c2900244dad372f98b8b9d94d3bc5.png
本文重点:
1、创建复合形状
2、每个形状支持多个颜色
3、为每个生成区选择工厂
4、保持对形状原始工厂的追踪

这是有关对象管理的系列教程中的第八篇。它介绍了与多个工厂合作的概念以及更复杂的形状。

本教程使用Unity 2017.4.12f1制作。

ee8d6afaab1964a732c7466ab4c84c64.png
更多形状、更多工厂、更多变化

1 更多形状

立方体,球体和胶囊并不是我们可以使用的唯三形状。我们可以导入任意的网格。同样,形状不必由单个对象组成,也可以具有自己的对象层次结构,并具有多个网格,动画,行为和其他内容。为了说明这一点,我们将通过组合多个默认网格来创建一些复合形状。

1.1 立方体嵌入球

我们先将一个立方体与一个球简单地组合在一起。创建一个立方体对象,然后创建一个均位于原点的球体。然后使球体成为立方体的子级。在默认比例下,球体隐藏在立方体内部。增大球体的比例,使其与立方体的面相交。比例为√2时,球体将接触立方体的边缘。使用较小的比例(如1.35)可使我们在立方体的每个面上产生凸起。

35181429093e8515e0f95e04f4512cd4.png

1d2a23084d6438b908e4d763e91ef327.png
立方体和球融合

要将其变成合适的形状,请将Shape组件添加到根立方体对象中。再将两个对象的材质设置为所有其他形状使用的相同白色材质。然后将其变成预制件。

1.2 复合胶囊体

通过组合三个旋转的胶囊可以制成更复杂的形状。从默认胶囊开始,然后给它两个子胶囊。将子节点旋转90°,一个围绕其X轴旋转,另一个围绕其Z轴旋转。结果是沿主轴具有六个突起的圆形形状,有点像之前的形状,但它没有立方体。

3faa5b87301ac576c2cbb237d6c0b40b.png

ca64a0f7109341f15165d1b48cffe083.png
复合的胶囊体

再次向根胶囊添加形状组件并设置材质,然后将其变为预制件。

1.3 复合立方体

对于最终的合成形状,我们执行相同操作,但现在使用一个立方体和两个立方体子节点。在这种情况下,请沿两个轴将子项旋转45°,一个轴XY,另一个轴YZ。这样就创建了立方体复合物变体之一,它是具有十字形挤压形状的复杂形状。

1d2834533d843d4ef4e6ccbe9cf886ae.png

457d0ab5523d33be5b5409489679bc32.png
复合的立方体

将Shape组件添加到根立方体,并将其也转换为预制件。

1.4 生成新的形状

为了能够生成这些新形状,我们所要做的就是将它们添加到我们的工厂中。

7b30e64436b60702d286eed616a83b82.png
六种形状的工厂

从现在开始,可以与旧形状一起生成新形状。但是它们看起来大多是白色的,因为只有具有Shape组件的根对象才具有随机的材质和颜色。子对象不受影响。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值