自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 问答 (5)
  • 收藏
  • 关注

原创 虚幻引擎材质系统常用快捷键

constant 一维向量 R 快捷键1constant2Vector 二维向量 RG 快捷键2constant3Vector 三维向量 RGB 快捷键3constant4Vector 四维向量 比三维多alpha 快捷键4Add 加法,将两个通道上的数值或者纹理增加到一起 快捷键asub 减法 去掉共有的纹理multiply 混合、乘法 取纹理重叠 快捷键mdivide 除法 快捷键dabs 绝对值...

2021-02-11 12:47:52 1462 1

原创 DockerFile 指令解释

1.FROM 基础镜像,当前新镜像基于那个镜像,任何镜像都可以基于scratch2.MAINTAINER 镜像维护者的姓名和邮箱地址信息3.RUN 容器构建时需要运行的命令4.EXPOSE 当前容器对外暴露的端口5.WORKDIR 指定在创建容器后,交互终端默认登录的目录6.ENV 镜像构建过程中设置的环境变量7.ADD 将宿主机目录下的文件拷贝进镜像且ADD会自动处理URL解析和tgr压缩包解压8.COPY 拷贝宿主机目录中的文件到镜像中,和ADD的区别是不会处理URL和tar

2021-01-25 11:43:11 146

原创 解决visual studio 2019 加载符号慢问题

打开VS的【工具】-【选项】-【调试】-【符号】1、先取消勾选“Microsoft符号服务器”2、清空符号缓存3、重启VS

2020-12-18 06:57:05 3085 1

转载 spring bean 生命周期

Spring Bean的生命周期是Spring面试热点问题。这个问题即考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入手,帮助面试者彻底搞定Spring Bean的生命周期。只有四个!是的,Spring Bean的生命周期只有这四个阶段。把这四个阶段和每个阶段对应的扩展点糅合在一起虽然没有问题,但是这样非常凌乱,难以记忆。要彻底搞清楚Spring的生命周期,首先要把这四个阶段牢牢记住。实例化和属性赋值对应构造方法和setter方法的注入,初始化

2020-12-16 14:00:38 114

原创 手撕红黑树的要点

1.变颜色的情况:当前节点的父亲是红色,且他的的祖父节点的另一个子节点(叔叔节点)也是红色.(1)把父亲节点设为红色(2)把叔叔节点设为黑色(3)把爷爷节点设为红色(4)把指针定义到爷爷节点,设为当前要操作的2.左旋: 当前父节点是红色,叔叔节点是黑色且当前节点是右子树,左旋以父节点作为左旋3.右旋:当前父节点是红色,叔叔节点是黑色且当前节点是左子树,右旋(1)把父亲节点设为黑色(2)把爷爷节点设为红色 (3) 旋转爷爷节点...

2020-12-05 09:26:56 173

原创 ue c++ 实现 timeline

