当前位置: 首页 > news >正文

Unity游戏基础-5(一些细节)

本教程开始分享教学内容:Unity游戏基础,部分内容会包括Blender建模基础,Shader基础,动画基础等等,教程面向:建模、技术美术、游戏前端、游戏后端基础,适合美术与设计(数媒、环设、动画、产设、视传、绘画)专业、计算机(计算机科学与技术、软件工程、数媒)的同学学习。

这是第一章的结束,让我们加一些细节,其实在教程刚设计开始我就觉得有些难以上手,因为新手小白甚至不懂编程的小白来说前3节都是难懂的,所以我们今天来填一下我没有讲过的知识点

一、Unity的跨平台

这一内容会在后面的章节里面讲到,但是本节先提一个基础

Unity是一个非常强大的三维游戏引擎,可以稳定的跑在各大平台上面(Android、Windows、Mac OS、Linux、IOS、web GL)可以说几乎就是一套代码跑遍全平台(个人版还不支持 新Harmony OS,需要企业定制版),为了维护同一个产品,不同的平台,在历史上我们是有过教训的,就是QQ,QQ在之前是没有使用跨平台框架的,手机端(安卓/苹果),电脑(Win、Linux、Mac)用到的都是不同的代码(就上面而言就有5种),维护起来非常难受,而现在的QQ最新版采用了跨平台的框架(全电脑端)

 有网友表示,如今 QQ 的 Windows 版本就是 2009 年重构基础上“缝缝补补”建立起来的。

因此,有了跨平台,对于技术人员来说,要跨平台干的活也就只有在UI层面适配不同平台的活了,比如手机端的摇杆、技能、地图、跑跳、攻击等,而电脑端只需要隐藏这些只出现在移动端的控件。

二、材质和纹理

没有接触过Unity或者Blender等建模软件的是不了解这些东西的,有必要讲一下

在日常生活中,任意物品都有材质,比如玻璃、金属、纸张等等,这些材质是决定最终观众看到的东西,比如玻璃的标准透射率是1.45,表面如果光滑那么就是纯正的玻璃材质,如果粗糙度为1,那么就是毛玻璃效果。

在blender建模中,完成了白模之后就要给物体上材质,如果觉得材质合理了(材质效果堪比贴图),那就需要烘烤(bake)材质为纹理贴图,也可以通过UV展开来绘制纹理贴图

值得注意的是,Unity的材质不同于其他建模软件的材质,因此如果你不加处理直接导入Unity,那么不仅贴图会消失,而且部分材质也会失效,所以我提及了烘焙材质,它可以确定物体最终的纹理贴图和材质状态,在导入Unity时,只需要拖入FBX模型和对应烘焙的贴图即可。另外,修改器在导出的时候一定要勾选应用修改器,不然表面细分等修改是不会被导出的。

如图,草的贴图是在Blender里面通过渐变材质烘焙出来的

三、Shader、LOD

这里讲Shader太早了,Shader就是着色器,如上图的场景是比较明亮,但是右看起来比较难受,这时候就要调整全局Shader,又比如《原神》中二次元的风格:人物、环境(光照、石块、草地、路灯)等,夜晚是深蓝色的,而我们目前的夜晚是灰色的,这些全是由Shader完成的,Shader可以完成很多炫酷的特效(爆炸,撕裂,角色技能)。

LOD可以帮助低端手机节约性能开销,在保证画质一般的前提下,可以稳定流畅运行游戏,那么LOD就是一个超过多少距离,就使用一个少面的模型,比如一棵树我摄像机靠近时我要显示细节,走远了之后我其实也看不清什么细节了,但是渲染器还是会计算这个模型的各个面,所以在超过一定距离后就加载一个简易模型,最后超过太远的距离就直接不输出(地形直接就是一个轮廓)

LOD在优化性能方面起到了关键作用,减少不必要的开销

四、合理运用组件

Unity有很多组件比如RigidBody(刚体)、RayHit(射线)、EventTrigger(事件触发器)等

rigidbody是一个模拟真实物理运动的组件,如果配合的好可以和CharacterController一起使用,我们可以利用它来踢皮球

Ray射线可以运用在碰撞(视角碰撞、人物碰撞、子弹碰撞、选择物体)上,它虽然不是一个组件,但是我们当作为一个非常实用的方法

EventTrigger,类似于Win Form的button事件,这多使用在角色技能(短按长按)上,挂载EventTrigger的类Button控件(Image、Button、Canvas)可以接受鼠标事件(Pointer Down、Pointer Up),然后在脚本内编写触发代码

http://www.dtcms.com/a/442849.html

相关文章:

  • 浙江建设厅网站做门户网站难吗
  • 【MySQL|第二篇】基础篇下
  • 电子商务网站规划的原则视差设计网站
  • 打卡hot100
  • wordpress怎么弄网站做淘宝网站需要多大空间
  • 在springboot项目中使用redis实现锁
  • Spring IoC 超清晰讲解:Bean、容器、依赖注入全流程
  • 政务公开网站建设方案小说网站建设详细流程
  • Next.js create-next-app命令介绍
  • 如何做一个自己的网站公司建设网站需求分析报告
  • 《API网关在智能制造MES联动中的实战应用》
  • 番禺网站建设知乎qq中心官方网站
  • 阿里云 网站部署网站更换程序
  • JavaScript 输出
  • AngularJS Bootstrap:深入浅出指南
  • vs2015做的网站广东广州重大新闻
  • 机器学习决策树与大模型的思维树
  • 宁波建站wordpress网站安装插件
  • 无锡网站建设团队南通 外贸建站
  • 河源市网站建设东莞交易中心
  • [Linux基础——Lesson10.Linux环境下普通用户 sudo 提权]
  • 兰州网站建设兼职山东兴润建设集团网站
  • 内存总线(Memory Bus)是什么?
  • 深圳建筑业网站建设现在市场最火的网店平台
  • DrvBsp_I2C驱动_EEPROM(一)
  • JAVA实现评委打分
  • 建设网站需要哪些职位营销策略有哪些有效手段
  • 工艺品网站建设开发青羊区建设局网站
  • ViT实战一:Patch_embedding
  • Java8+新特性