自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Unity3D C# 从零自定义通讯协议

1 引言 博主大学学的电气工程,毕业后做了一年多地铁环控和低压配电自控系统的工作,经常要调试各种各样的设备,比如说电表、PLC、电机。和这些设备打交道的一个核心就是要明白设备支持的通讯协议,比如工业上常用的Modbus Rtu、Modbus Tcp。那时只简单知道这些通讯协议该怎么用,该怎么发数据...

2020-05-05 23:21:13 65 0

原创 C# 使用Task.Factory.FromAsync将IAsyncResult、awit结合

最近在做读写示波器的工作,使用同步去读写示波器的话会阻塞线程,页面假死,这不能忍。然后改为异步,使用各种BeginXX和EndXX方法。由于那项目和示波器通信是有流程的,比如说先做事1,事1做完再做事2,事2做完才能做事3,这就导致要写一长串的回调方法(如下),和低版本的js一样,代码可读性实在太...

2020-04-25 11:51:02 51 0

原创 Unity3D客户端项目优化总结之网格优化与贴图优化 Optimize Mesh

1 引言 网格优化一直是Unity开发里面一项非常重要的工作,网格优化就是在保证效果的同时保证尽量降低网格的顶点数和三角面。同时,优化了网格之后,低面数的网格就不再需要那么精细的贴图了,所以我们还要优化贴图。贴图优化会涉及到PS的一点操作,很简单,自己动手,丰衣足食。 2 Optimize Mes...

2020-04-14 22:26:23 127 0

原创 Unity3D AABB树-脑血管介入手术VR碰撞检测算法

引言 前两周有位同学看了AABB包围盒效果那篇文章,就来问了下脑血管介入手术碰撞检测算法该怎么实现。 脑血管介入手术VR仿真常用的碰撞检测算法是AABB树,看这篇论文。 AABB树又叫Octree或者BVH(Bounding Volume Hierarchy)。 大致原理就是把一个模型在最外层用一...

2020-04-12 21:33:06 143 10

原创 NLog只在Debug模式输出log

  1.首先是NLog.config配置文件中需要在rules中添加filters,如下 <target xsi:type="AsyncWrapper" name="asyncProd"> <target xsi:t...

2020-04-08 23:12:33 84 0

原创 Unity3D绘制两圆柱体相贯线

1 相贯线   项目中需要用代码去绘制两个圆柱体相贯线,花了两天时间可算整明白怎么画了。国内有关这方面的文章不多,所以花了这么多时间,我这里总结一下,希望能够帮助到需要的同学。   相贯线就是两个立方体相交表面所形成的曲线。如何求解呢?其实就是列方程求解(对应的课程是《解析几何》或者《线性代数》)...

2020-03-29 21:51:25 177 0

原创 Unity3D相机操控(完整模拟Scene视图操作)

1. 需求   一直想把Scene视图相机的操作复制到Game视图来,之前工作实现了一部分,但是不完善,前几天晚上抽空重新写了个。   在写的过程中遇到一些问题,这里记录一下。   Scene视图的操作总结如下:   1. 正交/透视视图的缓动切换    2. 滚动鼠标滚轮能够拉近、缩远   3....

2020-03-14 13:02:07 97 0

原创 Unity3D VertexHelper的使用

引言 VertexHelpr是UGUI中的代码,在自定义UI控件的时候,需要大量用到。 由于我之后的工作可能会大量用到自定义UI控件,所以今天就先了解了一下。 基本用法 VertexHelpr其实用法很简单,就几个方法而已,它主要用来帮助我们快速创建网格。 我就废话少说了,直接上码。基本的使用可以...

2020-03-01 21:18:21 207 0

原创 Unity3D AABB包围盒效果

这两天看了这两篇文章(原文链接见文末哈),很好奇他是怎么绘制包围盒出来的,看了博主的源码,发现有点问题不能用,自己做了修改,文末会给出整个项目的链接。原理其实不难,就是调用API,创建网格就是了,具体看源码就知道了,有不懂可以留言哈。 先来看看效果。 包围盒选中效果 包围盒Gizmos 包...

2020-03-01 11:45:38 308 0

原创 Unity3D客户端项目优化总结之静态批处理Static Batching

