- 博客(57)
- 资源 (35)
- 收藏
- 关注
原创 excel 函数技巧
判断E2单元格中文本处于A$2:A$8单元格中的位置,如果存在则返回大于0的数值,否则返回错误值;最后LOOKUP函数出手,在数组中找到最大的不大于1的值,0,并根据0所在位置,返回对应的B$2:B$8中的值。函数含义:寻找F列1062行和sheet1中的C2行到C9135行进行模糊查询,返回该行对应的B2行到B9135行的结果。如果我要截取/后面的字符串,思路可以是先获取当前/的下标,在获取整个字符串的长度,在使用right函数截取。函数含义:寻找E行1062行寻找字符为/的,截取之前的字符串。
2023-12-27 11:36:11 788
转载 Tomcat下载安装配置
一、下载tomcat下载链接:Apache Tomcat® - Welcome!1、进入tomcat官网后,选择需要下载的版本。我使用的是tomcat9,所以在这我选择tomcat92、选择zip(pgp,sha2,sha512)进行下载,下载zip的好处就是不用安装 ,直接下载解压就可以使用了。3、下载完成。二、安装解压与环境变量配置1、直接对压缩包进行解压。2、选择“此电脑”,单击右键,选择“属性”,如下图所示3、选择打开属性后,选择单击弹...
2022-01-06 15:32:28 237
原创 git cherry-pick 使用
1、使用方法及其作用 git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作(操作的对象是commit)。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了。 就是对已经存在的commit 进行再次提交;使用方法如下:git cherry-pick <commit id>.
2021-08-11 16:27:47 671
原创 CameraPath插件使用
一:简单介绍把要移动的对象放在此处1 设置很多的路径点,每次经过的X点都可以获取到,看打印面板的显示2调整路径的弯曲程度,如拉平或者更弯曲3此路径点处target=camera为相机的FOV视角大小4此路径点到下一路径点处的运动速度5此路径点延迟N秒后运动6整条路径的运动曲径,如正弦、线性等7事件调度8在该路径点的旋转角度,可调节,也可以LookAt某个对象9全局设置10整条路径的曲线类型,Bezier曲线还是很好用的,取各点的切线值二:事件调度.
2021-06-01 20:29:04 1056
原创 Unity3D中特性的使用
1:序列化 什么是序列化: 序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。 简单理解: Unity编辑器也一样,public 公共属性的值 显示在属性面板中,我们可以任意修改数值(脚本中对应的数值是没有变的),关闭Unity编辑器再次打开的时候,属性的值是我们修改过的值,而不是脚本里赋的初值...
2021-05-10 10:43:51 287
原创 Unity 屏幕坐标转UI坐标
1:屏幕坐标转UI坐标首先我们来明确下三个坐标概念:世界坐标:指的是Transform组件的position字段UI坐标:指的是RectTransform组件的anchoredPosition字段屏幕坐标:指的是屏幕空间的坐标 (也可以说是相机空间的坐标)。反正关于屏幕坐标,大家只要知道以下2点即可我们在Unity中获取的鼠标的坐标,就是屏幕坐标! 屏幕坐标和世界坐标不是一个东西,屏幕坐标和UI坐标不是一个东西!Unity官方提供了一个方法,让我们可以很简单的把屏幕坐标 转.
2020-12-25 10:51:18 7360 9
原创 三维性能优化总结篇 06 之变电站制作场景及标准
工作内容 模型处理主要是模型的低模替换,由于需要在网页上浏览模型,所以尽可能的复用模型以减少最终模型体积。 贴图主要集中在建筑外观、设备和标牌上。文件部分 文件格式 一般贴图:使用.jpg格式,贴图尺寸为2的n次方,单张贴图尺寸不超过2048。 透明贴图:使用.png格式,贴图尺寸为2的n次方,单张贴图尺寸不超过2048。 命名规则 一般来说是名字都由前缀、名称本体、后缀构成。前缀一般是变电站名称的全拼,名称是模型、贴图、图层的用途,后缀是当前文件的类型。需要保证模型文件名称、贴图名称
2020-12-24 09:37:39 243
原创 三维性能优化总结篇 05 之传统建模与机关点云建模技术点对比
三维模型:1:采用激光点云技术建模2:常用的三维建模软件有3Dmax、cad、草图大师、revit3:3dMax进行对模型分块,部件合并,利用最少的面达到最好的显示效果4:使用3dMax建模软件导出Fbx文件3DMAX:传统的手工建模,建成的模型按照需求可以做的非常精细,如主变的内部部件,建筑物的屋檐,窗户等都可以非常精细的制作出来,但是精细模型制作周期长人工成本高,对于新建改建的建筑不能及时更新,需要额外花费人力去手工建模激光点云技术建模:近年来发展较快的一项新技术,是..
2020-12-24 09:34:23 1123 2
原创 三维性能优化总结篇 04 之大场景优化
首先介绍下draw call(这个东西越少你的游戏跑的越快): 在游戏中每一个被展示的独立的部分都被放在了一个特别的包中,我们称之为“描绘指令”(draw call),然后这个包传递到3D部分在屏幕上呈现出来。这就和你希望你的亲友收到准备好的圣诞礼物需要包装好然后穿过城市准时放在他应该出现的地方一样没什么不同。你的CPU来完成包装和传递他们的活,同时会消耗很多的带宽,所以最终分配好这些关键性资源很重要。目前,真正可怕的事情是从描绘指令消耗远景开始,每一个独立的飞溅到地板上的血迹和一个角色或者一具死尸消耗的字
2020-12-24 09:32:54 491
原创 三维性能优化总结篇 03 之DrawCall的优化
点、面过多----> 点、面过多,GPU 根据不同面的效果展开计算,并且CPU计算的数据也多,所以效果出来了,由于Saved by batching和Drawcal值过大所引起的卡的问题优化方式有:1.对于模型 :Mesh 合并,有个不错的插件(DrawCallMinimizer--->直接上AssetStore 下载即可,免费的,而且有文档,很容易上手)2.对于UI:尽量避免使用Unity3D自带的 GUI 换用 NGU...
2020-12-24 09:29:16 981
原创 三维性能优化总结篇 02 之3D模型制作流程
一:单位,比例统一 在建模型前先设置好单位(厘米),在同一个场景中使用的模型单位必须一致。二:模型规范 1.所有道具模型摆放为3d软件中心点,在没有特定要求下,必须以物体对象中心为轴心 2.面数的控制,每个独立的家具控制在5000以下,视模型难度决定,核心概念是尽量精简模型的面数,以贴图形式体现细节。 三:材质贴图规范 1.我们目前使用的unity3d 软件制作开发平台,该软件目前只支持Bitmap贴图类型,目前常用的贴图类型为 Albedo(漫反射),...
2020-12-24 09:26:28 880
原创 三维性能优化总结篇 01
三维性能优化1:模型优化1:模型减面对场景模型减面优化是最常见的优化操作。主要是去掉对模型造型没有影响的面,用尽可能少的面数表达清楚模型的结构和造型。比如:物件非关 节点及物件背面、内部不会看见的面删掉2:合并模型合并同一小范围内的非交互类的静态小物件,同时合并小物件的贴图。这样可以减少DRAW CALL的数量。一组大小形状不同的石头,如果同一个物 体,然后距离很远,然后合并就没什么意义,可能负优化3:模型重复利用相同的多个物件在unity内复制使用,复制的多个物体在引擎计算上算
2020-12-24 09:21:55 1490
原创 Unity WebSocket认识
1:WebSocket是什么:WebSocket协议是为了实现网络客户端和服务器端全双工通信而引入的一种基于消息帧和TCP的通信机制,这个协议本身的目标是为了在http服务器上引入双向通信的机制,从而克服http单向通信的缺陷(http设计的初衷就不是为了双向通信),其可以在复用http的端口,支持http的代理,认证等,虽然如此,websocket可以独立于http存在2:WebSocket与Socket,HTTP之间的区别:WebSocket和http 其实从历史上来讲,websocke.
2020-12-11 16:55:00 381
原创 Unity- 资源加载性能分析
1:1个Gameobject挂载1W的mono对象static void MultData_OneObjectMoreMono() { GameObject go = new GameObject("MultData_OneObjectMoreMono"); GameObject childGo = new GameObject("ChildGo")...
2020-04-08 18:17:43 436
原创 Unity -shader详解
1 ShaderLab属性类型和Cg变量类型的匹配关系Color、Vector:float4,half4,fixed4Range、Float:float, half, fixed2D:sampler2D3D:sampler3DCube:samplerCubeInt:int(32位整型数据)[code]csharpcode:Shader "Unlit/Test Sh...
2020-03-23 23:15:09 473
原创 Unity Shader(五) Tags
SubShader TagsSubShader中的Tags必须放置于SubShader中的Tags内,具体参数有以下这些: Queue 渲染队列,指定对象什么时候渲染,每个队列其实都是利用一个整数进行索引的。有以下取值: Background 值为1000,此队列的对象最先进行渲染。 Geometry Queue的默认值,值为2000,通常用于不透明对象,比如...
2020-03-23 23:09:57 299
原创 Unity Shader(四) 数据类型
Cg/HLSL中的数据类型几种常见的数据类型:1:float、half、fixed(三个都是浮点型 只是精度不一样)2:integer(整型)3:sampler2D(2D纹理)4:samplerCUBE(3D纹理) float 高精度类型,32位,通常用于世界坐标下的位置,纹理UV,或涉及复杂函数的标量计算,如三角函数、幂运算等。 half 中精度类型,1...
2020-03-22 21:40:21 5574
原创 Unity -Shader(三) 对shader的运用
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unlit/MyFirstShader"{ Properties { _Color("COLOR",COLOR) = (1,1,1,1) } SubShader { Pass { CG...
2020-03-22 20:54:12 184
原创 Unity Shader(二)
细说一下Porperties属性部分。Properties可以理解为是材质与Shader的连接通道,我们在材质面板上需要设置的内容都必须通过Properties来实现并暴露。语法格式属性的写法有个通用的格式:[Attribute]_Name ("Display Name",Type) = Default Value Attribute 属性标记,说白了就是Unity内置的...
2020-03-20 17:48:05 447
原创 Unity Shader(一)
什么是ShaderShader其实就是专门用来渲染图形的一种技术,通过shader,我们可以自定义显卡渲染画面的算法,使画面达到我们想要的效果。小到每一个像素点,大到整个屏幕Shader分为两类 : 顶点Shader(3D图形都是由一个个三角面片组成的,顶点Shader就是计算每个三角面片上的顶点,并为最终像素渲染做准备)。 像素Shader,顾名思义,就是以像素为单位,计...
2020-03-20 17:33:44 348
原创 A*算法的原理
摘自:https://blog.csdn.net/weixin_44489823/article/details/893825021:之前没有真正的理解A*算法的原理,于是就找各种博客对A*算法进行原理上的理解,毕竟理解了对以后做寻路啊等会有很大帮助,为了以后忘记了还可以重新温习一遍;2:绿色的块块代表起始点,红色的快快代表是终点,蓝色的快快代表墙3:如果我们需要寻路,我们当然是...
2020-03-18 16:43:34 303
原创 PureMVC框架的理解及运用
引用:https://gameinstitute.qq.com/community/detail/1274681:理解什么事MVC:Model:数据 View:视图Control:控制将数据,视图,和逻辑控制分隔开,让程序便于修改,更具有灵活性,扩展性,高内聚,低耦合2:PureMVC使用到的设计模式:代理模式,中介者模式,外观设计模式,观察者设计模式,命令设计模式,单列模式...
2020-03-13 15:41:38 300
原创 C#-快速排序算法
1:快速排序的思想:通过一趟排序对整个元素进行分割,左边的元素都比基数要小,右边的元素都比基数要大,在对左边的元素进行递归,在对右边的元素进行递归,以此使整个元素集变成有序的状态2:原理图:3:话不多说,代码奉上:using System.Collections;using System.Collections.Generic;using UnityEngine;public...
2020-03-03 13:33:29 175
原创 Unity - 图集的理解及优化(UGUI、NGUI)
合并图集的好处:1:减少DrawCall:多张图片需要多次DrawCall,合并成一张大图只需要调用一次DrawCall2:减少对内存的占用:OpenGL每张贴图都需要设置为2的N次方才能使用,比如你有一张宽高为100*100和一张10*10的图片,如过不合成大贴图,那么就需要使用128*128的和16*16的图片,如果是使用一张大图的话,就可以将100*100和10*10的图片放在128...
2020-03-01 15:01:22 5349 5
原创 Unity - 关于对图集DrawCall的分析及优化
现在的游戏跑起来会有接近130-170个左右的DrawCall,游戏运行起来明显感觉到卡,而经过一天的优化,DrawCall成功缩减到30-70个,这个效果是非常显著的,并且这个优化并没有通过将现有的资源打包图集来实现,图集都是原有的图集,如果从全局的角度对图集再进行一次优化,那么DrawCall还可以再减少十几个本次优化的重点包括:层级关系和特效对于U3D,我是一个菜鸟,对于U3D的一些...
2020-03-01 14:34:37 937
转载 Unity - 遮挡剔除(Occlusion Culling)优化
遮挡剔除对概念 很多童鞋的Unity作品完成后,发现场景卡的要死,尽管在模型阶段采用了很多优化建模方法,但还是卡顿。电脑端都这么卡,发布到移动端就更不用说了。遇到这种情况,很多童鞋急得团团转,不知如何是好。此时,就必须对场景进行深度优化,当然了,Unity深度优化的方法很多,本文小姐姐将和大家一起探讨Unity3d最重要也是最有效的场景优化方法-遮挡剔除(Occlusion culling)...
2020-02-28 15:59:18 3418 2
原创 C#常用的设计模式
1:简单工厂模式:考虑用独单的类来创建实列的过程,这就是工厂2:Facade(外观模式):为子系统中的一组接口提供一个一致的界面,简单的来说由一个类给他的子系统提供一组接口,比如股票与基金,买了基金相当于股票都买了,也就是说我只需要提供一个买基金的类就可以了3:Observer(观察者模式): 让多个观察者对象同时监听一个主题对象,这个主题对象发生状态变化时,通知所有观察者对象,使他们自动...
2020-02-24 21:36:12 969
原创 Unity - 安卓APK程序自更新
1:通过Unity出安卓程序包,有时又这样的需求,需要对整个程序包进行一个更新;这个时候,有两种解决方案:1:跳转对应的下载商店进行程序的下载及安装2:在本APP中实现APK的下载及安装2:这里我们主要针对第二种情况进行考虑及开发...
2020-02-20 17:28:09 1020
原创 Unity-如何隐藏App入口,然后通过其他App打开
如何将统一打包出来的APK隐藏,然后通过其他APK打开它。隐藏APK图标,即APK入口,这里需要重新配置Androidmanifests文件,在这个文件里将活动标签里的内容改成下面的代码:<activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="...
2020-02-19 10:56:40 847
原创 Unity调用安卓方法启动打开第三方APk程序
1:Android部分:1:首先还是需要将Unity的Class.jar包加入至android工程中2:新建modlue3:将Jar包映射至Modlue中4:编写代码文件,通过Unity来调用该方法启动其他APK程序 //Unity调用Android方法启动其他Apk public void OpenAndroidApk(String apkName) ...
2020-02-14 15:36:05 1542
原创 Unity与安卓之间的相互通信的简单实现
1:开发的准备工作;Unity5.6.6AndroidStudio3.5.3:关于android安装收藏了两篇博文JDK安卓SDK2:要实现的功能:要在unity项目中进行安卓功能扩展,有两种方式:1、Unity项目导出为Android工程,然后在Android Studio(以后简称为AS)中进行二次开发,添加扩展功能。这样的方式开发起来很灵活,改动起来也很方便,但是...
2020-02-13 17:43:35 1001
原创 Lua 元表及元方法
1: Lua 提供了元表(Metatable),允许我们改变table的行为,每个行为关联了对应的元方法。例如,使用元表我们可以定义Lua如何计算两个table的相加操作a+b。当Lua试图对两个表进行相加时,先检查两者之一是否有元表,之后检查是否有一个叫"__add"的字段,若找到,则调用对应的值。"__add"等即时字段,其对应的值(往往是一个函数或是table)就是"元方法"。...
2020-01-15 18:15:31 271
原创 Lua 模块与包
1: 模块:类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。比如定义一个模块,Lua 的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建一个 table,---文件名为module.lua---定义一个名为module...
2020-01-15 15:07:11 133
原创 3DVersion解决思路及分析
针对3DVersion插件调研解决方法:1:首先拿到3Dversion插件时,对其中的API进行了研究2:对其针对性出包测试3:发现并未形成3D效果4:通过反复检查及搜索相关资料需要将出包设置修改为以下形式5:通过UI对其3D投影控制这里也遇到了一些坑点:(可能被其API给欺骗了)刚开始对其SteroCam脚本中的StereoMode进行控制,其中这是枚举类型的...
2020-01-15 09:46:19 211
原创 数据结构 栈
1:栈和队列是操作受限的线性表2:栈是先进后出,表尾称为栈顶,空表称为空栈,栈的意思也就是把某一个东西往里面压入至底部,所以先出的则是最后进的。BCL中的栈的主要方法:Push 入栈POP 出栈PEEK 取得栈顶的数据Clear 清空所有的数据Count 取得栈上的个数使用BCL中的Stack<T>用法:using System;using ...
2020-01-15 09:45:02 118
原创 数据结构的分类
数据结构通常有4种基本的数据结构:1:集合。独立个体2:线性结构。一对一3:树形结构。 一对多4:图状结构。 多对多算法的评价标准:运行时间占用空间有时需要牺牲空间来换取时间,有时需要牺牲时间来换取空间 ...
2020-01-15 09:44:52 133
原创 Lua 基础知识学习
1:Print方法; 输出日志等基础信息2:注释; 1:单行注释 使用符号-- 2:多行注释 使用符号--[[ ]]3:lua中数据结构有8种: nil,number,string,function,boolean,table,thread,userdata;4:lua变量: ...
2020-01-15 09:44:33 141
原创 数据结构顺序表和单链表优缺点
1:顺序表的优缺点:List优点:顺序表示用地址连续的存储单元顺序存储线性表中的各个元素,逻辑上相领的数据元素在物理位置上也相领,因此,在顺序表中查找任何一个位置上的数据元素非常方便;缺点:在顺序表中插入及删除时需要通过移动数据元素来实现,影响了运行的效率;2:线性表的另外一种存储结构---链式存储LinkList优点:对链表进行插入和删除时不需要去移动数据元素,效率比较高...
2019-12-31 17:39:36 1990 1
原创 Unity 模拟键盘按键
1:本人是在使用HTCVive时,使用了InputField组件,发现不知道如何模拟键盘中使用回车键就直接就代表输入完成,回调输入完成事件。于是找了各种InputFieldAPI,发现底层没有对输入完成的代码进行封装,为了这么一个小功能对底层输入组件进行重写有点累赘于是就想到了模拟键盘控制就行。使用user32.dll即可。2:废话不多说,看如何使用:using UnityEngine;...
2019-11-26 17:36:24 2630 1
原创 Unity 点乘及叉乘的几何意义及运用
1:点乘:定义:a·b=|a|·|b|cos<a,b>【注:粗体小写字母表示向量,<a,b>表示向量a,b的夹角,取值范围为[0,180]】注:看到公式,我们即可知道点乘过后得到的是一个标量,而不是一个向量。 而且可以通过这个去计算两个点之间的夹角及方向;Unity项目中的应用 1:通过点乘,我们可以计算出两个点之前的前后所属位置,当a·b&...
2019-11-20 18:22:01 3048 2
pygame-1.9.3-cp37-cp37m-win_amd64.whl 32位及64位适合最新的python3.7
2019-05-30
Unity WebGL中文输入插件 支持输入法跟随
2020-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人