自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (7)
  • 收藏
  • 关注

原创 【cocos creator 3.x】 修改builtin-unlit 加了一个类似流光显示的mask参数

注释掉的 LerpMask 是等价这个算法的,只不过用了 if else来实现的。

2024-06-13 20:50:36 583

原创 【lua】lua内存优化记录

lua内存占用实际优化几个点:优化点1 加快gc频度:  优化点2 去掉了因require路径 / 和 .的混用造成的重复加载:  优化点3 数值表lua里内存精简:

2024-03-04 16:07:15 1963

原创 【lua】tolua(Luajit) require 重复加载了的问题(路径混用斜杠/和点.造成的问题)

再仔细分析源码问题,发现真机为了编译lua用了luajit (lib_package.c 有个版本 require实现没有 /替换成 .), unity上用的是tolua编出来的dll(macnojit 的 loadlib.c 里 require实现做了/换成.)打印了一下当时package.loaded (按理require了之后这里会存一下,后面require就不会重复加载了),那是项目里 require "data/xxxx" require "data.xxxx" 两种方式混用造成的。

2024-03-04 14:51:22 848

原创 【unity】关于技能释放shader.CreateGPUProgram造成卡顿,优化和定位方法。

在将该ShaderVariantCollection资源加载进内存后,通过在游戏前期场景调用ShaderVariantCollection.WarmUp来触发Shader.CreateGPUProgram,并将此SVC进行缓存,从而避免在游戏运行时触发此API的调用、避免局部的CPU高耗时。开发者可以结合Profiler的Timeline模式,选中触发调用Shader.CreateGPUProgram的帧来查看具体是哪些Shader触发了该API,可以参考。打包在手机上运行后, 用logcat抓到日志。

2023-09-21 14:55:49 1038

转载 [IAP] 最近IOS内购伪造防刷单问题,bid(BundleID)能被伪造,

苹果WWDC23对verifyReceipt API 弃用,并提供了相应的兼容迁移建议,本文还介绍了receiptData 旧收据伪造问题和苹果新推出的 App Store Server Lib。这 2 个 API 获取的 receiptData 凭证,经过苹果 verifyReceipt API 解析后的格式是不同的。目前发现, iOS 7 之前的旧凭证 API,黑产能伪造票据中的 Bundle ID!苹果 App Store 支付弃用 API 接口兼容和解读 - 掘金。

2023-08-01 10:16:34 1240

原创 【unity】URP的shader开发中支持多光源,_ADDITIONAL_LIGHTS_VERTEX 和 _ADDITIONAL_LIGHTS 区别

一般来说使用 _ADDITIONAL_LIGHTS_VERTEX,可能要优化一些,但是有局限性,平行光还好,针对点光源,面片比较大的模型就很奇怪了, 这次就遇到这个问题,尝试地表接受一个点光源试试发现没作用,还以为代码没写好……项目里有一个其他同事实现的shader,美术那边希望能支持多个光源, 我一看代码里面, frag 函数里已经实现了。要支持 _ADDITIONAL_LIGHTS_VERTEX , (片元着色器代码 上面有示例了,不贴了)当然单独加一个也是可以的。

2023-06-14 11:31:18 3498 2

原创 【unity】navmesh很远的点寻路不到的处理(迭代寻路)

C++ 另外一个项目的实现,仅供参考, 思路差不多的,寻路发现未达终点,尝试若干次迭代, 如果得到的路点只有1个 或者 终点就是起点 或者 寻路失败,则说明没法继续寻路停止迭代。项目里,有个场景比较绕,比较远的目标寻路只会寻路到一半的地方就停下来, 终点是可达的,但unity的navmesh寻路算法本身因素,遍历深度有限制造成的。这种方案的问题就是 中间的点很可能走到一个沟沟里,然后又跑出来。

2023-06-09 11:48:34 882

原创 centos里 C++项目 time() 和 gettimeofday() 返回不同的秒数

