摘要: 前言 在Unity中要实现第一人称视角移动的方法有很多,每种方法各有优劣,本次要介绍的就是使用角色控制器CharacterController来实现的方法。 在阅览下面的步骤之前,你首先需要一个第一人称视角的实体。 最简单的第一视角实体只需要一个Capsule和一个摄像机,就像这样: 这样,你就获得 阅读全文
posted @ 2021-05-25 20:31 Neko_YG 阅读(6550) 评论(1) 推荐(0) 编辑
摘要: 在阅读本篇博客前,你需要掌握的内容和须知: Unity的基本操作和UGUI的基本使用 对C#有基本了解和使用 本博客是笔者学习《Unity3D网络游戏实战(第2版)》写下的学习笔记。感兴趣的朋友也可以了解一下这本书。 Echo程序 Echo程序是网络编程中最基础的案例。建立网络连接后,客户端向服务端 阅读全文
posted @ 2020-08-29 22:34 Neko_YG 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 计算着色器 在GPU编程中,我们编写的着色器程序会同时给大量的线程运行,可以将这些线程按网格来划分成线程组。一个线程组由一个多处理器来执行,如果你的GPU有16个多处理器,你会想要把问题分解成至少16个线程组以保证每个多处理器都工作。为了获取更好的性能,让每个多处理器来处理至少2个线程组是一个比较不 阅读全文
posted @ 2020-08-10 22:50 Neko_YG 阅读(916) 评论(0) 推荐(0) 编辑
摘要: 粒子系统 粒子系统它可以被用于模拟一些特效现象,如:火焰、雨、烟雾、爆炸、法术效果等。本质上其实是一堆粒子的生成。在Direct11中,可以通过利用着色器反射来构建粒子系统Effect框架,并实现爆炸效果粒子系统。 粒子系统的现有框架体系采用https://www.cnblogs.com/X-Jun 阅读全文
posted @ 2020-07-30 09:49 Neko_YG 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 以下内容仍在更新完善... 观察者模式 观察者模式是什么? 观察者模式定义一种一对多的依赖关系,让多个观察者对象同时观察一个主题对象。当主题对象发生相应状态变化是,会通知所有观察者对象并使观察者对象自动更新自己的状态。 因此,当一个对象的改变需要同时改变其他对象的时候,使用观察者模式方便简洁。 观察 阅读全文
posted @ 2020-07-22 11:08 Neko_YG 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 以下内容仍在更新完善... 工厂模式是什么? 要了解设计模式,首先了解什么是UML类图会有更大的帮助。 UML类图 图内“+”表示public,“-”表示private,“#”表示protected。 继承关系:空心三角形+实线 关联关系:实线箭头 聚合关系:空心菱形+实线箭头 聚合表示一种弱的"拥 阅读全文
posted @ 2020-07-22 10:38 Neko_YG 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 以下内容仍在更新完善... 智能指针 C++没有垃圾回收机制,因此每次使用完new分配内存,都需要手动delete。如果没有delete,可能会导致内存泄漏程序崩溃。 此时,使用智能指针就可以缓解这个问题。智能指针主要用于管理在堆上分配的内存,它将普通的指针封装为一个栈对象。当栈对象的生存周期结束后 阅读全文
posted @ 2020-07-19 20:49 Neko_YG 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 以下内容仍在更新完善... 关联容器 关联容器和顺序容器(list、que等)有根本的的不同:关联容器中的元素是按照关键字来保存的,不同于顺序容器中的元素是按他们在容器中的位置来顺序保存和访问。 主要的关联容器有:map和set。 Map类型通常被称为关联数组,其中的元素是关键字-值(key-val 阅读全文
posted @ 2020-07-19 14:50 Neko_YG 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 以下内容仍在更新完善... 函数模版 代码示例:用于比较两个数大小的函数模版 template <typename T> int compare(const T &v1, const T &v2) { if( v1 < v2 ) return -1; if( v1 > v2 ) return 1; 阅读全文
posted @ 2020-07-18 21:32 Neko_YG 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 以下内容仍在更新完善... Vector 初始化: vector<int> a(x); 定义x个整型元素的初始值不确定的向量 vector<int> a(x,y); 定义x个整型元素的初始值为y的向量 vector<int> a(b); 将b向量的值复制给a vector<int> a(b.begi 阅读全文
posted @ 2020-07-18 20:49 Neko_YG 阅读(163) 评论(0) 推荐(0) 编辑