自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

来自火星的猫

自己大学学习计算机的过程

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

原创 虚幻引擎 UE5 增强输入系统

标记一下方便下次看。

2023-09-15 16:23:45 524

原创 Linux常用命令

B站黑马视频 和。

2023-09-12 15:14:49 458 1

原创 杂项图片存储

瞎发的图片,不用看

2023-08-23 15:49:14 100

原创 Visual Studio 2019 设置背景图

如何实现通过下载插件——ClaudiaIDE实现。步骤如下。1.打开VS, 工具栏找到:扩展 --> 管理扩展2.在管理扩展中搜索插件:联机 -> 搜索框 -> 搜索"ClaudiaIDE"3.下载完后重启VS, 启用这个插件, 接下来是使用教程:调试 -> 选项 (或者 工具-->选项)4.找到"ClaudiaIDE",更换图片即可这个插件很简单,试试就知道怎么用了,都是常见的选项Single: 单一展示图片背景...

2021-03-08 17:00:07 15309 42

原创 虚幻4C++学习笔记03_官方FPS案例知识点

官网的FPS案例:https://docs.unrealengine.com/zh-CN/ProgrammingAndScripting/ProgrammingWithCPP/CPPTutorials/FirstPersonShooter/2/index.html视频教程在B站也有:https://www.bilibili.com/video/BV14K411J7v2?p=10只记录一下较为重要的知识点。FPS案例轴映射和动作映射Action操作映射:适用于"是/否"输入,例如鼠标或手

2021-01-28 16:58:28 351 1

原创 虚幻4C++学习笔记02_UPROPERTY的作用,虚幻四种基本继承关系和组件的概念

UPROPERTY介绍属性使用标准的C++变星语法声明,前面用UPROPERTY宏来定义属性元数据和变量说明符。使用: UPROPERTY (属性说明符) //如下UPROPERTY(EditAnywhere)int Test;UPROPERTY的作用答:将变量公开到编辑器或蓝图。常见属性说明符( 1 ) VisiableAnyWhere:如果给一个变量声明了此关键词,那么它会出现在蓝图编辑器的右边和主编辑器上。(只是显示,不能编辑)( 2 )VisibleDefaul..

2021-01-25 17:43:05 1710

原创 虚幻4C++学习笔记01_默认代码和官方案例

默认代码解释当创建了C++项目时,(带有初学者内容包)会有默认的代码生成。这里简单记录一下默认代码是干什么的。1.CoreMinimal是干嘛的? CoreMinimal头文件包含一套来自UE4核心编程环境的普遍存在类型(包括 EString、FName、TArray等。)CoreMinimal头文件(位于UE4根目录\Engine\SourceRuntime\Core\Public\CoreMinimal.h下)首先被多数引擎头文件所包含。2. #include "GameFram..

2021-01-25 14:22:47 438

原创 UE4初学笔记12_蓝图入门06_TimeLine

TimeLine节点时间轴节点(Timeline Nodes)是蓝图中的特殊节点,它们允许根据游戏中的事件快速设计和播放基于时间的简单动画。时间轴与简单Matinee序列有几分类似,因为它们允许对简单值进行动画处理,并允许随着时间的推移触发事件。您可以通过在图表(Graph)选项卡中或我的蓝图(My Blueprint)选项卡中双击时间轴(Timeline)) ,在蓝图编辑器中直接编辑这些时间轴。它们经过专门设计,用于处理简单的非电影任务,例如开门、改变光源或在场景中对Actor执行其他以时间为中心

2021-01-24 15:29:16 931

原创 UE4初学笔记11_蓝图入门05_按键响应 和 DeltaSeconds

按键响应玩家控制器:PlayerController(玩家控制器)是Pawn和控制它的人类玩家间的接口。PlayerController本质上代表了人类玩家的意愿。(Pawn是一个可以从控制器获得输入信息处理的Actor.)2个常用节点。enable input:接收输入。disable input :关闭输入。不会的节点可以再官网上查。当您设置PlayerController时,您需要考虑的一个事情就是您想在PlayerController中包含哪些功能及内容。您可以在 Pawn中处