这边做定时器时判定是用的 gettimeofday ,但逻辑里设置时间用的是time(NULL) 结果造成定时器出问题了。项目里有个地方获取时间戳需要比较精确,用了 gettimeofday()获取的。实际项目发现 就算 time()后面调用 获取的时间 还是有概率。而linux 下一般获取时间戳用time(NULL) 获取的,网上有人也遇到了这个问题,所以一个项目里。很多地方也引用了这里获取时间戳。

2023-04-13 14:17:38 609

原创 unity编辑器上不穿模,真机Android上会穿模问题定位和解决

不透明物体的绘制 是根据深度测试来绘制的, 一般近的先画,远的后画,深度测试不过的可以不画,这样可以减少overdraw。但深度缓存存储是非线性的, 设置不当可能某个距离的精度不够造成深度测试出现错乱 出现穿模或者闪烁。2. 调整一下 相机的Clipping Planes, 主要是调Near, 之前是0.01 调成0.1, 就是减少相机剪切距离,变相提高精度,同时Near不能设太小容易造成精度浪费。项目里有个特殊镜头近距离的技能展示,同一个模型正常场景里是好的, 播放这个特效时用了一个单独的相机的,

2023-03-29 17:11:58 823

原创 【C++】 linux内存分析工具对比小总结,valgrind、gperftools、ASAN

valgrind 外挂式,但大项目太慢不推荐,ASAN速度快但要单独编译版本, gperftools 可外挂式 分析cpu性能和内存性能比较方便。

2023-03-28 17:04:11 3022 3

转载 mysql 简单insert 也要消耗30ms或40ms的问题优化

sysvar_innodb_flush_log_at_trx_commit 从 1 改成 2, 性能会好些。最近的项目,本地电脑centos环境,发现insert还是很慢 插入一条 要30~40ms。如果改成0 ,则1ms不到, 测试insert命令基本可以插入7~8条/ms。以前项目遇到过 insert很慢,当时是修改mysql的my.cnf 配置。查资料 看到有一个 sync_binlog 参数。...

2022-08-26 17:44:23 1724 1

原创 C#实现不规则图形分割成多个矩形组合可视化工具, 核心是一个找最大内切矩形的算法

有个项目,有些不规则区域,想转成尽可能少的小矩形。3.动态生成bitmap,绘制点和矩形,显示到pictureBox上。2.控制pitctureBox缩放(ctrl+滚轮)和移动。1.图片的加载和像素解析,绘制到pictureBox上。4.找出属于不同区域的相连的不规则图形对应的数据块。6.拆分剩余上下左右4个区域,递归找到更小的矩形。,并扩展了一下,把四周剩余区域切割递归找矩形。5.不规则图形数据查找最大内嵌矩形算法。...

2022-07-18 15:58:28 1973 2

原创 vs2019 C++自带了内存问题检测工具:AddressSanitizer(ASan)

vs2019 C++ 自带了 内存问题检测工具:AddressSanitizer(ASan)

2022-03-25 11:36:59 16608

原创 [unity]【UGUI】UI经常换,代码尽量不改的方案; 同时也减少GameObject.Find的调用,方便程序开发时直接访问节点对象

抛砖引玉介绍一个UGUI开发时一个思路:项目 用lua做UI开发的。 一个toLua 一个XLua。 策划 或美术经常要调 已经做好的UI的外观, 一般需要变布局或节点层级。最早,代码里访问某个节点都是用GameObject.Find 找到节点, 层级关系一变,就需要程序配合改, 很麻烦。怎么做到调整UI,不用改代码呢?想到一个命名规范方案:程序拿到UI的prefab 绑上UI关联Lua的脚本后, 把所有程序需要访问的节点,改名成:rd_xxxxx, 脚本控制下的子节点rd_开头的...

2021-12-07 16:30:20 2702

