随笔分类 - Unity3D
本专栏收录了Unity3D相关技术栈
摘要:1 简介 AudioSource组件中介绍了音频的播放,本文将介绍基于 VideoPlayer 组件实现视频播放。 VideoPlayer 属性面板如下: Source:视频源类型,有 2 种类型:Video Clip、URL; Video Clip:视频片段; Play On Awake:
阅读全文
摘要:1 需求实现 粒子系统ParticleSystem 中介绍了粒子初始化、粒子发射、发射器形状、渲染器、碰撞、子发射器、拖尾等粒子系统的基本用法,本节将基于粒子系统实现烟花特效。 实现需求如下(资源见→Unity3D烟花特效预设体文件): 粒子发射阶段,只有一个粒子(记为 Spindle 粒子
阅读全文
摘要:1 简介 拖尾(TrailRenderer)、线段渲染器(LineRenderer)、粒子系统(ParticleSystem)是 Unity3D 提供的三大特效,其中粒子系统的功能最为强大,特效也最炫酷,但操作也最复杂。粒子系统中,不断地有粒子生成和粒子消亡,一般而言,粒子消亡速率和生成速率保持
阅读全文
摘要:1 LineRenderer 简介 LineRenderer 组件用于绘制线段,可以调整线段条数、端点坐标、颜色、宽度等属性,其属性面板如下: Materials:线段材质,最好设置为 Default-Line; Positions-Size:线段端点个数; Positions-Element:
阅读全文
摘要:1 TrailRenderer 简介 TrailRenderer 组件用于实现拖尾效果,可以调整拖尾颜色、时长、宽度等属性,其属性面板如下: Materials:拖尾材质,最好设置为 Default-Line; Time:拖尾时长; Width:拖尾宽度,可以是不等宽的; Color:拖尾颜色,
阅读全文
摘要:1 前言 导航系统中介绍了导航的基本用法,但是不能解决分离路面导航问题。如下图,胶囊体需要导航到立方体位置,但是路面不连续,烘焙(Bake)导航网格后,断开处也没有导航网格,因此,胶囊体导航到分离路面边界处就会停下来。 角色在分离路面边界处,存在两种行为:1. 水平跳,2. 往下跳或往上跳。
阅读全文
摘要:1 NavMeshObstacle组件 导航系统、分离路面导航中路障都是静态的,程序运行过程中烘焙的导航网格一直不变,本文将进一步讲解动态路障场景下导航的实现。 对于动态路障游戏对象,除了要设置 Navigation Static,还需要添加 NavMeshObstacle 组件,用于标记该
阅读全文
摘要:1 导航系统简介 导航系统用于智能避障并寻找目标物体,如:王者荣耀中,当玩家跑到敌方塔的攻击范围内,敌方塔就会发射火团攻击玩家,当玩家逃跑时,火团会智能跟随玩家,其中智能跟随就使用到了导航系统。 1)导航系统使用流程 将地面、路障等静态对象的 Static 属性设置为 Navigation
阅读全文
摘要:### 1 灯光简介 在 Hierarchy 窗口右键,选择 Light,再选择具体的灯光类型,在 Inspector 窗口查看灯光组件如下: ![img](https://img-blog.csdnimg.cn/fcfe0239346f4378861d414c42403f84.png) - T
阅读全文
摘要:1 IK简介 2D动画、人体模型及动画、人物跟随鼠标位置中介绍了 Aniamtion、Animator、人体模型、人体骨骼、人体动画等基础知识及人体动画的应用,本文将进一步介绍 IK 动画。 反向运动学(Inverse kinematics,IK)反映的是一种由手部带到肩部的运动形式,在这个
阅读全文
摘要:1 简介 2D动画、人体模型及动画、人物跟随鼠标位置中介绍了 Aniamtion、Animator、人体模型、人体骨骼、人体动画等基础知识及人体动画的应用,本文将进一步介绍动画混合。 实现动画混合有混合树(Blend Tree)和动画图层(Layers)两种方式: 混合树:将多个动画片段以位
阅读全文
摘要:1 动画回调函数 动画回调函数是指动画在开始时、执行中、结束时回调的函数,主要有:OnStateEnter、OnStateUpdate、OnStateExit、OnStateMove、OnStateIK。 1)动画状态判断 Animator animator = GetComponent<A
阅读全文
摘要:1 简介 1)AudioSource 与 AudioListener 简介 AudioSource(音频源)组件用于控制播放 AudioClip(音频片段),能够控制 2D 和 3D(距离越远,声音越小)声音播放,它一般挂在产生声源的游戏对象上。 AudioListener (音频监听器
阅读全文
摘要:1 游戏对象 2D动画和人体模型及动画中介绍了 Aniamtion、Animator、人体模型、人体骨骼、人体动画等基础知识,本文将通过 “人物跟随鼠标位置” 案例加强对 Unity3D 动画的理解。 1)游戏界面 2)游戏对象 由于 Unity3D 官方人体模型(Ethan)皮肤是
阅读全文
摘要:1 前言 2D动画 中初步了解了 Animation 和 Animator,本文将进一步学习 3D 动画,并介绍 人体模型相关内容。 模型制作软件主要有:3DMax、Maya,模型存储格式主要有:.max、.fbx、.obj,动画存储格式:.fbx,Unity3D 只支持 fbx 格式。
阅读全文
摘要:1 图片处理 通过 PS 软件将以下 gif 文件中的黑色背景删除,并将其中的 18 个图层分别保存为 png 格式图片。 2 游戏对象 1)游戏对象层级结构 2)Transform组件参数 | Name | Type | Position | Rotation | Scale | Co
阅读全文
摘要:1 前言 1)场景切换 场景切换可以使用 SceneManager 的 LoadScene 和 LoadSceneAsync 方法,如下: public static void LoadScene(string sceneName) public static void LoadScene(
阅读全文
摘要:1 简介 相机用于渲染游戏对象,每个场景中可以有多个相机,每个相机独立成像,每个成像都是一个图层,最后渲染的图层在最前面显示。 相机的属性面板如下: Clear Flags:设置清屏颜色,Skybox(天空盒)、Solid Color(纯色)、Depth Only(仅深度,画中画效果)、Do
阅读全文
摘要:1 需求实现 项目代码见→坦克大战1.1.0 1)人机交互 玩家通过 ↑ ↓ ← → 键(或 W、S、A、D)键控制己方坦克平移; 玩家通过滑动鼠标右键控制己方坦克左右旋转; 玩家通过鼠标左键(或空格键)控制己方坦克发射炮弹; 玩家通过 ESC 键控制窗口全屏和恢复; 玩家通过 Q 键控制退
阅读全文
摘要:1 简介 控制角色移动的组件主要有:Transform 组件、Rigidbody 组件、CharacterController 组件。Transform 组件通过控制角色位置实现移动,Rogidbody 组件通过控制角色速度实现移动,CharacterController 组件通过控制角色速度和
阅读全文