![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
游戏开发
文章平均质量分 88
Jerish_C
知乎专栏:https://www.zhihu.com/people/chang-xiao-qi-86/columns
微信公众号:游戏开发那些事
B站技术视频:https://space.bilibili.com/306838835
展开
-
我是如何学习游戏引擎的?
这是【游戏开发那些事】第51篇原创前言:游戏引擎,表面上看是一个工具,实质上却是一本“技术图谱”,每一个点击行为的背后都有着其独到的意义。每一个模块都索引着数以万行的工程代码、数以百计的科...原创 2021-09-27 09:45:00 · 7050 阅读 · 7 评论 -
五一将至,推荐几个和(女)朋友一起玩的游戏
前言:马上要放假了,这次不再写什么复杂高深的技术,来点轻松的话题吧~(欢迎转发,分享,点再看!)疫情期间,宅在家里无聊,书没怎么看,厨艺倒是精进了不少,也胖了不少。做菜做久了也有点腻了,...原创 2020-04-30 12:30:07 · 1332 阅读 · 2 评论 -
在网易游戏这一年
各位读者朋友们,大家好!春节即将到来,我在这里先祝大家鼠年大吉,想要的一切都“鼠”于你!回想去年的除夕夜,我还在桌前勤勤恳恳地撰写2018年终总结(详见:一名普通游戏开发者的年终总结),一切仿佛发生在昨天。不知不觉我在网易已经工作一年多了,也从零到一地经历了一个完整游戏项目的开发过程,结识了许多大佬,学到了许多技术,当然也踩了不少坑。这篇文章就是和大家唠一唠我这一年的的经历和成长,收获与感悟。...原创 2020-02-04 16:51:20 · 5404 阅读 · 8 评论 -
盘点游戏中那些“欺骗玩家眼睛的技巧”
从小到大,我们玩过数不胜数的游戏,从上世纪简陋的2D游戏到最近各种华丽真实的3A大作,视觉效果上来说是越来越震撼。然而,其实很多游戏为了提高效率或者节省资源,很多时候都采取了非常取巧的方式来达到某种表现效果,真实情况可能与玩家的认知大相径庭。这篇文章,就从游戏开发者的角度给大家扒一扒这些“障眼法”。“障眼法”数不胜数,种类繁多,这里面大体上分为下面几类。1.对玩家视角加以利用简单来说,就是...原创 2019-11-22 11:50:07 · 1826 阅读 · 0 评论 -
游戏中的角色是如何“动”起来的?
原创: Jerish, 微信公众号——游戏开发那些事这篇文章是为我的《Exploring in UE4》移动组件详解[原理分析] 做科普的。从红白机时代的超级玛丽,到PC时代CS里面的反恐精英,再到如今主机上栩栩如生的“荒野大镖客”。随着技术的进步,游戏中的这些角色,在移动的表现上愈加真实。我们会想,为什么有些游戏中的人物,移动起来非常不自然?而有些制作精良的游戏里,每个角色动起来都...原创 2019-10-27 22:17:26 · 4770 阅读 · 1 评论 -
游戏开发入门系列(目录)
进入游戏行业两年多了,处于一边实践一边学习的状态,一开始身边没有牛人引导感觉确实浪费了一些时间。偶然在Gad上看到这个系列的视频,觉得内容挺全面的,就定了一个月的计划把这些课程都看完了,收获不小,对游戏开发有了更为全面的认识。如果你想进入游戏行业,觉得学习资料太多很难入门,那不妨先看看这个系列的视频。我对每个课程都做了笔记,如果课程中遇到了什么问题,随时可以向我提问。(当然,我还是建议你先去查...原创 2018-02-05 22:21:34 · 65663 阅读 · 54 评论 -
游戏开发入门(九)游戏同步技术
视频链接:游戏开发入门(九)游戏同步技术(3节课 时常:约1小时07分钟) 第三个视频后9分钟没有声音,不过核心内容都已涉及到笔记与总结(请先学习视频内容):1.网络同步的概念与意义概念:任何一款网络游戏,为了尽可能的让不同玩家在同一时刻体验相同的内容,就必须要让不同的客户端看起来“同步”。意义:早期的单机游戏,所有的游戏内容都是在玩家自己的机器上运行,不需要给其他的玩家看...原创 2018-02-05 22:21:52 · 8319 阅读 · 0 评论 -
游戏开发入门(八)游戏中的场景管理
视频链接:游戏开发入门(八)游戏中的场景管理(5节课 时常:约2小时07分钟)授课者通过2D围棋的例子,逐步拓展成3D的虚拟游戏世界。这个3D游戏世界基本上就可以涵盖市面上所有类型的游戏了,我们通过各种手段去管理好这个游戏世界,就能快速的进行各种游戏逻辑的开发。笔记与总结(请先学习视频内容):1.什么是场景物体?什么是游戏场景? 游戏中所有具有空间属性的物体都是场景物体。 所有...原创 2018-02-05 22:20:28 · 10890 阅读 · 0 评论 -
游戏开发入门(四)逻辑与脚本开发
视频链接:游戏开发入门(四)逻辑与脚本开发(8节课 时常:约2小时30分钟 第4节看不了)笔记与总结(请先学习视频内容):1.逻辑系统目的 实现策划的设计文档 构建游戏玩法 实现程序与玩家交互2.逻辑系统看起来是一个技术含量没那么高的部分 但是其中涉及到的技术内容却是相当多的。逻辑系统是作为一个游戏项目里面最为复杂的系统之一,需要编写者在一开始的时候就尽可能的通过...原创 2018-01-17 22:22:57 · 22328 阅读 · 5 评论 -
游戏开发入门(三)图形渲染
视频链接:游戏开发入门(三)图形渲染(3节课 时常:约2小时20分钟) 视频链接:一堂课学会shader——渲染拓展课程(3节课 时常:约1小时20分钟)笔记与总结(请先学习视频内容):游戏开发入门(三)图形渲染笔记:渲染一般分为离线渲染与实时渲染,游戏中我们用的都是实时渲染。 1.实时渲染又可以分为2D渲染与3D渲染。 早期的2D渲染,是通过把一块内存(图片像素数据)...原创 2018-01-17 22:15:34 · 36192 阅读 · 13 评论 -
游戏开发入门(二)游戏中的设计模式
视频链接:游戏开发入门(二)游戏中的设计模式(3节课 时常:约2小时40分钟) 该视频主要围绕游戏中常见的设计模式展开讲解并实践,需要大家多多实践与理解笔记与总结(请先学习视频内容):1.有必要深刻的认识到设计模式的意义 游戏开发是一个软件工程,他的特点是需求极易变化。对于任何一个软件工程,我们要从代码的组织方式上来提高其可读性(别人也很容易理解),安全性(不能经常出bug),易用...原创 2018-01-17 22:02:52 · 40523 阅读 · 18 评论 -
游戏开发入门(七)特效系统
视频链接:游戏开发入门(七)特效系统(6节课 时常:约2小时20分钟)该视频课程与其他本系列的课程不太一样,因为在很多游戏或者很多引擎中并没有一个专门的“特效系统”,而是把各种特效存放在不同的模块里面,比如粒子特效放在粒子系统里,材质UV特效放到动画逻辑里面。这堂课所讲的内容表面上是讲解特效的相关内容,有一些分析感觉价值好像也不大,不过深入来说他更像是如何利用自己的经验来为项目开发一个高效...原创 2018-02-03 20:40:22 · 8535 阅读 · 3 评论 -
游戏开发入门(六)游戏物理引擎
视频链接:游戏开发入门(六)游戏物理引擎(4节课 时常:约1小时20分钟 第5节无内容) 该视频主要针对游戏中的物理概念以及应用等方面进行简单的讲解,并不会深入的去分析物理公式与推导细节。笔记与总结(请先学习视频内容):1.游戏应用物理的目的就是为了真实2.物理引擎: 可以认为属于游戏引擎的一个构成部分,但是可以独立剥离开来。游戏中的物理模拟的计算都是通过物理引擎根据真实世界...原创 2018-02-01 10:28:00 · 27115 阅读 · 5 评论 -
游戏开发入门(五)游戏动画系统
视频链接:游戏开发入门(五)游戏动画系统(8节课 时常:约2小时30分钟) PPT比视频要块一些 第二节与PPT对不上 视频中杂音太大,如果带耳机还听不清的话,建议直接看内容即可笔记与总结(请先学习视频内容):1.游戏的发展史也是游戏动画的发展史 最初的2D动画是通过序列帧图片来完成的,和动画电影原理一样,将多张图片连到一起就形成了动画,表现力比较差。如今的3D动画其实原理相同,但...原创 2018-01-30 18:11:38 · 14253 阅读 · 3 评论 -
游戏开发入门(一)游戏开发概述
视频链接:游戏开发入门(一)游戏开发概述(3节课 时常:约1小时03分钟) 该视频围绕电子游戏的发展与开发简单介绍了一些基本常识,同时提出并解决了几个问题 笔记与总结(请先学习视频内容):1.游戏机发展 20世纪70年代开始 首款主机magnavox odysse 80年代 红白机 80-90年代 各类非FC主机(PS,NDS等) PC单机游戏 90年代-2000年...原创 2018-01-17 21:55:54 · 70969 阅读 · 38 评论 -
游戏开发入门(十)游戏中的网络模块
视频链接:游戏开发入门(十)游戏中的网络模块(6节课 时常:约2小时20分钟) 上一节主要针对网络同步的细节与手段进行分析与讲解,这一节除了对一些常见的同步应用场景作解释外更多的会针对偏底层一些的网络内容进行分析。游戏中的网络与其它软件系统基本原理并无差异,基本上就是解决如何把网络消息快速安全的发送到其他端,然后其他端及时地处理该消息并做出对应的游戏表现。笔记与总结(请先学习视频内容...原创 2018-02-23 22:18:59 · 14136 阅读 · 2 评论 -
游戏开发入门(十二)游戏开发全总结
通过游戏开发入门系列的学习,是不是对游戏开发有了一个比较清晰的认识? 在最后一篇里面,博主试着概括性的对游戏开发做一个总结,欢迎各位提出意见来完善这篇博客~游戏模块总结:游戏逻辑模块系统:各种武器,状态,技能,背包,战斗等逻辑系统 动画模块系统:状态机,Montage,动画融合,IK等物理模块:给需要交互表现的对象赋予物理特性(包括刚体,流体,粒子,布料等),调整重力大小等各种...原创 2018-02-25 16:28:19 · 20581 阅读 · 5 评论 -
游戏开发学习交流群,欢迎加入(875867499)
如题,新建一个游戏开发学习交流群,会上传一些游戏开发、计算机基础、面试等资料,还会不定期的更新一些招聘启事原创 2019-09-22 23:18:13 · 3347 阅读 · 0 评论 -
一名普通游戏开发者的年终总结
此篇文章写于2019年2月15日随着春节的来临,我才觉得2018是真的要过去了。回顾这一年,确实发生了不少事,每件事多多少少对我的游戏生涯都产生了一定的影响。这次就把公众号当成一个记事本,记录一个普普通通的游戏程序员在2018年没什么传奇的故事。年初从去年春节放假回来后,我就投身于紧张的项目上线筹备工作。项目不断的添加内容,却没有什么正规的测试(没办法,测试人员基本上都被优化掉了),我们...原创 2019-05-02 12:53:50 · 2896 阅读 · 3 评论 -
如何学习大型项目的源码?
最近有朋友突然问我一个问题 “你怎么把UE4引擎代码看的那么深入的?”看到问题后我还愣了一下,因为这是第一次有人给我打了个”深入UE4”的标签。其实我接触虚幻引擎满打满算也就两年,确实谈不上深入。只是靠着平时的学习习惯积累,写了一些相关的技术文章。但这个事却让我突然意识到最容易被我忽略的学习习惯很可能是有一定价值和意义的。我只想着分享我对引擎学习的心得总结,却从没有想过分享我的学习方法,或...原创 2018-07-01 21:21:59 · 52393 阅读 · 37 评论 -
2018 Unreal Open Day参会总结
今年是第二次参加UnrealOpenDay活动,收获颇丰,也认识了很多业界大咖。这里稍微详细点的总结一下会议内容和参会心得。首先是行程:会议9点签到,9:45正式开始。地点和去年一样还是在宝华万豪酒店,位于上海马戏城地铁站旁边,从火车站到酒店也就半个多小时,很方便。今年可能是因为会议持续两天,会场变大等原因增加了活动预算,所以既没有衣服也没有午餐(附近有一个商场)。23号当天有三个...原创 2018-05-26 11:47:04 · 3288 阅读 · 0 评论 -
Steam游戏上线初期的总结与思考
原创 2018-05-09 14:42:32 · 3424 阅读 · 4 评论 -
游戏开发入门(十一)游戏引擎架构
链接:游戏开发入门(十一)游戏引擎架构(8节课 时常:约2小时40分钟)该堂课是对游戏引擎内容的一个概括总结,同时也是对游戏开发技术的一个相当全面的总结。 正如我在开篇所提到的,游戏引擎架构的学习有助于我们建立一个对游戏全局性的认识。笔记与总结(请先学习视频内容):下面我会按照视频的顺序自底向上的简单讲解各个概念,参考文中最后的架构图(英文版与中文版可以对照着看)。1.游戏引...原创 2018-02-25 16:13:20 · 49875 阅读 · 2 评论 -
UE4中的OnlineSubsystem与Session
想弄清UE里面的网络模块,始终绕不过OnlineSubsystem与Session这两个概念,博主一开始对这一块也挺头疼的。后来花了点时间,参考网上的资料,对这一块进行了一个相对全面的分析,希望对大家能有所帮助。总的来说,博主暂时把UE网络分成三个部分: 第一个部分是网络同步,包括同步机制,RPC等。(参考 UE4网络同步详解(一)——理解同步规则,UE4网络同步(二)——深入同步细节) ...原创 2018-02-03 09:51:46 · 8058 阅读 · 1 评论 -
UE4 AssetToolss的基本使用
一. 什么是AssetTools在..\Engine\Source\Developer路径下,Developer文件夹里面有UE4引擎的各项工具,包括日志输出工具MessageLog,崩溃显示工具CrashTracker等。每一个文件夹都是一个模块,都有一个Build.cs文件。AssetTools是其中的一个模块,用来在编辑器里处理UE4的不同类型的资源文件并显示相关信息。 如...原创 2018-02-03 09:12:40 · 5026 阅读 · 0 评论 -
UE4命令行参数解析
一 .命令行参数简述命令行参数是一连串的关键字字符串,当运行可执行文件时可以通过命令行或者可执行文件的快捷方式将其传入。它们的目的是自定义引擎运行的方式,以便符合开发人员或用户的需要。一般用途如下,注:命令行不区分大小写第一,这可以使得运行编辑器而不运行游戏变得很简单(只要加上几个字符即可,见图1-1)。第二,可以更方便的配置客户端IP,服务器以及其他更丰富的运行信息。第三,它也可以更加复...原创 2016-12-09 21:49:33 · 15221 阅读 · 1 评论 -
虚幻4DPI自适应缩放规则解析
UMG 支持与分辨率无关的 UI进行自动缩放,可以设置UI随窗口大小变化的股规则。在 ProjectSetting-Engine 部分下的 设置 菜单中,提供了应用于每个项目的默认 DPI 缩放规则。(4.6版本与新版本所在位置不同,看下图) 图 1 4.9版本的DPI设置界面 ...原创 2016-12-03 21:01:55 · 19685 阅读 · 0 评论 -
UE4反射系统简析(含实例过程分析)
一、UE4中的反射系统1.简述:1.1 什么是UE4反射在UE4里面,你无时无刻都会看到类似UFUNCTION()这样的宏。官方文档告诉你,只要在一个函数的前面加上这个宏,然后在括号里面加上BlueprintCallable就可以在编辑器里面调用了。按照他的指示,我们就能让我们的函数实现各种各样特别的功能,那这个效果就是通过UE4的反射系统来实现的。这看起来确实非常棒,不过同时给UE4原创 2016-10-23 15:44:25 · 25608 阅读 · 1 评论 -
Unity_2D游戏实例从零讲起(3)——基本菜单UI的实现
Unity3D_2D游戏实例从零讲起(3)——基本菜单UI的实现 游戏除了基本的画面渲染,操作对象等等,还需要各种UI菜单来辅助玩家,或是引导,或是做游戏设置。比如,登录菜单,图片的显示,人物血条等等。 游戏——辐射4的UI界面 为什么要有单独的UI制作系统呢?UI是任原创 2016-03-12 14:27:52 · 38108 阅读 · 7 评论 -
Introduction to C++ Programming in UE4——UE4官方文档翻译与理解(二)
虚幻4的编程以C++为主,虚幻引擎根据自自身特点重写了很多数据类型与结构,而且里面用到了很多新的C++标准内容以及自有的特性。研究UE4能同时提升我们对C++的理解以及对虚幻引擎的理解~在我写第一部分的时候还没有官方的汉语翻译,所以第一部分是由本人自己翻译的。既然现在已经有了官方翻译,那我就整理一下中英对照,不过我仍然会在其中加入自己的理解来帮助大家分析UE4本身的一些特性。原创 2016-08-28 13:40:19 · 2457 阅读 · 0 评论 -
Introduction to C++ Programming in UE4——UE4官方文档翻译与理解(一)
UE4这篇官方文档大体上讲解了UE4本身的诸多特性以及如何编写基本的C++代码,对理解UE4的编程基础内容非常有帮助,还是因为没有对于的汉语翻译。所以,这里我把这篇文档翻译出来,之后还会简洁的对其进行必要的总结。由于内容比较多,会分两个部分进行编写,持续更新~Unreal C++ is Awesome!(虚幻4的C++是了不起的)This guide is原创 2016-05-10 11:22:01 · 5505 阅读 · 0 评论 -
AnimMontage(中文)——UE4官方文档翻译与理解
这篇文章里面完全是中文翻译,不含英文,只是为了不熟悉英文又想快速了解AnimMontage的朋友,由于水平有限,里面一些翻译掺杂了我个人的理解,如果有任何问题欢迎提出,我会及时修改的~同时这里需要声明一点,官方的中文文档已经有很久没有更新(当前文档的版本应该是4.7以前的),如果需要的话,我可能会将当前的英文官方文档(当前是4.9版本)翻译出来。这里对AnimMontage动画系统稍作解释,蒙太奇现在一般是指一种拍摄手法。在UE4里面一般是用来更好的融合与衔接角色不同动作的动画。他可以让你的角色在上半身原创 2016-04-03 16:50:14 · 13864 阅读 · 0 评论 -
AnimMontage(中文翻译)——UE4官方文档
最近学习UE4的使用,发现这篇官方文档没有中文翻译,就想着翻译一下给大家参考参考吧。由于水平有限,里面一些翻译掺杂了我个人的理解,如果有任何问题欢迎提出,我会及时修改的~同时这里需要声明一点,官方的中文文档已经有很久没有更新(当前文档的版本应该是4.7以前的),如果需要的话,我可能会将当前的英文官方文档(当前是4.9版本)翻译出来。https://docs.unrealengine.com/latest/CHN/Engine/Animation/AnimMontage/index.html(官方中文文翻译 2016-03-30 17:00:25 · 9135 阅读 · 2 评论 -
Physics Bodies(中文翻译)—UE4官方文档
Physics Bodies Reference(物理实体参考)注:文中红色的部分都是我在实践中的一些理解,建议大家参考一下这页包含一个列举了所有物理属性和碰撞属性的的参考文档。这里要特殊说明一下Custome Plane里的三个参数X,Y,ZMax Depenetration Velocity最大脱离重叠速度Walkable Slope Override重写在该实体上可行走的坡度翻译 2016-04-06 23:04:17 · 11705 阅读 · 2 评论 -
Unity_2D游戏实例从零讲起(2)——手游开场动画的实现
一个酷炫的开场动画多多少少可以让游戏高大上起来(对于外行来说…)不管怎么说,我们发现基本上任何一款游戏都有自己独特的开场动画用来显示自己的品牌logo。所以接着我们上次教程,开始和大家分享如何制作出手游的开场动画。主要有以下内容:a.安卓Apk文件的发布生成b.如何在安卓平台播放视频c.基本脚本的编写 这里要注意,所谓的开场动画不过是一个开场视频,我们只是想办法让其在手游刚原创 2016-01-10 19:48:40 · 10663 阅读 · 6 评论 -
UE4锚点使用解析
之前对锚点一直不理解,在使用的时候发现完全搞不懂。这时候在网上查的时候发现也没有什么好的资料,所以仔细研究了一番,总结下来。除了虚幻4,其他的引擎在使用上应该也是相似的,这篇文档应该能解决你对锚点的疑惑。一.锚点解析为了说明锚点与画布大小没有关系,这里使用的是500*500的canvas。窗口的大小是1280*720。锚点的参数:左上角为(0,0)(0,0)。右下角为(1,1)(1,1)情况一:锚...原创 2016-12-03 20:40:22 · 14449 阅读 · 1 评论 -
UE4后处理简述
虚幻4提供了后处理特效的功能,可以实现景深,光溢出,色调调整,饱和度等等。要使用虚幻4的后处理,就一定要用到PostProcessVolumn,这是一种特殊的体积,可以放置在场景中的任何位置。 每个 PostProcessVolume 实质上是一个类型的混合层。其他混合层可以来自游戏代码(比如命中特效),UI 代码(比如暂停菜单),摄像机(比如暗角效果),或者 Mat...原创 2016-12-09 22:07:50 · 15412 阅读 · 0 评论 -
UE4打包(烘焙)错误 CSC : error CS2012: Cannot open '...BuildGraph.Automation.dll' for writing '...'
原本打包是正常的,因为不小心修改了一些打包相关配置(具体内容记不清了),导致再次打包或者Cook的时候就提示错误(如图所示)。 检查了各种配置发现不出问题,就只能研究日志内容。引擎提示无法打开自动化文件生成的F:\UnrealEngine4.14\Engine\Source\Programs\AutomationTool\BuildGraph\obj\Development\BuildGraph原创 2018-01-16 14:42:33 · 3199 阅读 · 0 评论 -
UE4开启SkeletalMesh三角面碰撞失败(EnableperpolyCollision无效)
解决方案:不要在角色蓝图里的SkeletalMeshComponent里面勾选EnableperpolyCollision,要找到SkeletalMesh资源蓝图,在资源蓝图里面勾选EnableperpolyCollision。(在UE4官方论坛也有人问过)分析:这可能是UE引擎里面的一个Bug。为了完全弄清这个Bug,我特意跟踪了一下代码,想深入了解原因的可以继续往下看。 首先要知道,开启...原创 2017-12-03 21:17:20 · 2697 阅读 · 0 评论 -
UE4 Config配置文件详解(2017.4.1更新)
之前文档中的错误已经更正,欢迎大家随时指出文章的不足。(如果只是想了解如何使用,直接看第三章节就可以了)一 配置总体概述UE4中,配置文件(Config)其实就是.ini文件。可以用于设置加载时要初始化的属性的值,配置信息按照键值对的格式来实现。虚幻4官方文档只有简单的使用规则,要想深入了解还需要查看源代码才行,所以这里我把自己的学习成果分享给大家。一个完整的配置文件格式如下图1-1所...原创 2016-10-13 00:01:47 · 35681 阅读 · 3 评论