原创 寻路网格 recastnavigation-1.5.1 服务器处理多人不同动态障碍物寻路,复用寻路数据 方案思路。

缘起:有个slg项目,所有玩家在一个大地图上移动, 有公用的动态障碍物 参考样例代码Sample_TempObstacles里调用dtTileCache 的addObstacle、addBoxObstacle (注:接口只是放入排队,调用后最好要调用update 确保动态障碍 走到 buildNavMeshTile,以便生效),可以添加圆形、矩形 3种情况的动态障碍物,基本能满足需求了。 但有个需求,玩家还有动态的障碍块, 每个玩家进度不同, 解锁情况也不一样。思路:思路1. 每个玩家.......

2021-10-19 20:09:54 3216 8

原创 vs2019 编译的静态链接库, 放到其他电脑上 最后link报错。

本地用 vs2019 编译 libprotobuf 静态库, 然后放到正式项目里编译,没问题。结果在编译服务器 编译 最后link却报错:7>目标 Link:7> libprotobufd.lib(any.obj) : error LNK2001: 无法解析的外部符号 __imp___std_init_once_begin_initialize7> libprotobufd.lib(implicit_weak_message.obj) : error LNK2001: .

2021-05-26 16:05:50 2028

原创 关于chrome浏览器中, php session超时没有达到预期的问题

php 的session位置保持方式 目前是cookie方式session.use_only_cookies = 1session.name = PHPSESSIDsession.cookie_lifetime = 0 #窗口关闭就删除cookie一般浏览器 关闭窗口后在开, session就会失效。 但chrome浏览器不是的, 它会恢复原来的cookie。 是因为设置了 启动时 “从上次停下的地方继续”另外服务器的session.gc_maxlifetime 和session....

2020-11-20 11:44:52 668

原创 关于用编程 取本地时间时,会有夏令时的坑,

