自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沈夕林的博客

好好吃饭,好好睡觉,好好运动。

  • 博客(78)
  • 资源 (15)
  • 问答 (5)
  • 收藏
  • 关注

原创 Linux+Docker+Gitlab+Jenkins+虚拟内存

最近想研究一下怎么自动化发布项目,于是找到了gitlab+jenkins这个组合,正好借机也研究一下最近很火的docker技术。本篇共分为五部分,分别为安装要求,内存虚拟化,安装docker,安装gitlab,安装jenkins。

2023-07-09 11:58:50 1096 1

原创 unity 控制视角移动

最近又重构了一遍视角移动的功能,之前一直是在移动摄像机,本次重构改成了移动模型,就是限制模型不移动出屏幕的功能有点困难,实验了网上的检测模型边界、使用OnBecameVisible等方法,但是都不理想,最后还是使用了笨方法手动限定的,很麻烦,但是最终效果还是不错的。2.控制视角移动的类。

2023-06-14 16:23:40 333

原创 地图数据各种格式总结

KMZ文件是压缩过的KML文件。在实际的生产应用中,倾斜摄影(或者别的格式的大批量模型)的格式并不是b3dm 格式的,绝大多数的倾斜摄影模型格式是 osgb,还有一部分是 obj,所以我们需要把它转化成 b3dm 格式的数据,才能进行进一步的操作。每一个模型的属性,例如ID能够将模型分离成单个的个体,同样也能对这些模型做更新,颜色变化,是否展示等这样的操作,模型的属性也会有所使用,举个例子来说,通过网络服务去访问元数据,通过建筑的id去访问它的地址,或者动态的属性决定模型外观,根据属性值来改变颜色高度。

2023-04-18 15:30:51 2295 1

原创 Unity在线展厅——加载AB包

【代码】Unity在线展厅——加载AB包。

2023-02-16 17:38:56 181

原创 Unity在线展厅——打包AB包

"Assets/自定义命令/生成AssetBundlesWindows64""Assets/自定义命令/生成AssetBundlesWebGL""Assets/自定义命令/清除AssetBundleName"

2023-02-16 17:37:58 154

原创 Unity在线展厅——动态加载贴图

1.创建一个模型根目录,然后把模型放到跟目录下,创建一个加载贴图的脚本链接到根目录上。3.把贴图名称设置成和模型名称一致,并且全局唯一,这样避免贴图加载出错。2.在每个需要动态加载贴图的模型上加载一个脚本。4.编写加载贴图代码。

2023-02-14 10:33:23 907

原创 移位运算符

也百度了许久,还是一知半解,不知道移位运算符有什么作用,在什么时候用。但是也有了一点发现,特此记录一下。因为移位运算符是在二进制中进行的,在二进制中逢二进一,每向左移动一位,则相当于乘以一个2,比如3

2022-08-19 14:16:26 188

原创 二进制、八进制、十进制、十六进制之间的转换

位权是一个数学名词。对于多位数,处在某一位上的“1”所表示的数值的大小,称为该位的位权。例如十进制第2位的位权为10,第3位的位权为100;而二进制第2位的位权为2,第3位的位权为4,对于 N进制数,整数部分第 i位的位权为N-j。数码所表示的数值等于该数码本身乘以一个与它所在数位有关的常数,这个常数称为“位权”,简称“权”。...

2022-08-19 09:24:21 4996

原创 unity摄像机控制脚本

一、摄像机结构二、安卓端没有验证,不知道是否可用(完整包下载链接)三、代码using DG.Tweening;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;/// <summary>/// 控制摄像机旋转移动/// </summary>public class CameraControl_Mo

2022-05-18 16:43:15 827

原创 unity 实现app内更新

