主流游戏相机实现 之Cinemachine 概述

《主流游戏相机实现》通过Unity 3D引擎和Cinemachine组件来实现主流游戏的相机设置,切换和管理的概念,习惯,基本原理,经验参数等。实现内容以动作游戏相机为主,但不限于动作游戏,也可以用于横版格斗、FPS、RPG等类型,需要自行调整和研究。

课程属于基础和进阶课程,适合对镜头控制感兴趣的读者。

《主流游戏相机实现》目录

1|Cinemachine 概述

2|《战双》相机分解和实现

3|《Sifu/师傅 》战斗相机部分分解与实现

4|多目标相机实现

5|《对马岛之魂》战斗相机部分实现

6|相机碰撞和场景交互处理

7|Demo工程


本文节选自UWA学堂的《主流游戏相机实现》第一节《Cinemachine 概述》。

1 基本组件组成

Cinemachine核心组件包括Brain和Virtual Camera(虚拟相机),Brain负责相机的切换,虚拟相机负责拍摄。

Virtual Camera

虚拟相机主要由六个模块组成,分别是:

Lens:包括调整FOV等参数;

Body:负责处理相机和跟踪目标之间的相对位置的这样一个关系;

Aim:负责处理焦点和跟踪目标在镜头中的相对位置;

Noise:模拟手持相机的晃动;后处理模块:让每个镜头有不同的后处理效果;

Extnesions可扩展模块:包括碰撞处理等功能。

Body属性提供了下列算法来移动虚拟相机:

- Do Nothing:不移动虚拟相机。

- Framing Transposer:在屏幕空间,保持相机和跟随目标的相对位置,可以设置缓动。

- Hard Lock to Target:虚拟相机和跟随目标使用相同位置。

- Orbital Transposer:相机和跟随目标的相对位置是可变的,还能接收用户的输入。常见于玩家控制的相机。

- Tracked Dolly:相机沿着预先设置的轨道移动。

- Transposer:相机和跟随目标的相对位置固定,可以设置缓动。

Aim属性提供了下列算法来旋转相机对准Look At的目标:

- Composer:将目标保持在相机镜头内,可以设置多种约束

- Group Composer:将多个目标保持在相机镜头内

- Do Nothing:不旋转相机

- POV:根据用户的输入旋转相机

- Same As Follow Target:将相机的旋转和跟随目标的旋转同步

- Hard Look At:将Look At目标固定在镜头中心的位置。

组织结构:

1.1 Brain和Virtual Camera执行过程

CinemachineBrain每帧通过VirtualCamera计算真实相机的位置,并同步到真实相机上。 真正的数据计算又是通过VirtualCamera上的流水线来计算的。 这是一个简化的流程说明,真实计算还有相机切换时的混合、流水线之外的Extension、和CinemachineCore对Cinemachine的全局管理等。

1.2 CinemachineBrain详细调用流程 主要可以分为两个时间节点和三件事。

- 时间节点

     - FixedUpdate之后

     - LateUpdate

- 三件事

     - 维护虚拟相机的状态,永远在LateUpdate。

     - 通过虚拟相机计算State,根据UpdateMethod的设置,在FixedUpdate之后或LateUpdate。

     - 将虚拟相机的State同步到真实相机上,根据BlendUpdateMethod的设置,在FixedUpdate之后或LateUpdate。

VirtualCamera中State计算流程

VirtualCamera中 Pipeline Stage

流水线阶段


适合读者

1、从事第三人称3D游戏研发的策划、程序、美术、分镜师以及独立制作人

2、希望提升游戏体验设计和实现能力,系统理解业务与技术如何结合的开发者

3、具备一定Unity引擎相机基础的同学

4、对镜头控制感兴趣的同学

5、重视3C和提升相机表现品质的群体

你将获得

1、主流游戏相机控制的实现思路和技巧

2、优化玩家体验的能力

3、优化产品品质和表现力的思路

4、运行视频以及Unity工程源码


更多精彩内容,欢迎关注UWA学堂:edu.uwa4d.com

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容