[zhenmu@zhenmu ~]$ TZ='GST-1'; export TZ[zhenmu@zhenmu ~]$ date +'%Y-%m-%d %H:%M:%S' -d @15837120002020-03-09 01:00:00[zhenmu@zhenmu ~]$ date +'%Y-%m-%d %H:%M:%S' -d @15923520002020-06-17 01:00:00[zhenmu@zhenmu ~]$ TZ='Europe/Berlin'; export TZ[zhe.

2020-06-04 16:25:58 1197

原创 linux下简单的 程序后台运行、查看、关闭、监控 的shell脚本, 记录一下

centos下,比较通用一点的几个shell脚本记录一下1. 后台运行:back_run.sh运行方式sh back_run.sh game_server会生成一个 xxx.pid文件exe=$1nohup ./${exe} 0 0 >> log/${exe}.clog 2>&1 &echo $! > "${exe}.pid"2. 查看运行情况, 查看对应进程的pidinfo.sh#!/bin/bashcur_...

2020-06-04 10:42:05 1246

原创 python3 遍历目录所有pdf,检测是否文件损坏

# encoding: utf-8# author: # date: # summary: 直接用 PDF 文件内容判断 PDF 的正确性和完整性,适用于判断下载的 PDF#做成 exe:pyinstaller -F -c checkpdf.pyimport reimport osimport sysfrom PyPDF2 import PdfFileReader ...

2020-02-26 11:08:57 3454

原创 关于用gradle 自动拷贝 google-services.json的坑

一、Unity 2018 集成google play sdk时, 希望unity里直接用gradle方式打包成apk (不希望导出成android studio gradle项目,再修改什么的),unity 2017之后 可以在项目里 自定义 build.gradle文件二、集成google sdk 需要把 后台网站上下载的google-services.json 放到导出的gradl...

2019-12-05 13:51:47 2809 2

转载 记录linux下 分析线上进程的函数开销情况 perf top -p xxxx

perf 工具的基本使用:http://blog.itpub.net/24585765/viewspace-2564885/几个关键的选项$perf top -h-p, --pid <pid> profile events on existing process id-g enables call-graph rec...

2019-11-07 10:56:12 1247

原创 关于 C#和 Lua相互访问时 用冒号:还是用点.的问题 原因简单解释 ( 偏Xlua, tolua也差不多一个意思)

一、要理解lua : 的用法机制:1、函数声明时function Main:Test1(go)等价于function Main.Test1(self, go)即function Main:Test1(go) self.gb = go self.init = trueend等价于function Main.Test1(self, go) self.gb = ...

2019-05-30 20:13:14 784

原创 Unity C#一些容器使用foreach的GC开销。

测试版本是 Unity5.6.6foreach 遍历一般没问题,不过发现还有gc的开销的地方。关于字典Dictionary,foreach(var key in dict.Keys)会有GC 开销。(访问 .Keys 会有GC开销)用foreach(var kv in dict){ var key = kv.key;则没有GC开销。...

2019-05-28 11:11:13 860

原创 关于UGUI里按钮用动画实现点击缩小后,按住按钮边缘会不停抖动的问题

项目里给很多按钮做了一个 按下缩小的处理。 用Animation做的。测试觉得下面的是有问题的,按住边缘就会不停的抖啊抖:解决方案肯定个旧市, 按钮整体缩放时,点击区域不要缩放。目里已经做了很多UI了,要全部重新制作一套规则不太可能。想到一个方案 按钮父节点下挂一个点击区域, 按钮缩小时,这个区域反比放大。这样对原来UI的改动最小。不过项目里还是有很多这样按钮,需要做一个工具...

2019-05-23 15:37:12 2326 1

原创 【Unity】用shader做UGUI字体描边的算法改进

Unity自带的Outline 效率实在太差。找了基于Shader实现的UGUI描边解决方案http://www.cnblogs.com/GuyaWeiren/p/9665106.html效果还不错,overdraw和顶点数都不高。不过方案有2个问题,自己尝试调整了一下, 代码放在这以供参考吧。(注:把ui存储prefab,运行时动态挂到一个canvas上, 这个canvas 如果...

2019-03-26 15:55:54 12320 25

原创 关于Android Studio集成其他插件,遇到 Could not find com.google.firebase:firebase-core 等问题

一个项目,导成gradle 安卓项目后,用Android Studio 打开项目,然后集成一个登录计费SDK。结果编译时,出现一些依赖库找不到比如:Could not find com.google.firebase:firebase-coreCould not find com.facebook.android:facebook-android-sdk:sdk的build.gra...

2019-03-26 14:43:38 4818 1

原创 【unity】unity 里访问 java的枚举,及用枚举的函数。

参考了这个:https://stackoverflow.com/questions/29091231/how-to-access-enum-in-unity-androidjavaclass  AndroidJavaClass ajc= new AndroidJavaClass("com.umeng.analytics.MobclickAgent$PageMode"...

2019-01-11 19:58:53 858

原创 C#读取csv,读取一行数据的异常问题处理。

多语言文件 这版用csv格式存放, 自己用C#写辅助工具时,发现遇到各种问题。 (暂时没找开源库,如果有其实直接就行了)。讲一讲遇到的几个坑吧:1.csv 这边用 半角逗号, 间隔单元格, 所以如果文字中有半角,  "   则这个单元格的数据前后会加上双引号 "",解析时要注意这个问题。2. 然后又遇到一个问题, 最开始直接用StreamReader 的ReadLine()读取一行。 (它...

2018-12-22 12:09:45 1949

转载 【转】记一次Canvas 设置 overrideSorting 失败

我们项目里也遇到过。  UI的prefab 加载后onEnable里 设置上面canvas的 overrideSorting 没有效果。  原来prefab 加载后已经触发onEnable了, 但此时还没挂载到UI的Canvas下面。https://www.cnblogs.com/pmsl/p/8885640.html以下转发问题描述 GameObject obj = ...

2018-10-31 21:09:45 3805

原创 [Unity]提供效率,方便策划复制地图布点对象的坐标朝向 贴到excel里。

这个其实别人文章里看到的https://blog.uwa4d.com/archives/USparkle_Continuous-optimization.html 我们项目里策划配 怪、npc也需要 坐标的拷贝。 直接获取选中的 坐标和朝向复制到粘贴板就行了。  [UnityEditor.MenuItem("DiBian/CopyXYD %X")] stati...

2018-10-31 21:06:54 548

原创 【unity】NavMesh 运行时动态添加 OffMeshLink 线。

游戏里 有一些场景内的传送阵,  做寻路时, 之前要美术预埋 OffMeshLink线。 但策划会换位置, 两边就不一致了。想着 OffMeshLink好像可以动态加。  网上没有相关资料,  试了一下是可以的。编辑器下可以动态加, 程序里也基本可以。代码如下。在传送阵的对象上绑一个。 //需要主动加一个寻路跳跃传送线 GameObje...

2018-06-09 20:40:25 2472

转载 Unity 接收 IOS 内存不足的事件回调。

1. unity 2017 新版本 https://docs.unity3d.com/ScriptReference/Application-lowMemory.html 直接注册一下事件2. 5.5 左右的 需要自己和IOS关联起来。方法一.用 XUPorter 工具 修改代码让 UnityAppController 发个消息过来。方法二、https://answers.unity.com/...

2018-04-04 16:56:05 2458

原创 unity里, lua 面向对象方式,成员对象有可能残留的问题。

TaskItemUI = { name = nil, content = nil, schedule = nil, schedulebg = nil, targetObj = nil, taskData = nil, curAimId = nil, equipIcon = nil, selectImage = nil, --任务状态改变tips taskChangeTisp = "", --进度特...

2018-02-10 16:44:49 415

原创 【Unity】用Shader实现图片的区域遮罩,支持半透明,实现地图动态上色功能

一个项目,做世界地图时,希望未开启的地块是线稿,新地块开启时,做一个上色处理。想到的方案就是:上了色的彩图盖在线稿上,然后用mask 控制彩图的局部显隐。网上找了一个,可以半透明遮罩的shader:https://www.jianshu.com/p/1d9d439c28fa要控制不同区块显示或不显示,要怎么处理呢?  mask图其实只用到了 alpha,还有rgb2

2018-02-07 17:27:28 14869 2

原创 【unity】 shader的渲染次序 实现,水只倒影 场景,不要倒影角色。

项目里用了个比较简化的水(手机上用的),  角色也会倒影在很远的水面上。因为用了 GrabPass{"_GrabTexture"} 接取相机的数据 再做水面效果的处理。策划希望只过滤掉 角色的影子。本来想换相机 设一下mask 排除角色,用相机的RenderTexture ,网上有些例子就是这样的。http://www.ceeger.com/forum/read

2018-01-09 19:15:01 2276

原创 【unity】编辑模式预览Animator动作,2种实现。 其中一种 playback模式是Cinema Director用的会使Unity Crash

一、环境Unity 5.5.2 、Cinema Director v1.4.5.4 二、问题美术用 Director 做CutScene动画时, 某一个角色动作时间线上,播放多个动作, 预览模式,拖动线的时候,Unity基本会100%Crash如上图拖到类似位置就会闪退(如果一个Track只有一个动作 则不会)有2中Crash:========== OUTP

2018-01-06 15:33:42 5051

原创 [Unity]CutScene工具Cinema Suite Rotion 角度不能负数方向旋转的bug修正。

美术使用这个工具做动画时,对一些物体旋转,结果想 y轴方向 从0 往-30° 旋转,结果编辑模式自动会变出来一个 330°的关键帧。。。。完全不是美术预期。研究发现原来 Unity的根本机制, 编辑工具Vector3支持负数,但 赋值给 localEulerAngles,unity自动会换算到 0~360没法处理这里。只能在编辑器,判断是否要插关键帧的代码里做判断。Ci

2018-01-04 20:43:15 1091 2

原创 【unity】GameObject.Find 的性能开销分析

有时需要找根节点下的一些节点。测试了一下各个方法,发现GameObject.Find, 确实慢。有时需要找根节点下的一些节点。测试了一下各个方法。在目前S_Inland场景下,里面节点比较多, 测试 一个脚本,每个查找分别执行100000次开销结果如下:GameObject.Find("CameraForScenes"):                 6318000

2017-11-11 15:49:30 5144 1

原创 unity animator动画融合时的上下半身速度分离控制

游戏中要实现一边走一边攻击, 移动还分八方向的,所以使用了半身混合。Animator 半身混合的处理,可以另外看资料。  简单来说 就是分2层:0层 播放基础移动动作,比如“Run”, 1层设了Mask(配置了上半身节点),weight设1(会完全覆盖0层的上半身动作),播放"Attack"就能满足要求了。不过,策划又有需求,需要玩家移动快时, 脚走路的动画要变快, 但

2017-08-30 15:23:59 13996

C#实现不规则图形分割成多个矩形组合可视化工具, 核心是一个找最大内切矩形的算法

C#代码,不规则图形分割成多个矩形,可视化工具, 核心是一个找最大内切矩形的算法 牵涉到的知识点: 1. 图片的加载和像素解析,绘制到pictureBox上 2.控制pitctureBox缩放(ctrl+滚轮)和移动 3.动态生成bitmap,绘制点和矩形,显示到pictureBox上 4.找出属于不同区域的相连的不规则图形对应的数据块 5.不规则图形数据查找最大内嵌矩形算法 6.拆分剩余上下左右4个区域,递归找到更小的矩形。 关联博文: https://blog.csdn.net/zhenmu/article/details/125852065

2022-07-18

Unityunity2017之后的shader实现的UGUI外描边方案,复用材质球保证能合批(修正了mask的问题)

基于Shader实现的UGUI描边解决方案,解决unity 自带outline 顶点数过多、overdraw过大问题。 且改进了一下实现, 用一个材质球绑定所有描边,保证文字描边能合批。 实例项目用的unity2018 具体实现代码文章在:https://blog.csdn.net/zhenmu/article/details/88821562 这次修正了 mask的问题 渐隐的问题。

2019-08-27

Unityunity2017之后的shader实现的UGUI外描边方案,复用材质球保证能合批

基于Shader实现的UGUI描边解决方案,解决unity 自带outline 顶点数过多、overdraw过大问题。 且改进了一下实现, 用一个材质球绑定所有描边,保证文字描边能合批。 实例项目用的unity2018.1.1 具体实现代码文章在:https://blog.csdn.net/zhenmu/article/details/88821562

2019-03-26

Unity用Shader实现图片的区域遮罩,支持半透明,实现地图动态上色功能,示例项目

具体文章在 http://blog.csdn.net/zhenmu/article/details/79281381 一个项目,做世界地图时,希望未开启的地块是线稿,新地块开启时,做一个上色处理。 想到的方案就是:上了色的彩图盖在线稿上,然后用mask 控制彩图的局部显隐。 然后用mask不同的颜色来区分不同的色块,控制是否需要显示。 涉及到 颜色的位操作。

2018-02-07

Python-3.4.3.tar.xz

从官网下载的 Python-3.4.3.tar.xz

2015-06-18

MTK 新 FlashTool v3.0848.00 (又叫0848或848版本?)

下载点数太少了,上传一个吧。 应该是 我找到的最新的烧录工具了, 虽然可能还有最新的。

2009-04-15

WaveOut.cs

WaveOut.cs源文件,改过很多比较乱,可以参考。 也可以看 里面最上面的 msdn的链接。

2007-10-09

空空如也

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

TA关注的人

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