在之前的文章中,我们谈到了Stats面板中的Batching和Rendering分析器中的Batching,这个Batching可以理解为Draw Call的值。 1 什么是Draw Call 这个值越小越好。但是为什么越小越好? 我们先要理解什么是Draw Call。比如我们屏幕上要展示出一个模...

2020-02-20 23:29:30 118 0

原创 Unity3D客户端项目优化总结之Profiler分析器-Rendering

上一篇我们说了下Profiler分析器的基本情况,接下来看看具体的分析器。 Rendering分析器长这个样子,它下面的4个小分类数据我们已经在Stats统计面板介绍过了。 先来回顾一下这几个参数。 Batches 批处理次数,可以把它当作Draw Call的次数。 SetPass Calls...

2020-02-20 22:13:43 59 0

原创 Unity3D客户端项目优化总结之Profiler分析器概述

上一篇谈到了Stats统计面板中的一些参数代表的是什么,但是Stats面板只提供了一个大概的信息展示,程序运行的详细情况还得看我们今天的主角Profiler分析器,借助Profiler我们可以一帧一帧的分析程序的性能消耗。接下来我们看看,Profiler分析器该怎么使用。 1. Profiler面...

2020-02-20 21:41:50 87 0

原创 Unity3D客户端项目优化总结之Stats统计面板

1. 引言 猴哥出了新的客户端项目优化课程,一直等着,终于出来了。网上有关项目优化的知识很多,但是很零散,不系统!猴哥做了总结,真是及时雨。这里做一下学习的总结,猴哥的课程见这里。这里给自己立个flag,课程学完,总结写完。 2. Stats统计面板 Stats统计面板可以统计摄像机视野内所有元素...

2020-02-18 22:39:34 124 0

原创 C++ 输出目录、中间目录设置

输出目录建议配置为: $(SolutionDir)bin$(Platform)$(Configuration) 中间目录建议配置为: $(SolutionDir)bin\intermediate$(Platform)$(Configuration)\ 来源于cherno的c++教程,感谢大佬。 感...

2020-02-14 23:24:20 115 0

原创 unity3d发布webgl相关配置

今天对比了three.js创建的场景和unity3d发布到webgl的场景下,发现还是unity3d渲染得好一些,但是相对three.js来说帧率会降低。 发布webgl遇到的一点知识,难得以后又去到处查,这里记录一下。 1 unity3d发布webgl时去默认的unity logo和加载进度条 ...

2019-12-18 23:39:32 209 0

原创 Vue.js+Node.js+Mongodb+Express+Bootstrap搭建个人博客

1 概述 花了半年时间学习,然后开发的个人博客,目前我的博客正在使用。博客前端展示页面见这里,顺便安利一波小站,嘻嘻。 后台管理部分如图。 后台首页。 后台管理,包括博客的删除、修改和是否隐藏。 写博客。 2 技术栈 前端使用到的技术有: vue vue-router vuex boo...

2019-12-16 21:39:19 88 0

原创 web开发学习总结之常用es6特性