本方法适合小包,会直接下载apk,然后覆盖安装,如果想系统的实现app热更新,还请使用目前流行的Lua等方法。一、Unity部分代码1.检测服务器是否有新版本IEnumerator IEDetectVersion() { localVersion = PlayerPrefs.GetFloat("appVersion", 0);//获取本地缓存的app版本 var vversionurl = "http://59.111.105.78:82/";

2022-05-07 16:03:01 872

原创 unity导入bim模型

最近在研究怎么导入bim模型,开始的时候真是一头雾水,毫无头绪,但是功夫不负有心人,终于找到了解决办法,总共找到了三种插件,其中两种是unity出品的,说明这个方向还是很有市场的,下面我就对这三种插件进行一下对比说明:名称Unity ReflectPixyzTridify导入方式用插件从Revit导出,在Unity中用Revit插件导入在Unity中直接用插件导入把模型上传到Tridify官网后,在Unity中用插件导入模型格式IFCIFCIFC官网htt

2022-03-16 11:30:03 7014 1

原创 Unity接口的使用

一直感觉接口是一个很高深的东西,所以对它一直不理解,但是又觉得它很好用,比如IPointerEnterHandler这些接口,只要在类中实现它,就能监听到信息。所以今天研究一下它。查看了C#的API,它的接口是创建接口,在类中继承,然后实例化类,调用接口,但是不是我想要的那种效果,具体实例如下:interface ISampleInterface{ void SampleMethod();}class ImplementationClass : ISampleInterface{

2022-03-16 10:22:22 6887

原创 使用Threejs加载模型1

最近有时间又研究了一下Threejs,之前研究过,但之后就不用了,现在就忘完了,所以这次记录一下,尤其是0到1的过程,因为网上有很多1到2的过程,但是在不了解Threejs的情况下,创建一个工程都很困难,当然现在Threejs官网做的教程也越来越详细了,打开速度也越来越友好,可以已Threejs官网为起点,进行扩展学习。这篇文章我主要记录怎么创建一个Threejs工程,并显示模型。在开始之前有一些知识点我先列出来。一、知识点1)官网推荐使用Visual Studio Code2)vscode安装es

2022-03-10 10:45:13 3132

原创 C#中各个关键字大小写的区别

一、event和Event名称eventEvent区别c#中的关键字unity的一个类描述event 关键字用于声明发布服务器类中的事件。UnityGUI 事件。链接c#文档unity文档二、string和String名称stringString区别c#中的关键字c#中的类型描述string 是 System.String 在 .NET 中的别名。–链接c#文档–三、byte和Byte名称

2022-03-09 10:43:55 3560

原创 unity创建与解析json

今天翻看了一下之前的博客,发现写了好几篇关于加载json的文章,今天正好有时间就把之前的几篇文章的内容总结一下,然后在添加一些新内容。在unity里边可以用的加载json的插件有:JsonUtility(unity自带)、LitJson、Newtonsoft等。插件各有优势,我就不一一列举了,我习惯使用unity自带的json插件,目前足够使用。在创建json文件的时候有两种方法,第一种是手写,第二种是代码生成。不推荐第一种方法,但是万一用到了一定要注意不要用windows自带的笔记本打开json文件

2022-03-08 16:13:14 3448

原创 unity使用websocket接受服务器数据推送

最近考虑到项目中如果监听一个设备信息的话,需要持续的监听,如果用unity一直请求的话会很消耗性能,所以在网上搜了一下,发现这种需求叫推送服务,在网上找到好多说用插件的,但是我不想用插件,然后找到了一段代码,直接使用c#自带的websocket,因为没有测试环境,所以没有测试,记录下来以供后续使用。代码如下:using System;using System.Collections;using System.Collections.Generic;using System.Net.WebSocke

2022-02-17 14:52:27 4056

原创 Unity打包AssetBundle并加密

