Home
Yzngo
Cancel

半透明物体的渲染

混合 - Blending 混合适用于半透明物体,只能在最后进行,因为之前的阶段,每个三角形,每个片元都是不认识的,没办法做混合。 混合过程:把当前片元的颜色值和帧缓存中的颜色值通过Apha值做计算。 混合方程:SrcColor×SrcFactor + DstColor × DstFactor Alpha Test Alpha Test 不使用混合,而是根据...

渲染管线

渲染管线 渲染管线就是GPU完成一次绘制(Drawcall)的过程,经过此流水线的计算,最终将要渲染的画面输出到帧缓存上,最后在屏幕或RT上显示出来。 渲染管线关注的是每一个drawcall,或者说每一个网格是怎样通过流水线绘制出来的,最后混合时只需要和各种缓冲区(各种全屏缓冲区记录了各种渲染所需要的信息)进行比较,不需要关注其他网格或其他drawcall。 顶点...

Navmesh

新版组件式导航系统 新版的组件式导航系统,功能比原版导航系统更多,有空可以看看。 Unity - Manual: NavMesh building components Navigation and Pathfinding NavMesh组成部分 导航系统几大组成   NavMesh ...

网络同步方案

网络同步 网络同步方案不是互斥的,可以混合使用。 同步方案的目标 同步信息模拟其他玩家 网络同步方案的目标一是在多人游戏中用最少的信息同步量来逼真地模拟其他玩家的一举一动,让我们在玩游戏的时候能看到其他玩家的位置、动作及状态。这里的关键词是“模拟”,本地设备中获取的信息由于网络因素通常都是延后的,如何通过这些延迟的信息来模拟真实角色的位移、动作、特效,是整个方案的关键。...

Animator

动画导入配置见:[[3D模型规范和设置]] Animator 组件 Locomotion - 移位, 从一个位置移动到另一个位置 Animator Override 如果两个Animator状态机完全相同,则可以创建Override Animator,如果不同则不可以。 Root Motion 根骨骼动画 角色的动画和移动速度是很难完全匹配上的。 动画快移动慢,会感...

Unity中的截图方法

使用ScreenCapture工具类 // 只能截全屏,不能针对相机,不能缩放 string path = Application.persistentDataPath + "/OneShot" + Time.realtimeSinceStartup.ToString() + ".png"; ScreenCapture.CaptureScreenshot(path, superSize)...

序列帧动画

序列帧动画 序列帧动画是事先准备好动画中的每一帧画面,然后依次播放。 序列帧动画适合卡通风格的2D游戏,特别是“像素风”,更是绝配。 使用 AnimationClip [[Animation Clips]] 使用 ShaderGraph 使用 Shader 顶点着色器 先定义帧动画的总帧数、图元排列的行数和列数,以及播放速度,在顶点着色时就计算好UV,计...

群体ai

群体决策有多种表现形式,如在战棋类游戏中,玩家与计算机对手都控制着多名角色。要让AI对玩家有一定挑战性,仅针对每一个AI角色编程是不够的,还需要有纵观全局的决策逻辑,可以称之为meta AI(元AI)或群体AI,如图11-32所示。简单来说,就是一个场外的AI物体也具有一个状态机,它代表的是全局性的状态,如全局待命、全局防御和全局进攻某个单位等。 群体AI还有一些更简单的实现方法,例如,在...

可演算式ai

策略类游戏中非常常见。根据两边的阵容数据和一个随机数种子来演算出整场战斗的每个细节。 应用 页游里的大部分自动对战。 卡牌游戏中的自动战斗。 特点 可演算式AI的逻辑一定是确定性的,不能是模糊的,或者会随机改变的,或者随时间变化而变化的,同样的数据第一次计算和多次计算的结果必须是相同的,才能最终体现出可演算的特征。 可演算式AI大都会根据时间轴来演化游戏的进程,...

音频规范和设置

Unity导入Audio音频的设置与优化项 根据平台选择合理的音频设置,原始音频资源尽量采用未压缩WAV格式。 当实现静音功能时,不要简单的将音量设置为0,应销毁音频(AudioSource)组件,将音频从内存中卸载。 长音乐 移动平台可以将音乐采样频率设置为22050Hz 大多数声音尽量采用Vorbis压缩设置,IOS平台或不打算循环的声音可以选择MP3格式, ...