1 let和const关键字 1. 1 let ES5中只有var能够定义变量,作用域是在function中。 ES6中可以用let来定义变量,定义是块级作用域变量。 如果用let来引导循环,出了循环体就真的没有定义了。 for(let i = 0; i < 10 ; i++) { /...

2019-12-08 16:22:22 18 0

原创 web开发学习总结之工程师特质(邵山欢老师的分享)

快速学习的能力,快速把握一个东西到底是什么,本质是什么。 读文档的能力(包括英语文档的能力),能够快速查询知识的能力,Google“出坑”的能力。 学会对比、比较各种技术,要能提出自己独到的观点。 对代码的感觉要非常的高。 ...

2019-12-08 11:06:56 24 0

原创 web开发学习总结之固比固模型

页面上经常有这样的部分: 固定宽度 剩余部分 固定宽度 两种方法实现。 方法1:绝对定位的方法 方法2: display:box;属性

2019-12-08 10:47:43 15 0

原创 web开发学习总结之em与rem

1 em em表示父元素的字号的倍数。(特例:在text-indent属性中,表示文字宽度。) em为单位的时候,font-size属性是计算后再继承,如box1计算出来是40px。那么里面的box2、box3继承的都是40px。 em单位不仅仅可以用来设置字号,还可以设置任何盒模型的属性,比如w...

2019-12-08 10:39:36 10 0

原创 web开发学习总结之移动端浏览器视口大小

1 PPI 首先明确一点,PPI数值的大小与屏幕(电脑或手机)分辨率大小、屏幕(电脑或手机)视口大小没有任何关系。 PPI全称是Pixal Per Inch 每平方英寸像素的个数。 手机的PPI很大,所以屏幕小但是像素多,所以颗粒感小(视网膜屏),让人看不到屏幕上的像素点。 2 浏览器视口大小 2...

2019-12-08 09:59:36 38 0

原创 web开发学习总结之css3

1 CSS3概述 CSS3 是 层叠样式表(Cascading Style Sheets) 语言的最新进展,目的在于扩展 CSS2.1。 它为我们带来了许多期待已久的新特性, 例如圆角,阴影,gradients(渐变),transitions(过渡) 或 animations(动画) , 当然还有...

2019-12-07 21:52:23 28 0

原创 web开发学习总结之css私有前缀

私有前缀:浏览器厂商把一些还处于实验性质的css属性,都加上了自己的前缀。 chrome的是-webkit- 火狐是-moz- IE是-ms- 欧朋是-o-

2019-12-07 21:21:10 16 0

原创 web开发学习总结之html5

1 HTML5概述 html4.01和xhtml1.0的内容见这篇文章。如果完全不知html建议先去看看那篇文章。 我们先看看html5对比html4和xhtml1.0有哪些部分的增强。完整的文档参考MDN。增强了下面几大块。 HTML4.01、XHTML1.0中定义了很多语义的标签,div、p...

2019-12-07 20:11:20 23 0

原创 web开发学习总结之Ajax

1 Ajax是什么 Ajax全名是Asynchronous JavaScript and XML (异步JavaScript和XML)。 其实就是在用户感受不到的情况下偷偷地、悄悄地先服务器发起HTTP请求(get\post\put\delete等等),然后将请求回来的数据在页面局部刷新呈递。 p...

2019-12-07 19:29:28 14 0

原创 web开发学习总结之js中调用函数时this对象含义

我们调用函数的方式有哪些?这些调用函数的方式,里面的this是谁? 直接用()运算符来调用函数,那么函数里面的this指的是window对象 函数如果绑定给了某个HTML元素的事件上,那么函数里面的this就是这个HTML对象 用定时器调用函数,函数内部的this就是window对象 用对象打点...

2019-12-06 22:03:37 13 0

原创 web开发学习总结之js各种距离总结

1 元素的尺寸、位置 1.1 offsetLeft和offsetTop oDiv.offsetLeft() oDiv.offsetTop() 返回值都是数值。 一个元素的offsetLeft值,就是这个元素左边框外,到自己的offsetParent对象的左边框内的距离。 那么谁是自己的off...

2019-12-06 21:56:21 17 0

原创 web开发学习总结之js事件流详解

1 事件流原理 当你单击了某个元素,单击事件不仅仅发生在这个元素上,你也单击了它的父元素、父元素的父元素、……它的祖先元素,甚至单击了整个页面。 “事件流”描述的是页面上各个元素接收事件的顺序。 我们为了描述事件的传播顺序,特意人为规定了两个阶段:捕获阶段capture pahse、冒泡阶段bu...

2019-12-06 21:25:16 15 0

原创 web开发学习总结之jQuery

1 $()函数 jQuery是DOM编程领域的霸主,极大的简化了原生JavaScript的DOM编程。 其最核心的函数便是$()函数,能够根据CSS选择元素。 注意,$()函数选择出来的是jQuery对象,不是原生js的Dom对象。(jQuery对象和元素Dom对象可以互换,这里不写了) 1.1 ...

2019-12-06 21:01:19 19 0

原创 web开发学习总结之原生js零散知识点

1 IIFE IIFE就是immediately-invoked function expression,即时调用函数表达式 如果一个函数,在定义的时候,我们就想直接调用它,就是一个IIFE。 我们试图在定义函数的后面,直接写圆括号: /* 直接在后面写()会报错 */ function fu...

2019-12-05 22:17:01 11 0

原创 web开发学习总结之js中的call与apply

结论:call与apply这两个东西功能一致,就是把一个函数里面的this设置为某个对象。区别就是后面的参数的语法。 我们试图在回调函数中,用this表示oDiv对象,这样感觉爽。 animate(oDiv,{"left":600},2000,function(){ this...

2019-12-05 22:16:01 8 0

原创 web开发学习总结之css

1 css整体感知 1.1 什么是css 前端开发3层: HTML 结构层 语义、结构 CSS 样式层 样式 JS 行为层 交互、行为、动画 CSS的全称是cascading style sheet , 层叠式样式表。这里分成两块,“样式表”是给页面加上各种各样的颜色,绘制各种各样的形状。...

2019-12-03 23:06:27 24 0

原创 web开发学习总结之html

1 背景   从今年5月份开始学习web,断断续续用了差不多半年的业余时间,然后上个月开始着手从零开发自己的个人网站,截至到昨天,实现了一些基本功能,在开发的过程中,发现脑袋里面塞了好多知识点,但是很乱很杂,很多时候要去找个知识点,自己明明知道她就在脑子里,但就是想不起来细节,导致开发这个简单的博...

2019-12-02 22:57:44 32 0

原创 mongoose报错 TypeError: this.find is not a function

mongoose的model中调用静态方法的时候一直报TypeError: this.find is not a function,改成findeOne也报。 翻来覆去想了两个小时,原来是箭头函数的问题 。 articleSchema.statics.searchByAid = (aid, ...

2019-11-23 22:57:06 119 0

原创 Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解

任何一张图片导入到Unity3D中,都会有个设置面板,里面可以设置一些参数,但是具体里面的参数是什么意思、有什么作用可能不太清除。网络上关于这个面板的参数设置都是些只言片语,不系统,只知道部分参数怎么调,也不知道背后的原理。今天我就来总结一下,方便自己以后查阅。 1.贴图导入设置面板 先大概看...

2019-08-17 15:07:24 758 1

原创 C#使用Unity3D开发安卓app控制PLC,控制实验室灯光开关

第一次写博客,之所以写,是用来记录以下自己的学习过程并总结一下学到的技能和各种小知识点,以免以后忘记可以查询。 这次做的东西呢,其实就是个App,这个App用来控制电灯的开关和窗帘的升降。当然这里不仅有软件还有硬件的部分。哦哦,说明一下,我是搞自动化的,以前从来没学过C#,只学过C,所以这个A...

2019-08-17 10:52:20 421 1

原创 Unity3D渲染系列之标准着色器(Standard Shader)使用1

上一篇讲了一些常用贴图的用法,这一篇讲下如何使用标准着色器(Standard Shader)的几个渲染模式。 1.标准着色器是什么 首先它是一个着色器(Shader)(狗头,不相当于没说吗),我刚学Unity的时候觉得着色器很高端,会写着色器的人都是大佬,其实不然,弄懂之后也没啥。着色器没什么...

2019-08-11 14:19:04 90 1

原创 Unity3D渲染系列之标准着色器(Standard Shader)常用贴图

在Unity3D中,新建一个材质球,默认使用的Shader就是官方的标准着色器(Standard Shader),里面可以指定9张贴图,各个贴图的作用不一样。下面我们一起看看这些贴图的作用。(ps:本文中所用到的素材都可在文末提供的GitHub项目地址中下载,可下载下去实际感受一下,另外我使用的U...

2019-08-03 18:13:45 195 0

原创 Unity3D渲染系列之SkyBox天空盒

好几周没写博客了,这几周要不是回家要不就是有好久不见的朋友过来看自己。回家、有朋友过来看自己的确很开心,但是几周下来自己变得懒惰了,要放纵自己的确是很容易的一件事。就像布尔费墨说“旅游是件很廉价的事”一样,放纵自己也是很廉价的,只要你想,立马就能实现。永远不要放纵自己! 所以从今天开始,每周都要...

2019-07-27 15:15:36 581 0

原创 Unity3D实现指示灯亮灭效果

这周有个需求是实现控制指示灯亮灭的效果。实现起来很简单,但是找到这个方法还费了点时间。 先看效果。 原理是利用了标准着色器中的自发光属性,通过开关自发光属性来控制灯的亮灭。 具体看步骤: 1.创建一个自发光的材质球,合理设置主要颜色与自发光颜色,金属度Metallic与平滑度Smoothness...

2019-05-25 17:13:04 1116 0

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