自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

微浪游戏

不定期分享UE4游戏开发干货,读书笔记,学习经验。可关注微信公众号:微浪游戏,每天第一时间在微信公众号更新。

  • 博客(56)
  • 收藏
  • 关注

翻译 机器学习第一章笔记

1 GitHub linkhttps://github.com/ageron/handson-ml2 什么是机器学习?机器学习是一门能够让编程计算机从数据中学习的计算机科学。系统用来学习的示例,我们成为训练集3 为什么要机器学习?对于哪些传统根本无法解决的复杂问题,通过好的机器学习技术可以找到一个解决方案 对于现有解决方案需要大量手动调整或者是规则列表超长的问题,通过机器学...

2019-05-16 17:51:43 250

原创 Python 项目实践二(生成数据)第一篇

上面那个小游戏教程写不下去了,以后再写吧,今天学点新东西,了解的越多,发现python越强大啊!数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数据集可以是用一行代码就能表示的小型数字列表,也可以是数以吉字节的数据。 最流行的工具之一是matplotlib,它是一个数学绘图库,我们将使用它来制作简单的图表,如折线图和散点图。然后,我...

2018-03-06 18:56:56 445

原创 UE4从零搭建CF游戏关卡(蓝图篇)

一 往关卡中放置物体二 Static Mesh 和 BSP从今天开始我们要建立一个类似CF游戏的场景,不写一句代码,纯蓝图实现。三 英语学习今天早上开会,经理说了一件让我震惊的事情,她说最近大Boss在一直在上海,在办公司要说英语,开会也用英语,不然被抓到有被开除的危险,我的英语很不好,心累,所以要抓紧时间学习英语,一下是今天的学习总结:

2017-03-01 22:29:27 736

原创 UE4中的单映射:TMap容器

UE4中的单映射:TMap容器一、TMap是么TMap是UE4中的一种关联容器,每个键都关联着一个值,形成了单映射关系。因此你可以通过键名来快速查找到值。此外,单映射要求每个键都是唯一的。类似C++中的Map.二、创建和填充单映射如果你想创建一种单映射关系,每一个角色的名称对应着价格:1TMap

2017-02-21 21:59:32 2511

原创 3D游戏开发之UE4中的集合:TSet容器

好久没有更新了,最近一直在老家过年,网络不通的,今天才有时间更新一集。一、TSet是什么UE4中,除了TArray动态数组外,还提供了各种各样的模板容器。这一节,我们就介绍集合容器——TSet。类似于TArray,尖括号里面的T是模板类型,可以是任何C++类型。一个集合表示了一组互不重复的数据元素。比如TSet表示了一组float集合,TSet表示了一组FString集合。二、创建和填充集合

2017-02-16 13:51:51 265

原创 《将博客搬至CSDN》

在CSDN上开通博客啦,以后也可以在CSDN上面看喽!或许内容会有一些差别的,欢迎关注!博客地址:http://blog.csdn.net/monaso

2017-02-16 13:51:47 220

原创 3D游戏开发之在UE4中创建非玩家角色(NPC)

接着上节我们继续学习,现在我们来创建一些NPC(non-playable characters,非玩家角色)。在这个游戏中,当我们靠近NPC时,它们会做出相应的反应。一 创建C++类1) 在UE编辑器中,打开文件-新建C++类,选择从Character(角色)类继承,然后命名子类为NPC。2) 编写代码。打开NPC.h文件: 添加头文件:(注意包含头文件必须在#include "NPC.ge

2017-02-16 13:51:42 575

原创 游戏开发之在UE4中编写C++代码控制角色

当你运行我们上次做完的项目,你可能会意识到我们移动的摄像机还是默认的那个摄像机,这个默认的摄像机可以自由飞翔。这一节,我们要使得开始的角色是我们的一个Avatar类的实例对象,并且使用键盘控制我们的角色。一 创建游戏模式类首先我们要明白什么是GameMode?GameMode包含了各种各样的游戏规则和让游戏引擎描述这个游戏是怎么玩的。1. 创建游戏模式的步骤如下:1) 点击文件 --> 新

2017-02-16 13:51:37 788

原创 游戏开发之UE4添加角色到场景中

接着上次继续学习,现在我们已经有了一个场景并且运行了,我们需要添加一个角色到场景中。要这样做,我们必须从UE4的GameFramework类继承它。一. 创建一个从Character类继承的类从基本框架类继承是很简单的: 1) 在项目中打开你的UE4编辑器。2) 在文件,选择“新建C++类”。3) 这里你可以选择从Pawn类(Pawn类从控制器接收输入)继承或从Actor类继承。不过我们