2021-01-23 15:43:27 1391

原创 UE4初学笔记_10_蓝图入门04_Event节点 、碰撞、类蓝图

Event节点事件( Events)是从游戏性代码中调用的节点,在事件图表(EventGraph)中开始执行个体网络。它们使蓝图执行一系列操作,对游戏中发生的特定事件(如游戏开始、关卡重置、受到伤害等)进行回应。这些事件可在蓝图中访问,以便实现新功能,或覆盖/扩充默认功能。任意数量的 Events均可在单一EventGraph中使用,但每种类型只能使用一个。EventBeginPlay节点游戏开始时将在所有Actor 上触发此事件。游戏开始后生成的所有Actor上均会立即调用此事件。..

2021-01-21 22:06:40 1480

原创 UE4初学笔记_09_蓝图入门03_结构体、枚举、接口

结构体1.结构体创建蓝图中结构体的创建是没办法在蓝图脚本视图中创建的,UE4蓝图中结构体是与蓝图脚本同级的蓝图类,创建蓝图结构体的方法:在Content Browser中右键->Create Advanced Assect/Blueprint栏->Structure,即可创建一个结构体,创建出来的结构体默认拥有一个bool值得成员变量。2.定义成员变量蓝图中得结构体只能创建成员变量,不能创建成员函数,成员变量可以直接设置默认值。3.结构的使用将结构体创建好以后便可以直

2021-01-19 22:34:06 535

原创 UE4初学笔记_08_蓝图入门02_变量数据类型、语句、数组

一、变量1.基本数据类型UE4蓝图中基本数据类型只有5个,需要注意的是蓝图中没有char、double、short、long等数据类型,在C++与蓝图的配合使用时需要注意这些类型的变量。BooleanByte :1字节。Integer :32位整型,四字节。Integer64 :64位整型,八字节,能存储更大的数。Float :32位单精度浮点型,其中1符号位、8指数位、23数值位,UE4中默认保留小数点后6位。UE4中只有Float类型没有Double类型。2. 字..

2021-01-19 22:25:18 2730 1

原创 UE4初学笔记_07_蓝图入门01_认识蓝图,创建蓝图

一、蓝图的概念官方解释:虚幻引擎中的蓝图 - 可视化脚本系统是一个完整的游戏脚本系统,其理念是,在虚幻编辑器中,使用基于节点的界面创建游戏可玩性元素。和其他一些常见的脚本语言一样,蓝图的用法也是通过定义在引擎中的面向对象的类或者对象。在使用虚幻 4 的过程中,常常会遇到在蓝图中定义的对象,并且这类对象常常也会被直接称为“蓝图(Blueprint)”二、蓝图类的分类关卡蓝图:关卡蓝图在每个Level中只能存在一个,负责整个关卡的运行逻辑,关卡的初始化,帧更新都在关卡蓝图里进行;...

2021-01-19 21:34:12 800

原创 UE4初学笔记_06_获取玩家控制方法

方法一:在你的场景中,把虚幻引擎的第三人称的小白人拖到场景中。再点击小白人,找到一个 自动控制玩家 的选项,改为 玩家0。就可以控制了。方法二:点击窗口 ,把世界场景设置打开,然后把玩家出生点,拉到场景中。即可。玩家出生点不要有多个,否则会随机出生。...

2021-01-17 17:07:19 3380

原创 UE4初学笔记_05_BSP画刷和地形工具和植被工具

BSP 画刷一、什么是BSP画刷 BSP(画刷)工具,能够帮组你们在虚幻引擎快速的搭建一些基本的模型(比如你不会3D建模软件) BSP画刷是虚幻的关卡构建中最为基本的工具.从理论上说,最好将BSP想象为可以在关卡中进行填充并切除空间体积的东西。二、BSP画刷的用途1 粗略画出关卡​ 设计出关卡的草图及关卡路径 ​ 运行关卡测试流程和游戏性 ​ 修改布局并反复测试 ​ 起始的网格物体环节 ​ 对碰撞及性能问题的游戏测试 ​ 润色2 简单过滤器几何体...