头文件代码:UCLASS()class YOURGAME_API AYourClass: public AActor {protected: UPROPERTY() UTimelineComponent* MyTimeline; UPROPERTY() UCurveFloat* FloatCurve; UFUNCTION() void TimelineCallback(float val); UFUNCTION()

2020-11-28 19:10:37 625

原创 手撕阻塞队列

import java.util.LinkedList;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class MyQueue<T> { public MyQueue(Integer capacity) { this.cap...

2020-11-26 17:52:23 94

转载 UE4骨骼重定向(二)借助插件Mixamo Converter快速操作Mixamo网站资源

UE4骨骼重定向(二)借助插件Mixamo Converter快速操作Mixamo网站资源ByZery入门知识0 Comments前言大家对于UE的骨骼重定向功能一定是非常的喜爱,他允许我们在一套动作基础上,扩展更多的角色动作(骨骼结构必须相同)。原理不赘述了简而言之,你可以把一套动作,套入另一Skeleton Mesh,例如,我手里有一套男性角色行走攻击动作,而只有女性角色骨骼蒙皮,就可以采取骨骼重定向,将男性角色动画扩展给女性角色。您需要满足以下要求:角色Mesh必须拥...

2020-10-23 06:39:33 3871

原创 虚幻4引擎中材质图形计算基础

材质表达式 是 UE4 中的构建块,用来创建功能完整的材质。每一个材质表达式都是独立的黑匣,它输出一个或多个特定值的集合,或者对一个或多个输入执行单一操作,然后输出该操作的结果。一个材质表达式节点包含以下5部分:1、说明- 所有材质表达式都具有公共的说明(Desc)属性。在此属性中输入的文本将显示在材质编辑器中,它位于工作空间中表达式的正上方。它可用于任何用途,但通常是一种保留关于表达式用途或功能的简短备注的好方法。2、标题栏- 显示材质表达式名称或材质表达式属性的相关信息。3、输入...

2020-10-14 16:29:20 337

原创 虚幻4 添加背景透明的材质

2020-10-12 20:59:52 1129

原创 虚幻4 设定动画蓝图中的人物速度和移动方向

2020-10-01 18:34:11 2456

原创 四个线程分别交替打印A,B,C,D,再根据输入次数循环打印ABCD

public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int count = Integer.parseInt(br.readLine()); StringBuilder totalSB = new StringBuilder(); Runner runner =.

2020-09-10 19:48:50 678

转载 减少虚幻4游戏打包大小

减小游戏包大小本页面的内容:创建新的空项目 压缩已烘培的内容 设置项目的关卡 检查将要烘培的内容 开发构建大小与交付构建大小 按设备的纹理 LOD 移除不使用的内容 移除未使用的插件 打包黑名单 最大动态点照明数无论您的UE4项目面向什么平台,减小游戏包大小都富有挑战性。 在以下指南中,我们将阐述您可以完成的步骤,通过这些步骤您可以在只需使用UE4编辑器中提供的工具的情况下,尽可能减小项目的最终包大小。创建新的空项目当您开始处理基于 Android 的移动项目时,...

2020-08-12 09:06:08 7049

转载 ElasticSearch基本概念(集群-节点-分片)

集群:ES节点:运行的ES实例 ES集群:由若干节点组成,这些节点在同一个网络内,cluster-name相同节点:master节点:集群中的一个节点会被选为master节点,它将负责管理集群范畴的变更,例如创建或删除索引,添加节点到集群或从集群删除节点。master节点无需参与文档层面的变更和搜索,这意味着仅有一个master节点并不会因流量增长而成为 瓶颈。任意一个节点都可以成为 master 节点 data节点:持有数据和倒排索引。默认情况下,每个节点都可以通过设定配置文件elastic

2020-07-27 10:33:39 226

原创 org.springframework.data.mongodb.UncategorizedMongoDbException: Exception authenticating MongoCreden

连接报错org.springframework.data.mongodb.UncategorizedMongoDbException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-256, userName='peter', source='data_export', password=<hidden>, mechanismProperties=<hidden>}; nested exception is.

2020-07-23 13:53:54 2486

原创 elasticsearch处理一对多关系

本文以供应商与产品的关系为例,一个供应商可以有多个产品.所以以供应商为父级产品为子级来建立数据结构关系.#建立供应商与产品的关联关系为父子级关系PUT bd_index{ "mappings": { "_doc":{ "properties":{ "join_field":{ "type":"join", "relations":{ "supplier":"product" }...

2020-07-22 11:15:29 1179

原创 虚幻4敌人受伤并被击退的逻辑

话不多说上代码:

2020-07-12 15:34:13 2208 1

原创 CountDownLatch的使用示例

CountDownLatch基于计数器的思想,对线程的执行流程进行控制,一般用于多个任务都完成才可进行下一步的情况.上代码:public static void main(String[] args) { /** * 创建 CountDownLatch 并指定计数器的值为3 */ CountDownLatch countDownLatch = new CountDownLatch(3); ThreadPool...

2020-07-01 10:47:58 183

原创 kibana维护elasticsearch时常用操作指令

创建索引:格式如下:PUT /索引名称{ “settings”: { 配置信息}, “mappings”: { “type名称”: { "properties": { “字段”:{"type":“字段类型”} ....... } }}示例:PUT /test_index{ "settings": { "number_of_shards": 1, "number_of_replic...

2020-06-29 10:36:10 162

原创 java实现多线程抢票案例

/** * 剩余票数 */public int ticket = 1000;/** * 锁 */private Lock lock = new ReentrantLock();public static void main(String[] args) { new Test().sell();}public void sell() { new Thread(()-> { lockSell(); },"检票口1").start(); .

2020-06-23 14:22:47 926

原创 java实现快速排序

public static void main(String[] args) { int[] arr = {2,7,8,4,10,6,1,3,9,5}; int[] result = quickSort(0, arr.length-1, arr); for (int i : result) { System.out.print(i + " "); }}private static int[] quickSort(int left, int right,.

2020-06-22 17:40:48 108

转载 分布式事务锁解决案例

问题描述:某电商平台,首发一款新品手机,每人限购2台,预计会有10W的并发,在该情况下,如果扣减库存,保证不会超卖解决方案一利用数据库锁机制,对记录进行锁定,再进行操作SELECT * from goods where ID =1 for update;UPDATE goods set stock = stock - 1;12利用排它锁将并行转化为串行操作,但该方案的性能和用户体验较差解决方案二利用redis 实现分布式锁,使用setnx命令(在key不存在时,创建并设置val

2020-06-18 10:36:50 239

原创 elasticsearch启动报错mapper [logoUri] of different type, current_type [....

elasticSearch启动时报错:Caused by: java.lang.IllegalArgumentException: mapper [logoUri] of different type, current_type [text], merged_type [keyword]原因: 代码中的document映射实体中的logoUri字段类型为keyword,而索引库中的类型为text解决办法: 进入索引库(可以使用kibana等工具进入),修改logoUri字段类型为text,再重新导.

2020-06-16 11:05:45 598 1

原创 java简单实现二分法查找

public static void main(String[] args) { // 准备数据,注意一定是有序不重复的数组 int[] arr = {1,3,4,5,6,9,10,11}; // 输入要找的值 Scanner scanner = new Scanner(System.in); System.out.print("请输入:"); int val = scanner.nextInt(); .

2020-06-15 10:24:38 177

原创 java nio实现文件高效复制功能

与传统bio方式不同,nio不是面向流的而是面向缓冲区的.对比bio其更加高效,是非阻塞的,还可以进行双向操作.

2020-06-11 19:59:18 176

原创 docker 安装 elasticSearch

进入docker执行命令docker pull elasticsearch:tag (tag为版本号)拉取elasticsearch镜像之后执行命令docker network create somenetwork(随便起一个网络名称)最后执行命令docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:

2020-06-08 17:08:24 105

空空如也

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

TA关注的人

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