自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(299)
  • 收藏
  • 关注

原创 SpringBoot游戏服务端开发(一)

仅作为个人笔记使用了新悦游戏框架,参考:https://gitee.com/wgslucky/fishing-hunter配置nacos:https://gitee.com/wgslucky/fishing-hunter#%E4%BD%BF%E7%94%A8nacos%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0配置好之后要在游戏中使用:https://gitee.com/wgslucky/fishing-hunter#%E6%B8%B8%E6%88%8F%..

2021-03-22 16:28:04 4118

原创 Unity粒子系统图片材质制作

先创建材质球:文件夹下右键->Create->Material编辑材质球:Shader->Legacy Shaders->Particles->Alpha Blended颜色就选择默认的RGBA(128,128,128,128),不要修改,Texture选择需要的图片即可做好材质后把它拖到粒子中的 Renderer->Material 即可...

2021-03-10 16:27:25 3938

转载 Unity粒子系统

一、粒子系统主界面:二、粒子系统下各个子模块: Main module//主要模块 Emission//发射 Shape//形状 Velocity Over Lifetime//粒子在生命周期内的速度 Limit Velocity Over Lifetime//粒子在生命周期内的极限速度 Inherit Velocity//速度继承 Force Over Lifetime//粒子在生命周期内的受力 Color Over Lifetim...

2021-03-10 11:10:22 4345

转载 Unity 使用物理射线(Physics.Raycast),实现扇形区域碰撞检测三种方法

方法1:实现原理:(lookAngle / 2) / lookAccurte  很简单,就是射多几条角度平均的射线。可以设置角度,精度(射线数量),来调节扇形区域的检测。每条射线夹角是总夹角处于2,再除于精度。  1. 默认是射出一条向前的射线,精度为0。2. 设置角度为90,精度为1,就会多出两条相对正前方45度的射线。3.设置精度为2。实现代码//放射线检测private bool Look(StateController...

2021-02-26 16:22:44 4963

原创 Springboot项目中application.yaml无提示

1.File->Settings->Plugins中查看yaml插件是否已经安装并勾选上。2.File->Settings->Editor->File Types的text中查看是否意外创建了application.yaml.。3.File->Settings->Editor->File Types在yaml中添加*.yaml,*.yml....

2021-02-23 18:35:07 1276

转载 组件 (Component)和对象(Object)之间的区别