2017-02-16 13:51:32 4984

原创 梦想贵在坚持 第一周(1.9-1.15)

Day1 Monday1 读书:《车轮上的瓦尔登湖》 半个小时,2 健身:呼啦圈20分钟,深蹲60个,运动单车30分钟,3 英语:半个小时,来自微信公众号:爱英语。4 天天练:You're reading too much into it! 你想太多了!5 每日一句:I believe in me more than anything in this world 在这个世界上我最相信自

2017-02-16 13:51:28 310

原创 UE4新手编程之创建空白关卡和添加碰撞体

让我们接着上次继续学习UE4引擎,今天我们学习下怎样创建空白的关卡以及添加碰撞物体。一. 创建空白关卡1) 点击文件 -> 新建关卡(或者按快捷键Ctrl+N)。2) 你可以选择Default(默认)或空关卡。不过选择空关卡比较好,理由迟些会解释。3) 新的空关卡会一片漆黑。3) 现在让我们从内容浏览器中添加一些物体到场景中去。将StarterContent/Shapes中的Sha

2017-02-16 13:51:23 4384 1

原创 荒野、车居生活与自由世界——读《车轮上的瓦尔登湖》

用了三天时间读完《车轮上的瓦尔登湖》(Walden on Wheels),畅快,尽兴。也许你还停留或流连于19世纪美国作家亨利• 戴维• 梭罗的名作《瓦尔登湖》优美沉静的篇章中,而时间弹指一晃,如今已是信息流奔涌的21世纪。   这本《车轮上的瓦尔登湖》由当代美国80后作家肯• 伊格纳斯所写。通过离群索居的“车居”试验,试图探索一种低成本消费生活模式,由此卸掉背负一身的沉重债务,寻找一方通往自由

2017-02-16 13:51:21 1248

原创 UE4新手编程之创建C++项目

虚幻4中常用的按键和快捷键虚幻4中有一些按键和快捷键很常用,牢记它们并运动到实际的项目开发中,将会大大地提高你的工作效率和使得工作更简便快捷。下面将列举它们出来:按键  动作 鼠标左键  选择actor 鼠标左键+拖动  前后移动和左右旋转摄像头 鼠标右键  选择actor并打开右键菜单 鼠标右键+拖动  旋转摄像头方向 鼠标左键+鼠标右

2017-02-16 13:51:16 3594

原创 浅谈UE4引擎

首先要说的是,游戏开发是一项高度复杂的代码开发工作,编程语言只是最基本的知识,它涉及的内容还有计算机图形学、3D数学、物理学等复杂的学科。但是若需要学完这么多知识才能开发游戏,恐怕许多人都已经断气了,更谈不上开发游戏了。所以前人就把各种复杂的代码封装起来,使得一般的游戏开发者可以更加接近游戏的逻辑和功能性方面的代码,而无需接触最底层的知识。  游戏引擎就是引擎开发者已经写好的一堆代码框架,游戏开

2017-02-16 13:51:11 3259

原创 2017计划

不知不觉2017年已经过了九天了,元旦前一天下午一个初中同学想拉我入伙,开始他的宏图大业(办一家IT培训机构),我们交流了一下午,他给我讲了这几年的种种经历(我们从高中毕业到现在5年多没有见面了),他说他大学看了二三百本书,大二的时候自己创业,在他们学校附近开了一家炸鸡店,赚了不少钱,之后想把生意做大,独自去郑州大学附近又开了一家分店,生意不好,赔本了,然后去北京闯荡,干过快递员,摆过地摊,闲暇的

2017-02-16 13:51:07 202

原创 UE4新手之编程指南

虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程。 新的游戏类、Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 XCode之一编译后可以在虚幻编辑器中反映出全部变更内容。 蓝图可视化脚本系统是一个强劲的工具,可以让类通过连接函数区块和属性引用来在编辑器中进行创建。  C++类可以作为蓝图类的基类使用,并且这样

2017-02-16 13:51:02 1792

原创 怎样做一个卓越的程序员

1. 不要为过去买单不要活在过去,今天才是最最重要的,明天更重要。不要弥补过去,那样会错过今天和明天,更会把自己迷失在过去的阴影中,会造成总是犯错,又总是为过去改过,于是生活在一个怪圈之中。2. 量化目标,把目标具体化千万别把一些:掌握,熟悉,高级,专家等一些非常抽象的标准作为你的目标,仔细想一想:什么叫掌握,什么叫熟悉, 什么叫高级什么又叫专家呢? 这些东西不同的人会有不同的理解。要用