2021-01-16 19:49:45 3831 2

原创 主流三维软件模型导入到ue4

一、插件C4D和3Dmax对应的插件是Datasmith。这个插件可以把C4D和3Dmax的模型,灯光,材质的算法等导入到虚幻引擎里面。Maya对应的插件是Maya LiveLink 。虚幻商城就有而且免费。是个动画同步的插件,在Maya的动画更改完就能在虚幻里面看到效果,两边是同步的。常用的是fbx , obj ,abc大致区别:虚幻4里面区分静态网格体和骨架网格体。静态网格体:不动的模型,摆放用的。骨架网格体:有骨骼的,可以播放动画的。(通俗解释)需要一些...

2021-01-16 17:04:01 4212 1

原创 UE4初学笔记_04_导入资源、项目迁移和管理

一、资源导入UE4支持导入各种类型文件的内容。导入资源:文件组织合理地组织文件非常重要。将内容导入引擎之前,应对外部文件进行组织。要更改原始资源时,可以方便地更新源并使用Reimport命令重新导入。命名规范合理组织文件还需要遵循命名规范。Epic编写了风格指南,该指南制定了导入资源后如何在内容浏览器中命名资源和组织文件的最佳实践。http: //ue4.style/导入资源:引用查看器大多数资源依赖于一个或多个其他资源。(鼠标放到资源上,右击出现引用查看器)例如,如果在静..

2021-01-16 16:31:47 4009 1

原创 UE4初学笔记_03_物体编辑

笛卡尔坐标系(三维坐标系)​ 笛卡尔坐标系是一种计算系统,使用该系统可以在给定的区域和空间内生成信息和或点​ 3D平面使用X,Y和Z坐标.每个字母对应一个轴,其中Z为上下方向,Y为从左到右,X为从前到后​ 所有3D图形都是通过绘制相对于特定值的单个点而生成的​ 你可以使用一连串的这类交叉点,在点之间建立连接,从而创建形状或体积,你还可以使用这些点进项操作和移动,绘制3D空间对象的位置和比例一、处理变换变换工具可以在UE4的3D空间内操作或转换。变化有三种基本类型:移动,缩放,旋.

2021-01-16 12:37:54 1104 2

原创 UE4初学笔记_02_编辑器界面

