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),然后在脚本内编写触发代码

相关推荐
mxwin14 小时前
Unity Shader 光线追踪原理与实战案例
unity·游戏引擎
棉猴18 小时前
玩游戏学Python9-算术运算符应用1
python·游戏·pygame·玩游戏·游戏编程
地狱为王1 天前
Unity使用DPDFNet实现实时语音增强(降噪)
unity·语音增强·降噪·dpdfnet
平行云PVT1 天前
国产信创实时云渲染解决方案:如何实现数字孪生与三维应用云化部署?
unity·webrtc·unreal engine·实时云渲染·国产信创·摩尔线程·砺算科技
有什么事1 天前
云游戏软件与云手机的技术分野,云端渲染底座上的两条产品路线
游戏·云原生·智能手机
夏炎黄1 天前
Terrain地形剪裁
unity
小贺儿开发1 天前
DeepSeek + Codex + MCP:Unity 游戏开发实测
科技·游戏·unity·ai·程序员·编程·deepseek
新的瑞拉公主1 天前
Cocos plist 粒子一键导入 Unity:Editor 工具实现与参数映射
unity·游戏开发·cocos2d-x·粒子系统·editor工具
淡海水1 天前
03-02-架构篇-Boehm GC架构解析
unity·架构·c#·gc·boehm
xcLeigh2 天前
Unity基础:Instantiate实例化——在运行时动态创建游戏物体
游戏·unity·游戏引擎·教程·instantiate