UE4搭建三维模型


上个学期选修了学院里开设的游戏程序设计这门课,学完以后感觉自己脱了一层皮orz,隔了大半年开始整理自己的实验报告,总感觉做了这么些东西,(虽然菜)总得留下点什么,希望再以后一点看到文档还能回忆起一点什么(网络备份),或许有学弟学妹看到了还能起一点参考作用。

这个实验是我们刚刚接触unity时,老师布置下来让我们熟悉坐标系统还有unity界面的。

一、实验要求

目的: 熟悉游戏引擎的场景构建功能。
要求: 手动搭建指定的三维场景。
示例图

二、软件核心代码(算法+代码文本)

因为这次实验中涉及到代码的书写比较少,所以我在这里叙述下自己完成这次实验的过程,以及在这个过程中出现的一些问题。
起初我看到给出的任务的时候,对几何图形进行了分析,了解到这个图形是一个相对对称的正十二面体,由十二个正五边形构成。其二面角夹角为116.56°,可以在做出基本元部件后通过旋转对称操作得到整个图形。除此以外,在搭建出正十二面体的基础上,还可以对其材质进行处理。

这个实验我是用UE4完成的。
首先我添加制作了基础元部件组,即3 * cube + 1 * sphere。将位于正中间的cube设置为父物体,其余部件设为子物体,方便后续的变化。
子物体设置
用上述的元部件组拼合成一个面,并将这个面存入空Actor P中。
面的合成
**注意:**这里做第一个正五边形面时一定要尽量精准,因为剩下的部件全部由此复制得到,一点细微的差距也会对最终的效果产生很大的影响。
正五边形内角为108°。
效果图
最开始用鼠标一个个点的时候,我是真的觉得我的手还不如脚好使。后来搭着搭着就下意识的注意快捷键W、E等等,也就稍微熟练了那么一点点吧…
基础平面做好了,我就开始按照组复制。

创建5个空Actor O1,O2,O3,O4,O5并旋转调节它们方向,后面作为面与面间的旋转轴。
复制粘贴Object P 得到P1,P2,P3,P4,P5并将他们依次分别附加到O1,O2,O3,O4,O5中作为子物体。设置P1,P2,P3,P4,P5旋转方式为**“绕父物体旋转”**。
绕父物体旋转
这个时候的前视图是这样子的:
前视图
在这里插入图片描述
**“绕父物体旋转”**很重要!而且这个父物体的方向也很重要,一定要调到正确的旋转轴以后,再把复制好的子物体附加上去,不然很多数据值会用着用着就乱了。
父物体方向
在这里插入图片描述
因为第一次做的正五边形形状不够精准,做出来的效果很一般,所以我重新做了一遍。下面是一半完成后的效果示意图:
在这里插入图片描述
此时虽然看起来只是做了一半,但是正十二面体是高度对称的,所以我又设置了一个父物体Rotate 把之前的一半复制了进去,然后将Rotate整体旋转180°。
绕轴旋转180度
旋转以后是这个样子的:
在这里插入图片描述
此时在右视图界面移动父物体Rotate,由下面第一张变为第二张图的样子:
在这里插入图片描述
切换到透视视角看看效果:

在这里插入图片描述
检查了一下,整体来说还算比较整齐,可以继续往下做了。

我们剩下的工作就剩下给正十二面体贴上材质了然后修正部分cube块组了。
我试了几个数值,发现在以x轴为旋转轴旋转54°的效果还不错。
在这里插入图片描述
(不停地调整不停地调整ing……
一个个组件的开始贴材质…我裂开了
所以说一开始做精准一点顺便贴上它的材质真的很重要!如果做的够精准就不用在调整耗费这么长的时间了!

在这里插入图片描述
很久很久以后…我终于改完了!
大功告成!!!!
在这里插入图片描述
最后的最后,我又试着使用Sky Sphere做了一个天空盒,(前面的截图是做好以后截得所以都已经有天空盒了)这样截图的时候也许就能好看点。Sky Sphere的很多参数我都还不是很了解。尝试了调节个别参数看效果:
在这里插入图片描述
设置不同光源下不同效果的天空:
在这里插入图片描述
然后就大功告成!

三、游戏运行效果(截图)

正视图

四、实验心得

说一说自己之前的失败尝试。
最开始的时候我企图通过坐标的计算,然后把这个正十二面体做出来。
我在图纸上给每一条边命名,标明了他们的名称,算出每个长条的中点,然后对应的三视图旋转调节得到了如下图所示的图片:
在这里插入图片描述

然而这样做的效果不尽人意:长条与长条的衔接效果很糟糕,想要再把小球插入进去需要耗费很大的精力去一点一点调节,而且没有分组、没有利用到正十二面体的对称性,之后如果要做变换运动会很复杂。
虽然这些坐标算了很久,但是因为没有分组、元素凌乱,我最终还是选择了换了一个方法完全重头再来…唉。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值