不同版本可能不一样,这里是4.25UE4编辑器主界面(也称为关卡编辑器)主要用于构建世界场景和关卡以及放置资源。1.菜单栏2.关卡编辑器(Level Editor)工具栏3.“模式”(Modes)面板4.“内容浏览器”(Content Browser)面板5.“视口”(Viewport)面板6.“世界大纲视图”(World Outliner)面板7.“细节”(Details)面板1.菜单栏菜单栏包含“文件”(File) 、“编辑”(Edit) 、“窗口”(Win.

2021-01-15 20:30:54 2291

原创 UE4初学笔记_01_创建项目流程和模板试玩

一、创建初学者项目1、打开虚幻引擎,选择第一人称游戏,蓝图,桌面/游戏机,勾选初学者内容包等(有项目路径和名称自己设置即可)。如图:之后会有一段时间等待创建。2、运行我们的模板游戏。Map双击即可打开关卡,点击播放(4.25即以后版本是 运行 按钮),就可以游玩模板了。F11是全屏。二、初学者文件夹 Starter Content。1、打开Starter Content文件夹,里面官方提供给初学者使用的素材包2、初学者内容包大致包括:建筑模型、音频、蓝图、HDRI、关卡、材

2021-01-15 17:08:03 1102 1

原创 世嘉新人培训教材学习_第一章 _C++知识点复习

因为第一章为基础的C实现了推箱子的简单游戏,后面要使用到许多C++的知识,之前学习过,但是因为用的较少,这里在简单复习一下。加深理解,同时也知道了在学校学的知识点只是停留在基础的语法部分,要真的去理解才能取得进步。一、命名空间一、为什么使用命名空间在C++应用程序中会出现同样的情况。例如,您可能正在编写一些具有名为xyz()函数的代码,并且还有另一个可用的库,它也具有相同的xyz()函数。现在编译器无法知道您在代码中引用的xyz()函数的哪个版本。名称空间(namespace)被设计来克..

2021-01-13 18:05:18 687

原创 世嘉新人培训教材学习_第一章 (推箱子代码)

第一章 第一个游戏--“推箱子”自己也把代码实现一遍。游戏程序,就是获取输入,将输入反映到游戏世界,显示结果这三项 的无限循环。这个过程称为游戏循环或者主循环。while(ture){ getInput(); updateGame(); draw();}推箱子代码://这是原书的代码#include <iostream>using namespace std;//#墙 _空白区 .终点 o砖块 p人const char gSta..

2021-01-10 19:56:47 878

原创 C++字符串

字符串//要想使用标准C++中string类,必须要包含#include <string> // 注意是<string>,不是<string.h>,带.h的是C语言中的头文件using namespace std;string类的构造函数string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化//string类还支持默认构造函数和复制构造函数 , 当构造的s...

2020-11-30 11:23:28 86

原创 java类加载过程

2020-07-22 09:54:32 113

原创 JVM_11 运行时数据区 - 方法区

目录1. 堆、栈、方法区的交互关系2. 方法区的理解3.设置方法区大小与OOM方法区OOM4.方法区的内部结构类型信息域信息(成员变量)方法信息永久代为什么要被元空间替换1. 堆、栈、方法区的交互关系运行时数据区结构图堆、栈、方法区的交互关系2. 方法区的理解《Java虚拟机规范》中明确说明:‘尽管所有的方法区在逻辑上属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。’但对于HotSpotJVM而言,方法区还有一个别名叫做Non-he

2020-07-15 15:59:28 340

原创 JVM _10 运行时数据区 - 堆

目录1.核心概述堆的细分内存结构2.设置堆内存大小与OOM3.年轻代与老年代5.Minor GC、Major GC、Full GC6.堆空间分代思想7.内存分配策略8.为对象分配内存:TLAB(线程私有缓存区域)9.小结堆空间的参数设置1.核心概述一个进程对应一个jvm实例,一个运行时数据区,又包含多个线程,这些线程共享了方法区和堆,每个线程包含了程序计数器、本地方法栈和虚拟机栈。一个jvm实例只存在一个堆内存,堆也是java内存管理的核心区域 Java堆.

2020-07-13 22:18:53 258

原创 JVM_09 本地方法栈

本地方法栈1.Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法(一般非Java实现的方法)的调用2.本地方法栈,也是线程私有的。3.允许被实现成固定或者是可动态拓展的内存大小。(和Java虚拟机栈在内存溢出方面情况是相同的)如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java虚拟机将会抛出一个StackOverFlowError异常。如果本地方法栈可以动态扩展,并且在尝试扩展的时候无法申请到足够的内存,或者在创建新的线程时没有足够的内存去创建对应.

2020-07-12 18:39:10 92

原创 JVM_08 本地方法接口

本地方法接口在讲Java虚拟机运行时数据区中本地方法栈之前,我们先来说说运行时数据区之外的一个叫本地方法接口的东西简称JNI(Java Native Interface)简单来讲,一个Native Method就是一个java调用非java代码的接口,一个Native Method 是这样一个java方法:该方法的底层实现由非Java语言实现,比如C。这个特征并非java特有,很多其他的编程语言都有这一机制,比如在C++ 中,你可以用extern “C” 告知C++ 编译器去调用一个C的函数.

2020-07-12 18:36:14 224

原创 JVM_07 栈帧

栈帧的内部结构每个栈帧中存储着1.局部变量表(Local Variables)2.操作数栈(Operand Stack)(或表达式栈)3.动态链接(Dynamic Linking)(或执行"运行时常量池"的方法引用)----深入理解Java多态特性必读!!4.方法返回地址(Return Adress)(或方法正常退出或者异常退出的定义)5.一些附加信息其中部分参考书目上,称方法返回地址、动态链接、附加信息为帧数据区局部变量表(Local Varia...

2020-07-09 18:01:24 522

原创 JVM_06 虚拟机栈

虚拟机栈的背景由于跨平台性的设计,java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。根据栈设计的优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。内存中的堆与栈栈是运行时的单位,而堆是存储的单位1.栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即数据怎么放、放在哪儿。2.一般来讲,对象主要都是放在堆空间的,是运行时数据区比较大的一块3.栈空间存放 基本数据类型的局部变量,以及

2020-07-09 17:55:16 128

原创 JVM_05程序计数器

JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。一个线程对应一个JVM Stack。JVM Stack 中包含一组Stack Frame。当 JVM 调用一个 Java 方法时,它从对应类的类型信息中得到此方法的局部变量区和操作数栈的大小,并据此分配栈帧内存,然后压入 JVM 栈中。在活动线程中,只有..

2020-07-08 17:57:04 89

原创 JVM_04运行时数据区

目录Java内存空间Java内存分区介绍Java中的线程与进程Java线程JVM系统线程分类Java内存空间内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了JAVA在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的jvm对于内存的划分方式和管理机制存在着部分差异(对于Hotspot主要指方法区)JDK8的元数据区+JIT编译产物 就是JDK8以前的方法区Java内存分区介绍.

2020-07-08 17:53:45 73

原创 JVM_03 双亲委派机制

Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将她的class文件加载到内存生成的class对象。而且加载某个类的class文件时,java虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种任务委派 模式双亲委派机制工作原理代码示例如图,虽然我们自定义了一个java.lang包下的String尝试覆盖核心类库中的String,但是由于双亲委派机制,启动加载器会加载java核心类库的String类(BootStrap启动类加...

2020-07-05 11:15:33 172 1

原创 JVM_02 类加载子系统

JVM细节版架构图-----------------------------------------------------------类加载子系统作用1.类加载子系统负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识即16进制CA TE BA BE;2.加载后的Class类信息存放于一块成为方法区的内存空间。除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)...

2020-07-05 11:09:30 150

原创 17.电话号码的字母组合 _LeetCode 17

题目:给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。使用队列:(学习的大佬的算法,自己写的太菜了啊)class Solution { publi...

2020-07-04 16:22:51 83

原创 JVM学习笔记)_01简介

学习宋红康老师的jvm课程的笔记计算机系统当中JVM所处的位置JVM是运行在操作系统之上的,并没有和硬件有直接的交互Java一次编译,到处运行古今JVM SUN Classic Exact VM HotSpot VM :HotSpot指热点代码探测技术 BEA JRockit:(BEA 已被Oracle收购) 专注于服务端应用,世界最快的jvm之一 IBM J9 Taobao JVM: 目前已经在淘宝、天猫上线,替换了Orac.

2020-07-04 16:10:43 147 1

原创 16. 最接近的三数之和 -LeetCode 16 - java

题目:给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:给定数组 nums = [-1,2,1,-4], 和 target = 1 与 target 最接近的三个数的和为 2 。(-1 + 2 + 1 = 2)标签:排序 和 双指针public class LeetCode16 { public int threeS...

2020-05-28 10:21:13 104

原创 15. 三数之和 -LeetCode 15-java

题目:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]自己写的太菜,这是看了大佬的思路(为什么大佬总是那么的nb?思路清晰,方法简单,代码优美简洁。啊啊啊啊好羡慕)cl...

2020-05-26 15:14:11 169

原创 14.最长公共前缀 -LeetCode 14 - java

题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1: 输入: ["flower","flow","flight"] 输出: "fl"示例2: 输入: ["dog","racecar","car"] 输出: ""解释: 输入不存在公共前缀。说明: 所有输入只包含小写字母a-z。思路:标签:链表1 当字符串数组长度为 0 时则公共前缀为空,直接返回2 令最长公共前缀 a...

2020-05-24 12:01:49 143

原创 13.罗马数字转整数-LeetCode 13-java

题目:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。通常情...

2020-05-21 11:38:11 161

空空如也

空空如也

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

TA关注的人

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