组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来像对象,但不符合对象的学术定义。它们的主要区别是:1)组件可以在另一个称为容器(有时也称为承载者或宿主)的应用程序中使用,也可以作为独立过程使用;2)组件可以由一个类构成,也可以由多个类组成,或者是一个完整的应用程序;3)组件为模块重用,而对象为代码重用。现在,比较流行的组件模型有COM(Component Objiect Module,对象组件模型)/DCOM( Distr...

2021-02-18 19:55:28 2391

转载 框架-Spring及组件概念

1.什么是SpringSpring框架是一款开源java平台。创建于2003年,轻量级框架(基本版本只有2M)。使用Spring优点:(1) 使用POJOs开发,不再需要EJB容器;如果必要,仅需要Tomcat或其他servlet容器(2) 模块化组织,只需关注用到的模块(3) 高度复用,ORM框架、日志框架、Quartz、JDK timers(4) 测试便捷,POJOs注入测试数据(5) MVC web框架,可支持Struts或其他小众框...

2021-02-18 18:45:36 349

转载 Spring AOP理解 二

一、对AOP的初印象首先先给出一段比较专业的术语(来自百度):在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。然后我们举一个比较容易理

2021-02-08 16:22:06 149

转载 Spring AOP理解

1.Spring AOP是什么?Aspect Oriented Programming:面向切面编程什么时候会出现面向切面编程的需求?按照软件重构的思想,如果多个类中出现重复的代码,就应该考虑定义一个共同的抽象类,将这些共同的代码提取到抽象类中,比如Teacher,Student都有username,那么就可以把username及相关的get、set方法抽取到SysUser中,这种情况,我们称为纵向抽取。但是如果,我们的情况是以下情况,又该怎么办? 给所有的类方法添加性能检测,事务控制,该怎么抽取?

2021-02-07 19:28:27 160

转载 对Spring IOC的理解

学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解  首先要分享的是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗易懂,以下内容全部来自原文,原文地址:http://jinnianshil

2021-02-07 16:28:12 93

转载 idea通过springboot初始化器新建项目

1、通过初始化器新建项目,勾选后对应生成的pom文件以及生成的包路径2、生成项目后点击稍后弹出的自动自动导入maven工程的改变,当pom中有依赖改变时会自动刷新导入依赖3、删除自动生成项目的不需要的文件如果自己练习时不想要test文件夹,那么也可以删除,同时还得删除pom中的依赖...

2021-01-25 11:01:32 155

转载 Unity3D 本地数据持久化记录存储

下面介绍几种 Unity本地记录存储的实现方式。第一种 Unity自身提供的 PlayerPrefs//保存数据PlayerPrefs.SetString("Name",mName);PlayerPrefs.SetInt("Age",mAge);PlayerPrefs.SetFloat("Grade",mGrade)//读取数据mName=PlayerPrefs.GetString("Name","DefaultValue");mAge=PlayerPrefs.GetInt(

2021-01-24 02:05:18 437

原创 SpringBoot入门教程

Spring Boot :简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;微服务:martin fowler;微服务:架构风格(服务微化);一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE;微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;详细参照微服务文档环境准备:环境约束–jdk1.8:Spring Boot 推荐jdk1.7及以上;java version "1.8.0

2021-01-21 19:47:33 110

转载 Java 注解理解

关于注解首先引入官方文档的一句话:Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。看完这句话也许你还是一脸懵逼,接下我将从注解的定义、元注解、注解属性、自定义注解、注解解析JDK 提供的注解这几个方面再次了解注解(Annotation)注解的定义日常开发中新建Java类,我们使用class、interface比较多,而注解和它们一样,也是一种类的类型,他是用的

2021-01-21 19:22:30 105

转载 Unity 对象池

概念我们先讲讲对象池是什么,有什么用。在游戏的制作过程中,我们可能会碰到这样的情况,就像现在最火的吃鸡游戏一样,我们有一把枪,开枪的时候射出子弹。每个子弹即一个对象,正常情况,我们的处理方式可能会是,每开一枪,就GameObject.Instantiate()一个新的子弹,当子弹到达极限距离的时候再GameObject.Destroy()销毁它。假设有射出1000发子弹,我们就会执行1000次这样的操作,然而在Unity中Instantiate和Destroy操作,不仅影响性能还容易产生内存碎片,总之就

2021-01-14 14:35:34 158

转载 简单理解与使用对象池模式(unity中实现)

一、对象池概念对象池模式并不是游戏开发独有的设计模式,它的设计思路与其他开发中的数据库连接池、线程池的思路等是一样的。其核心思想是,使用完不直接删除,而是将其放回池子里,需要用的时候再取出来。 对象池模式的出现主要优化两点:1、防止对象被频繁的创建和删除,从而内存抖动、频繁GC(垃圾回收)2、对象初始化成本较高但是因为传统软件开发的对象通常都是轻中里量级的, 分配/释放对象的开销可以忽略不计,所以所以在传统的软件开发中朴素的对象池应用还是比较少的。一般都是特定对象为了②上优化,例如.

2021-01-14 10:54:44 291

转载 Unity项目的.gitignore配置

Unity项目只需要关注Assets、ProjectSettings、Packages三个文件夹的版本控制。最新版的Unity基本已经将设置默认为可版本管理状态。我使用的版本是Unity2019.4.13。如果不放心,大家可以自行查看一下这两个配置的地方是否正确。Edit --> 项目设置 --> 编辑器确保如下图两项设置正确:最后让我们在项目中创建.gitignore文件:[Ll]ibrary/[Tt]emp/[Oo]bj/[Bb]uild/[Bb]uilds/

2021-01-09 01:41:55 3677 1

原创 Unity FBX模型动画提取

角色已经人形化(Humanoid)了,那它的动画可以用在其它的模型上了也就是可以共用一套模型动画了,但是你有没有发现那动画是和fbx模型绑在一起的,没关系你可以选中这几个动画文件按Contrl+D就可以提取出来了,然后你可以把整个fbx模型都删掉了,新生成的动画已经不再基于fbx了,这样可以大大减小资源大小。using UnityEngine;using UnityEditor;using System.Collections;using System.IO; public cl...

2021-01-05 15:50:51 2750 1

转载 Avatar Mask 动画混合

Unity关于动画,大致分为动画融合动画混合。具体使用到的东西大概就是BlendTree和Avatar Mask前者主要解决类似跑的时候转向这种问题,而后者是用来解决诸如边跑边招手,或者攻击的问题。这里主要记录一下Avatar Mask的使用心得。首先先创建Animator Controller,双击打开Animator Controller,添加你所需要的动画,在左侧layer层可以看到默认的是只有一个Base Layer的(layerIndex起始值为0,也就是0层),在这层添加诸如走路这些基础

2021-01-04 18:04:23 566

原创 Unity中协程(IEnumerator)的使用方法介绍

在Unity中,一般的方法都是顺序执行的,一般的方法也都是在一帧中执行完毕的,当我们所写的方法需要耗费一定时间时,便会出现帧率下降,画面卡顿的现象。当我们调用一个方法想要让一个物体缓慢消失时,除了在Update中执行相关操作外,Unity还提供了更加便利的方法,这便是协程。在通常情况下,如果我们想要让一个物体逐渐消失,我们希望方法可以一次调用便可在程序后续执行中实现我们想要的效果。我们希望代码可以写成如下所示:void Fade(){ for (float f = 1f; f &gt..

2020-12-30 11:43:58 165

转载 Unity 第三人称射击游戏视角控制与武器瞄准

===================更新一下源工程链接:链接:https://pan.baidu.com/s/15bxH-MPregp2ZIN92fK7XA 提取码:e7bp===================(与本文相比有修改)效果视频演示:https://www.bilibili.com/video/av88249417完整代码在最下面最近练习Unity,想做一个第三人称射击游戏的Demo。首先来做一个武器瞄准效果,即让枪能指向目标。查了很久不知道怎么实现,后来查到了IK这个概念,

2020-12-28 18:22:02 3726 1

转载 Final IK丨(六)头部控制 FBBIKHeadEffector

一、目标:使用FinalIK,实现头部的控制,并且身体随之自然地转动二、效果展示:三、实现思路头部运动以空物体(带有 FBBIKHeadEffector 组件)为参考,旋转了空物体,头部也跟着旋转。四、FBBIKHeadEffector 组件讲解IK:要控制的人物身上的 FullBodyBipedIK 组件BendBones:希望头部运动,也让全身也跟着转,那就需要把脊柱、脖子骨骼置于其中。(只置于三根脊柱,也可以)三、实现步骤1、给人物添...

2020-12-28 18:17:50 753

转载 Final IK丨(五)通过Unity布娃娃系统,结合FinalIK,做动画

一、目标:布娃娃系统,其属性是没有支撑,会自然倒在障碍物上。所以在动画状态,切换到布娃娃状态,人物会出现很自然的死亡动画效果。我们来做一个:人物死亡时,前面有障碍物,人物像布娃娃一样,撞上去,基于碰撞倒地死亡二、效果展示:三、属性讲解RagdollToAnimationTime:从布娃娃状态切换到Animator控制状态,所需要的时间ApplyIkOnRagdoll:勾选时,当在布娃娃状态时,人物会受到 IK 的影响。四、实现步骤:...

2020-12-28 18:17:21 1807

转载 Final IK丨(四)手指位置适配HandPoser

一、作用让手指摆出不同的动作。比如握枪柄。不同位置,不同样子的枪柄。二、效果展示三、组件属性讲解1、HandPoserPoseRoot:赋值的为参考的部分。根据该参考的部位,调整自身相应部分。通俗点讲,自身物体为A,复制一份自身物体为B(不带HandPoser),将B赋值到A的PoseRoot。B以后的状态,就是A的参考状态了。改变B的属性,比如旋转,A相应物体的属性,也会跟着改变。(现在只测试出改变B的旋转可以,位移不行)2、Interac...

2020-12-28 18:16:13 967

转载 Final IK丨(三)匹配目标FullBodyBipedIK 与 瞄准目标AimIK

一、匹配目标FullBodyBipedIK1、作用:实现将身体某部位,匹配到某位置。比如手持枪 Idle 动画,原先动画手没有握到枪托,现在我们通过该脚本,使手匹配到枪托位置。2、原动画:原动画手和枪匹配的太好了QAQ,我们就把枪旋转一下吧,忽略右手,做下左手匹配到当前枪的位置。3、实现步骤人物添加 FullBodyBipedIK 。a、在左手要放在武器上的位置,(枪物体下面)创建一个空物体。b、将 FullBodyBipedIK的 左手权重调为1,将空物..

2020-12-28 18:15:23 1263

转载 Final IK丨(二)脚贴合平面 GrounderFBBIK 介绍

一、功能介绍让人物脚贴合地面。二、效果演示三、原理该脚本利用射线检测,判断前方障碍物高度,若脚能放上去(放上去的高度参数自己设置),则匹配高度。四、实现步骤先给人物添加 FullBodyBipedIK ,再添加GrounderFBBIK(碰撞、运动条件等提前配置好)GrounderFullBodyBiped 既是FullBodyBipedIK五、属相讲解Solver:Layers:检测障碍物的层级。MaxStep:脚...

2020-12-28 18:14:50 1373

转载 Final IK丨(一)简介及关键脚本 FullBodyBipedIK 讲解

一、术语解释正向运动力学:通过改变父节点,子节点随之自然而然改变,为正向运动学。反向运动学 IK :通过设定某关节状态,其父节点经过计算发生改变。这是反向运动学。比如用在脚接触不同地面,自动计算身体状态,就比较实用。二、预览查看效果1、导入Final IK SDK,导入人形模型2、给人形模型根节点添加 FullBodyBipedIK 脚本3、设置该脚本的左手权重为1,在Scene视图会看到蓝色方块,运行游戏,拖动它即可看到效果。三、FullBo...

2020-12-28 18:14:09 4014

转载 爬虫必备之selenium

selenium是一个自动化测试的工具,我不是搞那方面的,所以也在那方面的具体应用不太了解。但是,这并不影响我在爬虫和其它方面的使用。安装: 使用pip安装就可以了。注:使用selenium之前需要下载chromedriver.exe放入chorme安装的文件夹,并配置环境变量哦!具体自行百度解决。具体使用:一、.声明浏览器对象:browser = webdriver.Chrome()二、.访问页面: browser.get('https://www.baidu.com') #访问url,也就

2020-12-14 03:52:12 382

转载 将自己的python代码打包成exe的可执行文件

将自己的python文件打包成exe文件可以降低程序对环境的依赖性,可以让自己的代码在不具备python环境的windows系统上完美运行,今天我们来一起学习python文件打包工具pyinstaller。1.安装pyinstaller。(1)打开cmd运行窗口输入:pip install pyinstaller (2)去官网http://www.pyinstaller.org下载对应自己的python版本的安装包。2.使用。(1)直接打包代码。pyinsta...

2020-12-14 03:47:44 278

转载 Unity中协程(IEnumerator)的使用方法介绍

在Unity中,一般的方法都是顺序执行的,一般的方法也都是在一帧中执行完毕的,当我们所写的方法需要耗费一定时间时,便会出现帧率下降,画面卡顿的现象。当我们调用一个方法想要让一个物体缓慢消失时,除了在Update中执行相关操作外,Unity还提供了更加便利的方法,这便是协程。在通常情况下,如果我们想要让一个物体逐渐消失,我们希望方法可以一次调用便可在程序后续执行中实现我们想要的效果。我们希望代码可以写成如下所示:void Fade() { for (float f = 1f; f >

2020-12-11 17:25:49 264

原创 Git使用gitignore建立项目过滤规则

在进行协作开发代码管理的过程中,常常会遇到某些临时文件、配置文件、或者生成文件等,这些文件由于不同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push,这样会引起开发上的不便。Git可以很方便的帮助我们解决这个问题,那就是建立项目文件过滤规则。git中提供两种过滤机制,一种是全局过滤机制,即对所有的git都适用;另一种是针对某个项目使用的过滤规则。个人倾向于第二种。以我的一个项目为例,该项目用.net开发,.config文件、包括生成的bi.

2020-11-19 16:07:04 123

原创 PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)

方法一:在php中,抓取https的网站,提示如下的错误内容:Warning: file_get_contents() [function.file-get-contents]: failed to open stream: Invalid argument in I:Webmyphpa.php on line 16打开php.ini文件找到 ;extension=php_openss...

2020-04-30 10:27:08 6282

转载 Mac和Linux下测试端口是否存活一法[转载]

测试端口存活的最常用的方法是telnet$telnet 127.0.0.1 80不过这个方法有一个不方便的地方:连接成功后会进入交互模式,需要按ctrl + ]和q才能退出。后来,经过网上一番搜索,发现一个简便的方法,请出大神nc$nc -zv 127.0.0.1 80Connection to 127.0.0.1 port 80 [tcp/arepa-cas] ...

2020-04-13 14:47:44 619

原创 Mac添加ssh config配置,快速登录Linux系统

shell中到根目录下.ssh文件夹cd ~/.ssh/生成密钥(已经生成过的跳过这一步,gitlab等都需要的)ssh-keygen创建配置文件vim config写入以下命令到config文件Host myServer # 设置ssh host缩写 Hostname 47.***.***.10 # 服务器ip User root # 服...

2020-04-13 10:45:40 11911

转载 Linux scp命令

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令,是cp命令的加强版。常见命令基本用法 scp [可选参数] 源文件/目录 目标文件/目录 常用的可选参数-P大写的,指定端口号 -r递归复制整个目录 -v显示所有 debug 信息 -q不显示传输进度 -C大写的,启用压缩...

2020-04-10 14:30:33 251

转载 Linux vi/vim

Linux vi/vim所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。相关文章:史上最全Vim快捷键键位图 — 入门到进阶什么是 vim?Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转...

2020-04-10 14:25:32 117

原创 linux下xampp集成包安装配置方法

1、查看你linux系统的位数,是32位的还是64位的。使用uname -a命令查看。显示有x86_64则说明你是64位内核, 跑的是64位的系统.i386, i686说明你是32位的内核, 跑的是32位的系统2、首先下载xampp的安装包。打开网址:https://www.apachefriends.org/zh_cn/download.html或http://sourcefor...

2020-04-10 14:25:03 755

原创 Linux 笔记

安装程序前赋予755权限,以防因为权限不足,无法安装chmod -R 755 xxx.run作为root用户,用chmod为什么改不了文件权限:chattr可以防止关键文件被修改在linux下,有些配置文件是不允许任何人包括root修改的,为了防止被误删除或修改, 可以设定该文件的"不可修改位(immutable)"。 例如: chattr +i /etc/fstab ...

2020-04-10 12:56:14 77

转载 Linux文件系统权限管理

1.文件的基本权限(1)权限的作用通过对文件设定权限可以达到以下三种访问限制权限:只允许用户自己访问; 允许一个预先指定的用户组中的用户访问; 允许系统中的任何用户访问。(2)查看权限(3)文件类型此处强调一下,Linux中文件类型有如下:p表示命名管道文件d表示目录文件l表示符号连接文件-表示普通文件s表示socket套接口文件,比如...

2020-03-24 11:52:07 363

原创 Git相关的一些东西

Git创建本地分支并关联远程分支# 创建本地分支git branch 分支名# 切换到本地分支git checkout 分支名# 创建本地分支并切换到该分支git checkout -b 分支名# 提交本地分支到远程仓库git push origin 本地分支名# 将新建的本地分支与远程分支关联git branch --set-upstream-to=or...

2020-03-24 00:51:42 115 1

空空如也

空空如也

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

TA关注的人

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