一直想研究打包assetbundle,但是一直没机会用,在网上看到的零零碎碎的片段也看不懂,今天终于抽空实验成功了,但是现在虽然成功打包并解析出了单个模型,但是我现在还是不明白怎么去用。在打包过程中,还有两部分不慎明白,一就是打包出来的文件,有很多不知道都是干啥用的;二就是Aes加密还不太懂。先把目前的研究成果记录一下,总共分为三个脚本,打包,加密,解析。下边是三个脚本的具体代码。打包:using System.Collections;using System.Collections.Generi

2022-02-16 14:58:45 1609

原创 Unity 程序化网格几何体之矩形三

相对于上一版,增加了如下功能:1.增加按下shift键划直线2.墙体形成闭环后,接口出无缝连接3.增加生成地面功能(待优化)实现效果如下:具体代码如下:using System.Collections.Generic;using UnityEngine;public class CreateStrechMesh3 : MonoBehaviour{ [SerializeField] private Material wallMat = null; //墙体材质 [

2021-12-24 17:48:58 1877

原创 Unity 门窗吸附功能

门窗吸附功能,是一个没有难度的小功能,但是如果想要实现的话,在脑子里猛一下却想不起来怎么实现,今天正好实现这个功能,所以记录一下。分为两个脚本,分别为控制门移动的脚本,墙检测的脚本。具体功能如下:using System.Collections;using System.Collections.Generic;using UnityEngine;public class DoorAtt : MonoBehaviour{ public static bool isMoveModelX

2021-12-23 17:43:27 1925

原创 Unity 程序化网格几何体之矩形二

上一篇是初次接触程序化网格,所以很多原理不懂,出现的许多问题也是自己不熟悉导致,现在研究了一段时间,之前很多问题已经不存在了,今天把完整的优化后的创建任意长度的矩形的功能记录一下。实现的功能:1.连续创建任意长度矩形2.接缝处可以无缝衔接实现效果:实现代码:using UnityEngine;public class CreateStrechMesh3 : MonoBehaviour{ private void Update() { CreateCu

2021-12-23 09:59:53 2454

原创 Unity 程序化网格几何体之矩形一

最近在做编辑器的功能,碰到一个需求是创建任意长度的墙体。思路是点击鼠标,然后拖动鼠标,墙体长度随着鼠标的拖动而增加。通过实现此功能,感觉其中有几个关键点:1.绘制矩形顶点2.绘制矩形三角面3.绘制矩形纹理4.绘制矩形法线5.矩形始终指向鼠标位置6.在结束绘制矩形时,调用Mesh.Clear(),然后重新给矩形顶点赋值,否则会出现拉近视角,模型消失的情况目前发现的问题:在绘制斜着的矩形时,发现贴图会有重影。实现代码如下:using System.Collections;using Sy

2021-11-29 17:54:09 2410

原创 Unity问题记录

今天打开CSDN显示我码龄四年,我数了数不对呀,我应该是六年了啊,也许它的计算应该是根据注册时间吧。突然,意识到,已经六年了啊,时间真的过的好快。还记得我在工作的第二年去面试一个公司,面试我的技术经理说,干了十年的C#,当时感觉,十年好厉害啊,可是今天,这个月我都干了六年了,感觉这六年我技术一直没有前进,感觉还是一个小菜鸟。痛定思痛,感觉这么多年没有进步的原因有三点。1.编码过程中不思考;2.遇到的知识点不积累;3.不学习新技术。所以决定写一篇博客来记录unity中遇到的问题,其中有解决方法的我会写上,没

2021-09-01 09:18:36 216

原创 unity 通过Tab键切换选中组件

  今天又重新写了一下通过Tab键切换选中组件的功能,本来是一个很常用的功能,但是在unity里边却要自己去写。我总结了两种情况,一种是全局切换,就是这个页面上所有可以交互的组件都可以切换。第二种是局部切换,比如某一个节点下的所有可交互的组件切换。  参考了一些网上的教程,最后决定使用获取Selectable的方式来实现。因为Button,InputField,Toggle,Slider这些可交互的UI元素都是继承的Selectable类,而Text,Image等不可交互的UI元素都是继承的Maskabl

2021-04-06 17:16:06 685 3

原创 创建.Net Core Web API并连接SQLite数据库

  越发的觉得现在学一门技术太难。因为现在开发的项目普遍要求要可以联网,所以最近研究了一下后台,之前研究过.Net Web API,但是现在逐渐的过时了,被.Net Core所代替。后台主要的功能是保存数据,权衡利弊后准备使用SQLite来保存数据,于是就在互联网的海洋中去寻找关于此类的内容,找是找到了,但是都很分散,而且各路博主都是八仙过海,各显神通,使用的方法都不尽相同。终于跌跌撞撞中调试通了一版,虽然里边好多原理我还不太清楚,只是照猫画虎般的写了出来,但是功能可以保证是能使用的。  本教程主要分为五

2021-03-25 17:40:45 1257

原创 unity制作映射小地图

  刚开始敲代码就在制作小地图,现在还在制作小地图,不过区别在于以前看不懂,现在能看懂了。不说了,说多了都是泪。今天就记录一下制作小地图的过程。 一、场景位置  根据我的理解,场景要放在坐标系的区域内,不要放在坐标轴上,否则计算会很容易把自己搞蒙。 二、放置参照物  就如我们一中那张图,我们把模型放在左上角的区域,本来我们应该用模型的地面的坐标来计算,但是因为有时候建模的不规范,地面的坐标中心不一定是规规矩矩的,所以一劳永逸,我们就放置一个参照物。上图中的小圆圈就是我们的参照物。而玩家是在方框内移

2020-10-14 17:36:42 1123

原创 在云服务器上(Windows)手动搭建FTP站点

  这段时间申请了一个服务器,Linux的操作还不会,就先从简单的windows上开始操作,服务器配置好之后,就需要经常往服务器上传东西,但是用windows自带的连接方式连接,发现时间长了之后就会自己断开,导致上传到一半的东西还得重新上传,后来使用映射的方法把自己的磁盘映射到服务器上,但是发现还是基于windows自带的连接,windows的连接一断,传输也会中断。最后决定用ftp传输试一下,搭建成功后,还没有尝试过,等尝试之后再发表意见。  搭建FTP站点总共分为六步。分别为添加IIS,创建FTP用户

2020-10-14 10:20:39 1002

原创 Unity 加载场景(读取Description属性)

这几天要写一个加载场景的静态类,开始是写一个枚举供外部调用,在写一个string数组来一一对应,使用的时候在用switch来case获取场景的名字,使用起来很麻烦,后来发现了一个属性Description,可以用来注释枚举属性,但是这时候需要我们自定义一个函数来读取这个属性,下边我就一一来搭建一下这个加载场景的静态类。1.首先申请一个枚举,在枚举属性上写上Description属性,然后提示需要引用命名空间:using System.ComponentModel public enum SceneNam

2020-09-22 12:02:36 932 2

原创 unity 使用Tab切换控件

想实现一个输入界面很常用的功能,就是使用tab键切换控件,但是在unity里边操作UI实在难用,在网上找了半天,都是一些比较复杂的方法,心里觉得不应该那么难,终于找到了一种比较简单的方法,修改之后感觉用着不错,所以贴出来供大佬们享用。1.首先申请一个数组用来盛放需要响应的组件 /// <summary> /// 响应tab键的控件 /// </summary> /// <typeparam name="GameObject"></typ

2020-09-11 14:00:23 1263

原创 c# 递归算法获取数组里边所有组合

private int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }; private int num = 11; private int[] result = null; private int index = 0; // Start is called before the first frame update void Start..

2020-08-28 11:01:20 1638

原创 unity实现透视相机与正交相机的平滑切换

using System.Collections;using System.Collections.Generic;using UnityEngine;public class viewchange : MonoBehaviour { public static viewchange Instance=null; /// <summary> /// 相机透视改变是否触发(调用只需把此值改为true) /// </summary> public bool Chan

2020-08-20 17:15:23 1290

转载 unity 模型颜色渐变shader

Shader "Law/Car" { Properties{ _MainColor("MainColor",color) = (1,1,1,1) _Color("Color",color) = (1,1,1,1) _Center("Center",range(-4.1,2.1)) = 0 _R("R",range(0,1)) = 0.2 _Glossiness("Smoothness", Range(0,1)) = 0.

2020-08-12 17:59:39 2629

原创 网页管理器

这是一个c#编写的winform程序,一个网页管理器。using InputManager;using Microsoft.Win32;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using Syste...

2020-08-12 17:59:19 114

原创 使用kinect实现换衣功能

首先去官网下载kinect的sdk安装上,然后去unity商店去下载demo包,然后连接上kinect,一般会连接正常,网上的例子很多,在此不做过多描述。本片文章是根据实际的完整项目来编写的,所以我就按着我的项目顺序来撰写了。一、用kinect获取手的坐标并让UI跟着手移动这一步我们直接使用它写好的类就行,类的名字是InteractionManager,在Hierarchy面板上新建一个空节...

2020-08-12 17:59:04 827

原创 c# Socket异步连接服务器端

一、初始化socket并开启监听 /// &lt;summary&gt; /// 开启服务器端 /// &lt;/summary&gt; /// &lt;param name="_port"&gt;&lt;/param&gt; public void MStartServerMode(int _port = 6000...

2020-08-12 17:58:44 243 1

原创 unity动态设置shader的属性(逐渐完善)

感觉今天又有点东西需要记录了,打算这篇文章也是长期更新的文章,设置属性这些东西以前也用过,网上也有很多,但是今天用发现还是不会,以前只有印象,用的时候还得百度,模棱两可的,所以准备记录下来,增强下记忆和供查询。更新时间2020.08.06改变光滑度 (Smoothness)materia.SetFloat ("_Glossiness", 0.5f)改变渲染模式(Rendering Mode)materia.SetFloat ("_Mode", 3)改变贴图重叠次数(Ti

2020-08-06 16:55:05 1853

原创 unity打包WebGL问题记录(逐渐完善)

这两天在打包webgl,正好趁着这个机会记录一下遇到的问题,我现在用的unity版本是2018.02.17,开发工具用的vscode。一、PlayerSettings设置中把Strip Engine Code选项去掉,如果你感觉对代码感觉非常精准的话,可以勾选上,否则会出现很多莫名其妙的问题二、File.Exists (path)不能用打包了一天的webgl测试出这段代码不能用,查了一下百度,有大神是这样说的:“win10系统。查看接口说明才知道,如果你不是按管理员方式启动VS,而此文件需要管理员权

2020-08-05 18:31:54 2018 2

原创 unity 打包安卓UI自适应

前言一直以来在我感觉UI自适应就是一个老大难的问题,从入这行的时候老师给我们讲UI自适应就觉得懵懵懂懂,也许是潜意识在作祟,一直感觉UI自适应挺难的,工作之后打包apk的时候也找过UI自适应的方法,感觉靠谱的方法就是根据不同的手机比例制作不错比例的UI,但是一般公司没人去整这个。还有就是度娘上边零零总总的文章,都是在说设置锚点和中心点,之前我也用这种方法,在手机屏幕比例和设计时候的UI比例相近的时候没什么问题,但是如果手机屏幕的比例和设计时候的比例相差比较大的时候,就会出现问题了,首当其冲的就是UI拉

2020-07-15 15:52:41 1994

原创 一篇有图有真相的文章

一、前言最近这段时间越来越体会到整理的重要性,以前找到一个好的网站或者一个好的技术之后都是看一看,然后收藏到收藏夹后就不去看了,感觉没有什么收获,很乱。而且想去找的时候每次都要把收藏夹翻一遍,也不一定能找到。所以最近强迫自己去把看到的觉得好的网站的链接去整理整理,让自己去养成整理的习惯,也方便以后找的时候容易去找到。...

2020-03-16 22:40:47 196

原创 对话功能实现

之前一直在听别人说面向对象,自己也一直在说对象,其实在心里对面向对象并没有什么感觉,知道今天在写一个人物对话的功能,突然就明白了对象的意思,就像突然顿悟了一样,对象就是每一个类只管它自己的事情,不要和别的功能重叠,不要和别的功能重叠,不要和别的功能重叠。以下是详细代码:using System.Collections;using System.Collections.Generic;usi...

2020-02-22 17:12:12 401

原创 设备拆分功能实现

最近做项目需要把一个设备进行拆分,写了一个拆分功能,感觉实现的效果不过,特此贴出来和大家分享。功能大体的思路是以设备中心为原点,原点左边的零件向左移动,原点右边的零件向右移动,原点上边的零件向上移动,原点下边的零件向下移动。具体实现方法:using System.Collections;using System.Collections.Generic;using UnityEngine;...

2020-02-22 16:49:43 744 4

unity摄像机控制脚本

1.资源包是使用unity2021.3.1打包的 2.调整旋转速度和阻尼的时候需谨慎,否则会出现反转现象

2022-05-18

IFC工厂模型,可用于测试导入IFC后,获取BIM基础数据使用。

IFC工厂模型,可用于测试导入IFC后,获取BIM基础数据使用。

2022-03-16

Stretchable.shader

贴图可以根据模型长度不同自行平铺贴图

2021-11-29

DB Browser for SQLite.zip

SQLite的查看工具

2021-03-25

精美白天天空盒十个第五部分

精美白天天空盒十个,unity资源包,直接导入unity即可使用,有天地相接的白云天空盒,有豆花云的天空盒,有乌云遮日的天空盒,有妖气冲天的天空盒,详情可以下载天空盒自行查看包中所带的图片。

2020-11-05

精美白天天空盒十个第四部分

精美白天天空盒十个,unity资源包,直接导入unity即可使用,有天地相接的白云天空盒,有豆花云的天空盒,有乌云遮日的天空盒,有妖气冲天的天空盒,详情可以下载天空盒自行查看包中所带的图片。

2020-11-05

精美白天天空盒十个第三部分

精美白天天空盒十个,unity资源包,直接导入unity即可使用,有天地相接的白云天空盒,有豆花云的天空盒,有乌云遮日的天空盒,有妖气冲天的天空盒,详情可以下载天空盒自行查看包中所带的图片。

2020-11-05

精美白天天空盒十个2

精美白天天空盒十个,unity资源包,直接导入unity即可使用,有天地相接的白云天空盒,有豆花云的天空盒,有乌云遮日的天空盒,有妖气冲天的天空盒,详情可以下载天空盒自行查看包中所带的图片。

2020-11-05

精美白天有云无云天空盒十个

精美白天天空盒十个,unity资源包,直接导入unity即可使用,有天地相接的白云天空盒,有豆花云的天空盒,有乌云遮日的天空盒,有妖气冲天的天空盒,详情可以下载天空盒自行查看包中所带的图片。

2020-11-05

精美卡通喷墨天空盒7个

七个精美的卡通天空盒,有多云的,无云的,乌云的,乌云遮日的等等等等。包内有截图,可以详细查看。请下载查看,请下载查看,请下载查看,请下载查看。

2020-11-04

Vive-Teleporter-master.zip

steamvr瞬移插件,如果觉得从github上下载慢的话,可以下载这个。下载这个后直接导入unity使用,但是不要导入unity商店里的steamvr插件,否则会报错。

2020-05-24

jdk配置文档

jdk配置详细步骤

2017-06-30

全景球模型

用于做全景图片的球

2017-06-29

小炮塔模型

多种炮塔

2017-06-29

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

TA关注的人

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