2017-02-16 13:50:59 221

原创 UE4新手引导之下载和安装虚幻4游戏引擎

1) 进入虚幻4的官方主页(https://www.unrealengine.com/) 这里你可以获得关于虚幻4的最新资讯,包括版本更新、博客更新、新闻和商城等。自2015年起,该引擎已经提供免费下载的服务。 除了UE4的官网主页,我也推荐你收藏如下网站: 英文文档:https://docs.unrealengine.com/latest/INT/ 中文文档(未翻译完全):https:

2017-02-16 13:50:55 856

原创 UE4新手引导入门教程

请大家去这个地址下载:file:///D:/UE4%20Doc/虚幻4新手引导入门教程.pdf

2017-02-16 13:50:52 1804 3

原创 Win.ini和注册表的读取写入

最近在做打包的工作,应用程序的配置信息可以放在注册表文件中,但是在以前的16位操作系统下,配置信息放在Win.ini文件中。下面介绍一下Win.ini文件的读写方法和注册表的编程。先介绍下Win.ini,,win.ini是Windows系统的一个基本系统配置文件。WIN.INI文件包含若干小节,每一节由一组相关的设定组成。文件配保存了诸如影响Windows操作环境的部分、控制系统界面显示形式及窗

2017-02-16 13:50:47 334

原创 InstallShield 脚本语言学习笔记

InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加。     一.基本语法规则      1.变量      BOOL 布尔型 值为TRUE(1)或FALSE(0)      CHAR 字符型 一字节长的(8bit)的字符      HWND 窗口句柄 用来存放窗口句柄      INT

2017-02-16 13:50:40 356

原创 C++服务器开发之笔记三

为什么需要原子性操作?我们考虑一个例子:(1)x++这个常见的运算符在内存中是怎样操作的?从内存中读x的值到寄存器中,对寄存器加1,再把新值写回x所处的内存地址若是有两个线程同时对同一个变量++,就会出现问题,如下:time      Thread 1      Thread 20      load eax, x1                   load eax, x2      a

2017-02-16 13:50:33 198

原创 boost::function的用法

本片文章主要介绍boost::function的用法。 boost::function 就是一个函数的包装器(function wrapper),用来定义函数对象。1.  介绍    Boost.Function 库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的特性但是又包含了一个调用的接口。一个函数指针能够在能以地方被调用或者作为一个回调函数。boost

2017-02-16 13:50:28 217

原创 C++服务器开发之基于对象的编程风格

Thread.h#ifndef _THREAD_H_#define _THREAD_H_#include #include class Thread{public: typedef boost::function ThreadFunc; explicit Thread(const ThreadFunc& func); void Start(); void Join();

2017-02-16 13:50:24 179

原创 UE4中的集合:TSet容器

好久没有更新了,最近一直在老家过年,网络不通的,今天才有时间更新一集。一、TSet是什么UE4中,除了TArray动态数组外,还提供了各种各样的模板容器。这一节,我们就介绍集合容器——TSet。类似于TArray,尖括号里面的T是模板类型,可以是任何C++类型。一个集合表示了一组互不重复的数据元素。比如TSet表示了一组float集合,TSet表示了一组FString集合。二、创建和填

2017-02-09 22:24:29 881

原创 UNIX网络编程(五)getsockname和getpeername

getsockname和getpeername#include int getsockname(int sockfd, struct sockaddr *localaddr, socklen_t *addrlen);int getpeername(int sockfd, struct sockaddr *peeraddr, socklen_t *addrlen);返回:0—

2016-12-06 17:08:52 275

原创 UNIX网络编程笔记(四)

(1)fork()函数#include pid_t fork(void)该函数调用一次,返回两次,第一次是在父进程中返回新进程(子进程)的id,第二次是在子进程中返回0,通过返回值来告知当前是子进程还是父进程。

2016-12-06 17:00:35 198

原创 UNIX网络编程笔记(三)

套接字地址结构的比较:大端字节序和小端字节序将低序字节存储在起始位置成为小端字节序,相反大端字节序网络字节序和主机字节序的转换

2016-12-01 16:52:03 321

原创 UNIX网络编程笔记(三)

传输层:TCP,UDP和SCTPTCP含有用于动态估算客户和服务器之间的往返时间(RTT)算法,以便它知道等待一个确认需要多少时间。SCTP简介

2016-11-28 17:17:32 190

原创 UNIX网络编程笔记二

OSI模型网络拓扑的发现(1)netstat -i 提供网络接口的信息(2)netstat -r 展示路由表(2)有了网络接口的名字,执行ifconfig就可以获得每个接口的详细信息。64位体系

2016-11-25 14:18:58 247

原创 http://geek.csdn.net/news/detail/108595?locationNum=1&fps=1

http://geek.csdn.net/news/detail/108595?locationNum=1&fps=1

2016-11-25 13:12:10 1742

原创 UNIX网络编程笔记(一)

路由器是广域网的构建设备,当前最大的广域网是因特网。错误处理:包裹函数任何现实世界的程序都必须检查每个函数调用是否返回错误,当发生错误时,就会输出出错信息并终止程序的运行,一般是这么做的,但有时函数返回错误,我们不想简单的终止程序的运行,我们可以定义包裹函数,包裹函数完成实际的函数调用,检查返回值,并在发生错误时终止进程,我们约定包裹函数名师实际函数名的首字母大写形式。 服务器sock

2016-11-24 15:32:23 277

原创 如何禁止双击标题栏不改变窗口的大小和拖动标题栏窗口不移动的问题

做项目中遇到了这两个问题,主要是对非客户区的处理,现在把做法写出来,第一个问题:只要禁止了非客户区的双击消息即可实现(1)添加WM_NCLBUTTONDBLCLK事件处理函数(2)在相应的函数处理中注释掉一下代码,不然父类默认处理第二个问题做法有很多,我这里还要求最小按钮和关闭按钮可用,不点击最小化按钮和关闭按钮就禁止单击事件,我的做法如下(1)添加点击

2016-08-03 14:28:08 3489

转载 OpenGL笔记(二)

今天要讲的是OpenGL光照的基本知识。OpenGL对于光照效果提供了直接的支持,只需要调用某些函数,便可以实现简单的光照效果。但是在这之前,我们有必要了解一些基础知识。一、建立光照模型OpenGL在处理光照时采用近似的方法:把光照系统分为三部分,分别是光源、材质和光照环境。光源就是光的来源,可以是前面所说的太阳或者电灯等。材质是指接受光照的各种物体的表面,由于物体如何反射光线

2016-05-11 16:20:29 274

原创 OpenGL笔记(一)

今天要讲的是动画制作,想必大家都知道电影和动画的工作原理吧?是的,快速的把看似连续的画面一幅幅的呈现在人们面前。一旦每秒钟呈现的画面超过24幅,人们就会错以为它是连续的。1、双缓冲技术在计算机上的动画与实际的动画有些不同:实际的动画都是先画好了,播放的时候直接拿出来显示就行。计算机动画则是画一张,就拿出来一张,再画下一张,再拿出来。如果所需要绘制的图形很简单,那么这样也没什么问题。但一旦图

2016-05-11 10:17:41 885

转载 OpenGL编程低级错误及常见问题解答

低级错误1.没有glDisable(GL_TEXTURE_2D),导致基本几何作图全部失败。2.镜头位置没调好,导致所有物体不可见.3.物体位置数据错误,导致物体大大超出镜头显示范围.4.纹理没有GL_CLAMP导致边界拼接出现缝线.5.纹理没有GL_REPEAT导致使用超出1.0纹理坐标技巧失败,显示单色插值.6.没有glEnable(GL_T

2016-05-10 22:11:56 974

原创 MFC中如何画带实心箭头的直线

工作中遇到话流程图的项目,需要画带箭头的直线,经过摸索,解决;思路如下:(1) 两个点(p1,p2)确定一个直线,以直线的一个端点(假设p2)为原点,设定一个角度(2)以P2为原点得到向量P2P1(P),向量P旋转theta角得到向量P1,向量P旋转-theta角得到向量P2(3)伸缩向量至制定长度,平移变量到直线的末端(4)现在已经有3个点了,画线就可具体代码如下:CCl

2016-05-09 16:03:13 3026

转载 C++中的接口继承和实现继承

C++中的接口继承和实现继承很多人认为,C++中是不存在接口继承的,只有Java、C#这类语言才提供了相应的语法支持。但是,如同鲁迅说过的某句名言:世上本没有接口继承,用的人多了,才有了接口继承。C++中依然可以实现接口继承,只是形式上稍有不同罢了。C++中的继承基于一个事实:父类定义的成员函数会一直被子类继承(包括被子类隐藏的部分)。而父类中提供的函数

2016-04-12 08:53:49 446

原创 day03

今天写了一个小程序,没有完全实现,部分代码如下:

2016-04-06 21:57:42 187

原创 设计模式入门

设计原则1:找出应用中可能需要变化之处,把它独立出来,以便以后可以轻易的改动或者扩充,而不影响不需要变化的其他部分。

2016-04-06 20:06:18 215

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除