- 博客(299)
- 收藏
- 关注
转载 使用PHP提取PDF内容的详细步骤与实例
无论是需要读取PDF文件的内容,还是需要进行PDF文件的编辑和转换,PHP都提供了丰富的库和函数来帮助我们完成这些任务。接着,我们设置了输入和输出的文件路径,并使用ExportImage方法将PDF文件转换为图片。在上述代码中,我们首先创建了一个Parser对象,然后使用parseFile方法读取了PDF文件。最后,我们遍历了PDF文件的每一页,并打印出了每一页的文本内容。除了读取PDF文件的内容,我们还可以使用setasign/Fpdi库来编辑PDF文件。2. 读取PDF文件。4. 转换PDF文件。
2024-02-01 16:53:44 501
翻译 Amplify Shader Editor手册 Unity ASE(中文版)
Amplify Shader Editor手册 Unity ASE教程
2022-08-07 03:23:53 13695 2
原创 tp6 使用 ProtoBuf
解压后得到文件夹(以mac为例)protoc-21.4-osx-x86_64,可运行的脚本protoc在bin文件夹下。注意国内镜像可能下载失败,可以将镜像改为https//repo.packagist.org后重新执行。window下下载win32或者win64版本,mac下载osx版本。编写proto消息类型,保存为person.proto。当前项目下安装依赖扩展,安装composer依赖扩展。以下为无需c扩展版本。...
2022-07-28 16:25:10 547
原创 Homebrew brew update 长时间没反应(或卡在 Updating Homebrew...)
MacHomebrew安装与卸载有时候在brewupdate、brewinstallxxx…命令的时候会长时间没反应或者卡在UpdatingHomebrew...。原因是由于我们安装的brew默认repo是官方的repo,出于国内特殊原因无法连接,所以使用Alibaba的Homebrew镜像源进行加速后问题就能解决。平时我们执行brew命令安装软件的时候,跟下面3个仓库地址有关。...
2022-07-27 15:28:26 12508 6
转载 Galera Cluster——一种新型的高一致性MySQL集群架构
1. 何谓Galera Cluster何谓Galera Cluster?就是集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,目前Galera Cluster有两个版本,分别是Percona Xtradb Cluster及MariaDB Cluster,都是基于Galera的,所以这里都统称为Galera Cluster了,因为Galera本身是具有多主特性的,所以Galera Cluster也就是multi-master的集群架构,如图1所示:图1 Ga
2022-04-29 19:00:55 1314
原创 Windows10系统删除文件夹“找不到该项目”强删方法
Win10下载或创建的文件,删除时偶尔会出现,“找不到这个项目”,无法删除,并提示“该项目不在 某路径 中,请确定该项目的位置,然后重试”。删除文件“找不到该项目”强删方法创建一个文本文档,把下面代码直接复制到你新建的文本中:DEL /F /A /Q \\?\%1RD /S /Q \\?\%1保存该文本,将文件后缀名修改为.bat,文件名随意。我们将需要删除的文件直接拖到这个.bat文件上即可删除。...
2022-04-22 14:41:37 7126 3
转载 如何彻底禁用mac压缩文件产生的__MACOSX .DS_Store
mac系统自带的压缩功能,会自动给压缩包里添加一些无用文件,每次解压后都会多出来一些__MACOSX .DS_Store文件夹。强迫症表示非常难受啊,一行代码即可解决这个问题。打开终端输入以下禁止.DS_store生成的代码:defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE恢复.DS_store生成:defaults delete com.apple.desktopserv..
2022-03-14 09:50:50 5182 3
原创 windows环境xampp安装redis扩展
本片只讲xampp下的redis扩展,这里是redis安装使用phpinfo()打印出php信息,有几点需要注意,需要通过这几个地方确定我们要下载的dll文件 需要下载 php_redis(主要) 和 php_igbinary (次要,可不安装,是高效序列化扩展)php_redis下载PECL :: Package :: redishttps://pecl.php.net/package/redis根据之前phpinfo信息选择这个版本php_igbinary下载...
2022-03-12 02:51:07 2989
原创 Mac系统xampp环境下安装redis和phpredis
一、安装redis服务通过homebrew安装redissudo brew install redis安装Homebrewmac下redis简单命令1.安装命令brew install redis2.启动Redis命令redis-server /usr/local/etc/redis.conf3.停止redis server服务redis-cli shutdown4.退出redis server服务Ctrl+c5.测试redis server是否启动
2022-03-11 12:40:38 1212
原创 Mac下Nginx基本使用命令
启动Nginxbrew services start nginx关闭Nginxbrew services stop nginx热更新Nginxnginx -s reload使用Homebrew安装Nginxbrew search nginxbrew install nginx查看nginx的配置信息,如下命令brew info nginx查看Nginx是否启动ps -ef|grep nginx查看nginx安装目录(是...
2022-03-09 18:36:58 2255
原创 unity延时方法Invoke和InvokeRepeating
MonoBehaviour里面有两个内置的延时方法InvokeInvoke(methodName: string, time: float): void;methodName:方法名time:多少秒后执行 InvokeRepeatingInvokeRepeating(methodName: string, time: float, repeatRate: float): void;methodName:方法名time:多少秒后执行repeatRate:重复执行
2021-10-21 19:20:23 218
转载 jsjq来封装一个图片文字合成图案的方法
这里首先做个说明项目里使用到用canvas生成海报,在toDataURL报了这个错误Tainted canvases may not be exported。toDataURL本身是没什么问题的,这个不用担心,但是你项目不能直接用文件的形式打开。要用:http://localhost:8080/index.html 这种形式打开,不然会报以上错误,这点切记。接着直接上封装代码,大神一看就懂的,请把凳子让给新手,哈哈注意:为了简单的获取DOM元素,封装的代码就依赖于jQuery来写了,这里就先贴上
2021-10-21 19:18:00 743
原创 Unity中C#单例模式使用总结
一、单例模式优点单例模式核心在于对于某个单例类,在系统中同时只存在唯一一个实例,并且该实例容易被外界所访问; 意味着在内存中,只存在一个实例,减少了内存开销;二、单例模式特点只存在唯一一个实例; 提供统一对外访问接口,使得全局可对该单例的唯一实例进行访问; 自行实例化(私有构造函数,不允许外界对其进行实例化)。三、单例模式使用资源管理器,资源对象数据的加载和卸载(无状态不需要实例化的对象); 单一客户端连接服务器等; 生命周期在游戏中永不消毁的对象。四、单例模式注意点
2021-09-28 00:49:59 430
原创 Unity使用System.Data.dll报错
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' and 'netstandard, Version=2.0.0.0版本不统一造成的,打开工程文件下的Assembly-CSharp.csproj,搜索System.Data,找到下面2处// 项目中使用的System.Data.dll,你自己存放的<Reference Include="System.Data"> <HintPat
2021-09-27 15:15:03 1248
原创 Unity 引入sqlite依赖dll时 报错Loading assembly failed “Assets/Plugins/Mono.Data.Sqlite.dll“解决方法
问题描述:在引入sqlite依赖dll出现以上错误:mono.data.sqlite.dll和system.data.dll解决方法:导入的dll和unity内部编译器的target版本应该有差异,网上分享的都是各自版本的dll,不一定适用,到unity目录下 \Editor\Data\MonoBleedingEdge\lib\mono\unityjit 文件夹下,复制所需文件到Asset/plugins覆盖旧的报错dll,错误即可消除:...
2021-09-27 14:33:27 1649
转载 【Unity SurfaceShader】学习笔记(八)光照模型
LitSphere(Matcap)发光球体光照模型就是将发光球体的纹理映射在球体上,来实现光照效果。这可以创造一些效果细腻的发光球体效果,但是它不受光照影响,改变光照的方向,球体的光照效果不变。如果要在固定视角的场景里制作细腻的球体光照,这会是一个不错的选择。准备小球纹理贴图: 定义Properties: Properties { _MainTint ("Diffuse Tint", Color) = (1,1,1,1) .
2021-09-26 16:40:39 570
转载 【Unity SurfaceShader】学习笔记(七)镜面反射
Unity内置的高光函数Unity内置了一种高光光照模型——BlinnPhone。使用方法如下:Shader "Custom/BlinnPhong"{ Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _MainTint ("Diffuse Tint", Color) = (1,1,1,1) _SpecColor ("Specular Color", Color) = (1
2021-09-26 16:38:56 1092
转载 【Unity SurfaceShader】学习笔记(六)Cubemap
Cubemap是一种类似天空盒的由六张贴图组成的贴图。它是用于一些需要反射效果的材质,用来反射周围的环境。如果要表现金属材质,通常会给它添加一张反射贴图,来模拟金属表面反射的环境的颜色。因为金属之类的材质它本身其实是没有颜色的,它的颜色就是它反射的周围物体的颜色。如果给金属赋予银白色,并不能得到金属的质感,要让它反射周围的颜色。立方图就是这样一种记录了周围环境颜色的贴图。Unity提供了一个RenderToCubemap的方法在脚本中生成Cubemap,官网代码.将代码拷贝下来,然后在场景中随意地搭个场
2021-09-26 16:28:37 2143
转载 【Unity SurfaceShader】学习笔记(五)法线贴图
法线贴图是一种在低模上模拟高模的效果的技术。这是维基对它的介绍。法线贴图类似凹凸贴图的升级版,凹凸贴图记录了物体表面凹凸的情况,法线贴图记录了物体表面凹凸的光照信息。光照信息即是入射光与法线的夹角信息。为了提高性能,模型的面数越少越好,很多细节的东西都是用贴图去弥补。但是光照是基于顶点去计算的,这样高光阴影等光照的表现就不够真实。于是前辈们发明了法线贴图这个办法,用贴图记录表面的光照信息,也就是用RGB值存储法线坐标的XYZ值,使低模也能够有高模的光照信息,从而表现出高模的光照效果。这是一种存储空间换计
2021-09-26 16:21:01 1285
转载 【Unity SurfaceShader】学习笔记(四)混合纹理
混合纹理纹理混合就是将几张纹理重合在一起显示。最常见的情形是地形纹理。混合纹理可以优化性能,这样只要渲染一次混合后的纹理即可,而不必渲染多次。接下来要介绍的就是如何混合纹理制作地形着色器:先准备几张贴图:这几张就是要混合图片。我们还需要下面这张图片,这张图片就决定了图片是如何混合的:(可以先转到后面看效果)好了,上代码(我还是直接贴全部吧):Shader "Custom/Textures" { Properties { _MainTint (
2021-09-26 16:13:40 1060
转载 【Unity SurfaceShader】学习笔记(三)让纹理动起来
让纹理动起来通过更改Input结构体里UV坐标,我们可以让纹理动起来。这是一段河流的简易Shader:Shader "Custom/ScrollUVs" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _ScrollXSpeed ("X Scroll Speed", Range(0, 10)) = 2 _ScrollYSpeed ("Y Scroll S
2021-09-23 19:31:42 331
转载 【Unity SurfaceShader】学习笔记(二)用纹理改善漫反射
用纹理改善漫反射上一篇里我们做的HalfLambert的效果是这样的:我们看到,亮部到暗部没有自然的过渡,暗部直接涂成深灰。就像初学者画的素描,直接将暗部涂黑,没有变化。这是因为这种光照计算太简单了,现实生活中,暗部因为漫反射的存在不会像画面上那么暗。但如果要引入光照计算的话,那太复杂了,我们可以用纹理来改善它。因为我们需要一张纹理贴图,先在Properties里声明纹理:_RampTex ("Ramp Texture", 2D) = "white"{}然后再CGPROGRAM
2021-09-23 17:36:50 370
转载 【Unity SurfaceShader】学习笔记(一)认识结构
认识结构创建SurfaceShader1. 新建Unity Project。2. 在Assets文件夹下新建三个文件夹:Materials、Shaders、Textures。3. 在Shaders文件夹下右键,Create-Shader-Standard Surface Shader,命名为MySurfaceShader。4. 在Materials文件夹下新建Material,命名为MySurfaceShader,将它的Shader改为新建的Shader。5. 新建一个Cube,将新建的材质
2021-09-23 15:41:32 661
原创 Mac Android开发环境变量的配置(java、sdk、ndk、gradle)
mac环境下的配置步骤:1.启动Terminal终端工具2.输入cd ~/ 进入当前用户的home目录3. 创建:touch .bash_profile4.打开并编辑:open .bash_profile5、在文件中写入以下内容:*java、sdk、ndk、gradle版本和路径都要根据自己实际情况配置export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Homeexport P
2021-09-16 20:58:35 683
原创 Unity3d 移除某个GameObject的所有子物体
在开发游戏的时候,经验会遇到这样的需求:移除某个物体下面的所有子物体,比如排行榜列表的刷新,清空某个列表等。虽然Unity3d提供了一些现成的API可以操作,但是要正确移除一个物体下的所有子物体,还需要注意一些问题通过Transfrom的childCount属性可以获取当前物体有多少个子物体parent.transform.childCount通过transform.get(index)方法返回的是子物体的transform,直接移除是不对的Transform transform;f.
2021-09-10 18:25:43 3485
原创 Unity 中的 SetActive() 、 OnEnable()、OnDisable()
一、Unity 3D中的 GameObject.SetActive() 与 MonoBehaviour.OnEnable()、MonoBehaviour.OnDisable()其实这三之前的关系很简单:SetActive(true),很触发MonoBehaviour.OnEnable()事件,就算对象之前本就是activeSelf==true,事件依然会发生;SetActive(false),很触发MonoBehaviour.OnDisable()事件,就算对象之前本就是activeSelf==f
2021-09-10 18:20:36 4657 1
原创 Mac UE4/UE5 无法检测到已安装的 Xcode
首先安装Xcode,去应用商店里免费获取就行将xcode直接拖拽到 终端命令行工具,看路径是否是 /Applications/Xcode.cpp ,如果不是请确保你的路径就是这个,这个路径跟我下图的路径请保持一模一样,ue4只检测该路径的 xcode2. 如果上面这个夜解决不了你的问题,那么就应该是跟我一样的问题,自己一个人摸索了好几天,没人用 mac 装 ue4,加了好几个群,每一个知道的终端输入命令 xcode-select -p ,看你终端的输入路径是否跟我的一摸一样.
2021-08-30 15:29:31 7693 5
转载 用VScode开发Unity心得,和一些必备插件
自从用了半个月的vscode 感觉要起飞了,功能相当强大,从来没有过的感觉,能吧他哥哥visualstudio甩十条街。安装的之后要翻墙,他会自动下载一些所需要的包接下来我介绍一些插件C# XML Documentation Comments快速生成代码注释头/// <summary>/// 说明/// </summary>Bracket Pair Colorizer让你的括号有属于自己的颜色提高开发效率C#这个是必备的不...
2021-08-30 12:13:18 4000 1
原创 Cocos Shader 图片去色变成灰色
把一张彩色图片变成灰色,效果如下:代码如下:CCEffect %{ techniques: - passes: - vert: vs frag: fs blendState: targets: - blend: true rasterizerState: cullMode: none properties: texture: { value: white } .
2021-07-20 11:16:23 881
原创 Cocos Shader 不规则图片描边效果
开发中碰到需要给不规则图片添加秒变效果,效果如下代码如下:CCEffect %{ techniques: - passes: - vert: vs frag: fs blendState: targets: - blend: true rasterizerState: cullMode: none properties: texture: { value: white
2021-07-20 10:58:11 1336 1
原创 Cocos Shader 颜色渐变效果
美术设计了个渐变的文字,发现cocos creater里没有这个效果,所以用shader实现效果:代码如下CCEffect %{ techniques: - passes: - vert: vs frag: fs blendState: targets: - blend: true rasterizerState: cullMode: none properties: .
2021-07-20 10:49:18 2495 1
转载 解决windows下无法创建以“.”开头的文件夹或者文件
一、问题描述在windows下创建以“.”为开头的文件夹和文件,会出现下面问题:二、问题解决1、创建文件夹比如创建.kaggle文件夹,这样显然是会失败的,所以你可以先随便创建一个文件夹,比如kaggle文件夹:2、重命名通过cmd命令行下,进入该目录下,然后对该文件夹进行重命名:C:\Users\Administrator>ren kaggle .kaggle这样即可解决。...
2021-04-29 15:36:03 2398
原创 Unity绘制圆、椭圆、多边形
unity画圆原理是绘制多边形,增加多边形的边数,当边数到达一定的数量后,看起来就是一个光滑的圆using System.Collections;using System.Collections.Generic;using UnityEngine;//该物体需要 LineRenderer组件,也可以手动添加LineRenderer组件,把这个注释掉[RequireComponent(typeof(LineRenderer))]public class CirclesDrawer : Mo.
2021-04-23 16:57:25 4692
转载 TapTap物理画线游戏,使用Unity实现2D物理画线功能
实现效果如下:本工程已上传到GitHub,感兴趣的同学可自行下载学习。GitHub地址:https://github.com/linxinfa/UnityPhysicsDrawLine物理画线的核心就是:物理+画线。物理:想要有物理特性,最简单的做法就是挂碰撞体(Collider)和刚体(Rigidbody)组件。画线:可以使用LineRenderer组件来实现画线功能。1、创建物体挂组件创建一个空物体,重命名为Line,挂上EdgeCollider2D、Rigid.
2021-04-22 03:14:49 1413
转载 Unity下,移动撞墙后抖动的解决方案
Unity下的移动方案:1.Rigidbody.MovePosition2.Rigidbody.AddForce3.Transform.Translate;Transform.position = vector3;目前主要分这三大类的移动方式。1和2是物理移动方式3是实体对象坐标的移动方式然后说说题目,为啥会抖动呐:public class Test : MonoBehaviour{ public float m_nSpeed = 0; void Update
2021-04-22 03:06:21 2711 4
转载 【 Cocos Creator 】cocos2d-js基本动作(cc.moveTo等。。。。runAction)
var ActionLayer = cc.Layer.extend({ ctor: function () { this._super(); var size = cc.winSize; var sprite = new cc.Sprite(res.HelloWorld_png); sprite.x = size.width / 2; sprite.y = size.height / 2; th.
2021-04-13 18:57:00 1555
原创 SpringBoot游戏服务端笔记
使用的xinyue框架中,web网关自动根据@Override public int getOrder() { return Ordered.LOWEST_PRECEDENCE - 2; }获取到filter在当前管道中的位置,然后依次执行 定义的 filter()方法@Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {}
2021-03-26 12:14:04 239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人