![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码
杰-森
专注技术提升和分享!!
展开
-
unity 2019及更高版本无法播放视频 Got null handle from IDXGIResource::GetSharedHandle
新版本unity出现了很多莫名的bug 最近又发现视频播放不了 提示Got null handle from IDXGIResource::GetSharedHandle检测发现我的 视频文件是mp4 解码改为V8都没用最后多番搜索终于解决 现将解决方案献上 搜索竟然没有什么解决方案 捣鼓了好久才解决 所以必须顶上出一个解决方案来!!首先要添加unity程序到amd独显的运行程序 然后再playersetting里修改:更详细的解决方案 关注公众号获取 小森游戏制作!!..原创 2021-11-26 10:36:55 · 3468 阅读 · 0 评论 -
unity 模型展示 旋转查看
模型展示;创建个rendertextur原创 2021-06-15 17:53:07 · 901 阅读 · 2 评论 -
VRTK 三 抓取事件
官网:https://vrtoolkit.readme.io/docs/vrtk_fixedjointgrabattach原创 2021-06-08 11:36:43 · 409 阅读 · 0 评论 -
unity pc 端文件读取 streamingassets datapath io
unity steamingassets 经常用于存放配置文件 txt json等 但是再编辑器可以用file 进行加载 但是发布windows之后就不可使用了另外 有一个问题就是 如果存放的是json串txt 反json的时候是会报错的 但是使用绝对路径是正常的 显然 我们既然使用了streamingassets路径就是不想使用绝对路径 对于此 有一个方案就是将文件copy到永久路径persistentDataPath 这里还会有这样...原创 2021-04-02 16:45:41 · 1143 阅读 · 3 评论 -
自定义 DropList dropdown
一,前言 unity自带的dropdown我一直觉得用着太费劲 调整不好调整的 灵活性太低为此我自定义了个droplist 如下:二 原理讲解 折叠状态:default options隐藏 首先需要做一个折叠时候的显示 图片 文字 选中框 具体可以自行diy 我这里图片是全铺于父物体 如此我们调整droplist大小即可实现调整 折叠状态显示内容...原创 2021-03-27 17:53:10 · 428 阅读 · 0 评论 -
c# 汉字转拼音 首字母 并储存字库
一 介绍: 首先输入词条分类 接下来转换的词条会一起打包到该分类下 输入词条 可逐个输入没输入完成一个按一下空格会自动添加分割符合“*”,可以输入之前自行添加好 点击转换 在右侧预览效果 里边的符号请不要修改 在存储数据时要用来分割数据 对于转换有疑问或者需要修改的直接修改 点击存入后无法修改 预览清空 点击清空即可从头开始录入点击 储存数据 即可将所有转换的词条存入bin文件 并通过类库dll直接调用获取二 示例: FileStream...原创 2021-03-27 17:38:59 · 246 阅读 · 0 评论 -
unity 配置表工具 c# 窗体 表格读取工具
一 作用: 读取表格内容 无需对表格做单独处理 可以读取到表格的每个带数据格子 不区分数据类型 只需要在使用数据的时候当成字符串来操作 读取后转存为bin文件 可以用作配置文件的转存 流程更加简洁,更具有复用性二 流程: 点击选择文件 选择要读取的文件 点击转换数据 会读取表格数据进行存储,当点击另存 选择保存位置 即可将所有数据序列化保存到指位置 可点击读取测试进行测试数据是否有误三 数据操作实例: 将生...原创 2021-03-27 17:20:19 · 422 阅读 · 0 评论 -
给新手和小白们 的
博主已经在b,站开通录播课,讲解常用技术点,大家想学习的记得关注一下哦:并且博主也已经开通小班课,对新手和小白们进行技术辅导,帮助大家快速学会unity制作游戏有兴趣来了解一下吧!...原创 2020-12-17 15:06:14 · 83 阅读 · 1 评论 -
vuforia 接入easytouch之后,移动端黑屏
unity vuforia ar 和easytouch制作手势放大easytouch是可以很轻易的制作手势操作的,并且可以很快制作摇杆等等。但是当 接入vuforia之后,由于ar相机无法触发easytouch的事件,需要再单独创建一个camear。新建的相机层级要低于ar相机,让ar相机做主相机 并且设置模式为纯色但是在不经意间就会遇到一个很坑的问题,电脑上editor模式下正常,但是打包后手机黑屏,扫描之后可以出现,背景也是 黑色这个问题其实很好解决,但是找起来废了老劲:去看..原创 2020-12-17 15:02:49 · 442 阅读 · 0 评论 -
easytouch 之 相机操作-移动端
我们可能会经常遇到一个这样的需求, 再3d场景里实现运行时的 相机移动,旋转,缩放拉近等。game下模拟scene里的效果。对于pc端,或者是unity编辑器,我们可以手写几行代码实现 左键,右键来操作,但是对于移动端,是没有右键的概念的,就没法使用了。这时候可以使用touch类,获取出点,然后计算,触点个数,位移偏差,然后驱动相机实现效果,逻辑也不是很难,关键在于怎么区分双指的滑动,缩放等,双指的单个移动等,这些不是很好处理,当然,对于大佬还是简单的。南无除此之外还有一种方法,就是找插件。移动端.原创 2020-09-09 10:52:33 · 908 阅读 · 0 评论 -
untiy 流畅版相机选转拉近 基于目标
/************************************************************************************************************************/ [SerializeField] private Transform target; [SerializeField] private MouseButton _MouseButton = MouseButton.Right;..原创 2020-08-27 18:32:29 · 101 阅读 · 0 评论 -
unity 数据可视化 折线图 柱状图饼图等 读表自动可视化 二 绘制线设置
初始状态为折线段 拐角明显,不光滑不圆滑 所以接下来说一下绘制的线的部分调整线段 点开组件 找到series属性,点开进行配置 series 是绘制图形最关键最核心部分 你需要保证数据和这个series对应。这个属性是一个链表,你可以修改个数 默认的size为1 注意,如果你只有一条线的数据,那么运行之后也只会绘制一条线 TYPE 绘制类型 默认为line(当然,我们组件选用了linechart),你可以选用其他的 如下图,line和 bar两种...原创 2020-08-17 14:48:08 · 736 阅读 · 1 评论 -
unity 数据可视化 折线图 柱状图饼图等 读表自动可视化 一 设置坐标轴
一 绘制插件XCharts unity 绘制图形的插件挺多,自己写也能实现,但是有好插件干嘛不用呢是吧?这个是一个很完善的,功能强大而又简单的插件。这就是插件的强大之处:使用简单而功能又不简单!github上有些简单教程,而且它提供有案例可以研究。相信简单制作一个表格对于各位不在话下。现在记录讲解一下一些常用的参数,方便查找,使用 0,所有的图表都要在canvas下,你可以选择在canvas下新建panel移除image逐渐,然后添加你需要的图标组件如linechart,这...原创 2020-08-17 14:32:37 · 1228 阅读 · 0 评论 -
unity 实现模型指定方向上渐变消失呵出现
Shader "Unlit/DisappearShader"{ Properties { _MainTex("Texture", 2D) = "white" {} _DisappearOffset("Disappear Offset",Range(-0.5,0.5)) = 0.5 } SubShader { Tags { "RenderType" = "Opaque" } Pass { CGPROGRAM #pragma vertex ve...原创 2020-08-13 15:26:42 · 1158 阅读 · 0 评论 -
unity 透明外发光shader 可用作护盾等效果实现
Shader "Custom/ShaderFX" { Properties { _MainColor("MainColor", Color) = (1,1,1,1) _MainTex ("Texture", 2D) = "white" {} _Fresnel("Fresnel Intensity", Range(0,200)) = 3.0 _FresnelWidth("Fresnel Width", Range(0.原创 2020-08-13 15:22:34 · 719 阅读 · 0 评论 -
优化算法 --冒泡算法
关于排序其实有很多算法,冒泡使用是非常广泛,也很易于理解,经过研究,我发现,冒泡可以有更优化的算法首先先来看一下冒泡的流程: ...原创 2020-03-30 11:24:41 · 230 阅读 · 0 评论 -
unity 小地图
虽然小地图的教程很多,但是有很多值得注意的地方流程:unity 场景中新建相机原创 2020-03-01 11:13:02 · 2636 阅读 · 1 评论 -
使用AS接入sdk 给unity
在使用as接入安卓原生sdk时候,遇到了很多坑,这里做一下记录,希望帮到有缘人!一,配置 由于要提供给unity使用,而sdk大多是采用原生接入,所以我这里要接成类库导入给unity调用。对于unity-安卓交互不了解的去补一下再来。方式我采用arr包而不是jar包因为相对更方便,快捷,安全。1:在as中创建module,选择 android lib,并设置模块名,对应的包名也是这个...原创 2020-01-02 14:25:27 · 1272 阅读 · 1 评论 -
unity实现滚屏--小贴士系统
先说一下为什么要说是小贴士系统,因为这个东西是额外功能,虽然你可以说它附属于其他UI等模块,但是确是独立于他们的,另一方面做成一个单独系统也是为了扩展性。毕竟这个可复杂,也可简单。 我们这个表现形式为 上滚 显示一条,随机轮播,而且要保证我所有的提示都显示一遍之后再循环。 首先,实现滚动的方式是很多的,这里还是采用unity自带的系统ScrollRect ,可以百度,有很多关...原创 2019-12-24 15:24:27 · 722 阅读 · 4 评论 -
unity使用unitywebrequest 实现断点续传 热更新
网上关于断点续传的例子和教程呢共有很多,我结合了百家之长,经过大量测试,最终集成如下内容:一,原理: 当下载文件时断网了,需要将已经下载完的 存储到本地,当下次再打开下载时,从本地下载 的位置继续下载,即所谓断点续传说一下,我使用的是unity2018.3版本,所有使用的是unitywebrequest,www的没用测试估计很少有人用了吧。二,核心代码 首先存储...原创 2019-12-19 12:40:38 · 3031 阅读 · 9 评论 -
unity接入 微信登录sdk
首次吐槽一下,微信官方的文档真的是服了,各种坑,而且贼不详细,而且还只能原生接入,在做sdk给unity,对于不懂原生的小白来说简直噩梦啊!!!!为了接入恶补了一波原生 进入正题,首先还是要去注册账号,申请应用位,按照官方文档做就行了,哟啊拿到APPID,sercet,还有你打包apk的 签名,签名的获取官方也有说明不多说,直接进入接入部分首先,对于安卓和unity交互不懂的可以自...原创 2019-11-25 18:56:32 · 3472 阅读 · 0 评论 -
关于 unity 中序列化文件移动端的存储和读取
网上一搜会有很多介绍unity各个路径读取方式。不尽相同,但是很少有介绍如何加载序列化文件bin文件的。因为我这里吧配置文件读取后存储为bin文件放到streamingassets下,一块打包,在pc端直接读取即可,没什么可说的,但是到移动端,读取方式等导致无法直接读取,我采用的是copy到永久路径下,这样只需要在包体运行的时候copy一下即可。之后就可以直接读取。首先是对于移动端的copy操...原创 2019-10-31 17:17:56 · 725 阅读 · 2 评论 -
c# 序列化bin文件 和反序列化读取
c#的.net序列化有多种方式,大多使用流来创建二进制文件。这里以其中一种为例:序列化bin文件: Stream fstream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None); BinaryFormatter binFormat = new...原创 2019-10-29 17:59:52 · 1267 阅读 · 0 评论 -
unity 简单的 中介者模式架构
该模式大概是这样的 根据功能划分不同的模块,例如数据模块,音频模块,战斗模块,界面UI模块等,每个模块有自己单独的管理器,该管理器实现单例,并由中介者(消息处理器)访问,而各个模块之间的互动不在是直接调用,而是通过创建消息体,有消息处理器分发到 接收方,来实现通讯,好处是可以让多人开发时效率大大提高,也可以让代码更加稳定,健康。消息处理器 即中介者,负责处理各个模块发来的消息,并进行分发。为...原创 2019-10-22 17:06:16 · 360 阅读 · 0 评论 -
unity对象池
这套对象池原理比较简单, 由一个管理器和一个池子组成,池子里存储多个对象池,每个对象池对应一个对象的池,即该对象池内存储实例化的该对象,有管理器持有,统一管理关于原理什么的不多说,直接上代码管理器:/// <summary>/// 简易对象池/// </summary>public class ObjectPoolMgr : MgrBase{ ...原创 2019-10-22 16:50:25 · 211 阅读 · 0 评论 -
UNITY 动态导入类库
当我们unity使用外部类库时,如果类库改变后,特别是想配置表 ,类库一旦更新就得重新导入类库,生成类库-- 拖到unity ,这样下来费时间又麻烦,因为又要删掉unity原来的,所以为了偷懒就想一键导入或者绑定,让unity内的dll直接关联到外部的类库,进行更新。我在网上查找一番,想实时刷新比较费劲,也不值当这样做,这样就只能去一键导入。网上查了一番也没什么有用的信息,最后决定使用file...原创 2019-09-16 17:02:32 · 527 阅读 · 0 评论 -
Android开发 as
一,创建Activity(可以理解为一个界面) 首先要创建一个存放activity的包,包的名字可以自己制定 步骤如下根据java规范,报名采取小写,右键要保存的位置,点击new-package右键创建的包,new-Activity(file-Activity 工具栏的点击)然后选择需要的activity类型,这里选择一个empty空活动,然后设置名字,可以根据名字来设置,如创建...原创 2019-10-07 13:47:22 · 196 阅读 · 0 评论 -
百度语音识别PC端接入unity
(此处为http上传音频识别模式)一,找到百度AI平台,管理台点击SDK下载 选择c#sdk下载完以后会有对应不同.net版本的dll包,找到自己unity对应的。net版本,将文件夹拖入然后找到你的应用管理,点击管理,在这里要用到一个apikey 一个secretKey,将这两个值复制,识别会用到,至于id展示不需要使用二,实现录音-上传识别 1,录音...原创 2019-04-28 18:17:37 · 847 阅读 · 1 评论 -
unity打包win32 平台的一些问题
1,打包设置,选择x86,打包 2,64位pc可以运行32位的程序,32位着 无法运行64。unity2017以后会打包一个unityplayer dll。如果32位无法正常运行,可以替换成32位的dll。在Unity安装目录中搜索nondevelopment_mono的文件夹,选择32位的,在里边找到dll复制一份,替换使用。3,关于触控的实现,可以参考...原创 2019-01-25 10:20:56 · 5446 阅读 · 3 评论 -
unity 配置表 Excel读取
一般的,策划给到的表格即配置表unity是无法直接使用的,需要我们程序做进一步处理,并读取和序列化。做配置表大多是将表格数据读取后序列化到一个bin文件即二进制文件里,然后在unity运行时去解析,反序列化。当然,这是相对高端技术,为了方便,和小型游戏使用,个人采用另外一种方式,即将Excel表在外部读取,然后json成序列化字符串存入一个文本txt。然后unity里头在运行前进行解析,存储到a...原创 2019-07-31 19:18:40 · 2739 阅读 · 0 评论 -
unity 鼠标点击按钮更改为方向键
有些移动端不支持触点,但是可以使用方向键的,这时候有些除了要支持方向键操作外,按钮的选择等也需要进行更改,维持,经过无数实验,最终定了一个比较方便使用,尽量少的更改源代码和原本架构的基础上的控制器该控制器思路: 将挂载的界面(该界面)下的所有按钮(或者toggle)进行持有,存入二维的链表,表示按钮映射到二维坐标轴下的坐标,并允许用户指定该界面默认选择的按钮,当按下方向键时进行相应...原创 2019-07-20 14:50:06 · 1084 阅读 · 0 评论 -
lua相关知识笔记
print("Hellow world!!!")--[[--变量声明直接声明并赋值id=1age=23name="逆天大神:"sex=trueprint(age,name)print(age +id)--会打印相加后的值print("20"+"152")--对于数字类型的字符串会相加后打印 172if id==1 then print("ID为1") elseif id...原创 2019-02-16 15:18:21 · 178 阅读 · 0 评论 -
unity 车轮碰撞器 (一)
using UnityEngine;using System.Collections;using System.Collections.Generic;//教程网址 https://docs.unity3d.com/Manual/WheelColliderTutorial.html[System.Serializable]public class SimpleCarControlle...原创 2019-02-21 16:35:34 · 2043 阅读 · 0 评论 -
unity 可热更的 配置文件 简易实现
虽然配置文件是动态的,但是如果每次更改还是要重新打包给客户,或者让每个客户去自己更改配置,显然不合理。如果放到某个网址上,程序去下载就可以实现简易热更的效果,这样配置文件有改动,客户端启动时也会自动更新。一,加载TextAssets文件获取内容 此处使用的是一套热更原理,推荐第二种 var op = AssetsManager._Instance.LoadAssetAsyn...原创 2019-02-14 17:23:11 · 423 阅读 · 1 评论 -
关于PC触屏的获取使用
PC 段一般使用键鼠操作,触控操作的话没有了鼠标和键盘,有些键鼠操作的逻辑就无法正常使用了,。触控的左键基本和鼠标一致,而右键是长按,单是在unity里边使用GetMouseButton(1)会发现在触屏系统里左右有点难以区分,这里讲最近做的研究总结一下。关于触控操作,可以使用原来的方式,即鼠标点击,这时候 你需要加一些主观逻辑去判断当前是单击,还是右键或者左键长按。一般双触点可以触发右键逻辑...原创 2019-01-23 10:12:34 · 853 阅读 · 2 评论 -
对象池原理
对象池模块结构如下:对象池管理者管理各类对象池,所有池子存入字典。通过key索引获取。对于需要频繁创建的东西配置相应的对象池,。如角色,炮弹等。各类对象池内存有对应的对象,并且开放相应的获取和回收接口。由对象池管理者统一管理。对象 可以通过resources加载或者AB包方式。这里采用resource加载。对象信息报含有资源路径,资源名称,初始化的个数即池子里存放个数,对象object...原创 2019-07-19 10:47:42 · 256 阅读 · 0 评论 -
3D 中的界面(模型)始终单面渲染在相机前边
我们用2Dcanvas做的界面,即使画布改成world会发现这些ui材质是透明的,就是当你站在会不前边是正的,但是后边是反的。如果想要两边看的文字图片都是正常的整的,就需要改ui的材质,写shader等方法,费时费力。所以,为了更便捷有效的实现,决定写一个小算法来实现这一小功能。原理很简单,让画布一直计算渲染相机相对于自己的位置,是在其世界空间下的前边还是后边。如果到了后边,就旋转自身180度,实...原创 2019-01-15 15:50:00 · 538 阅读 · 0 评论 -
shader 入门 一 顶点片元shader
Shader"XiaoSen/Last" // “面板上的名字/shader名字”,第一个名字可以用于分类,如不同平台,不同效果等的区分{ //属性可以没有 Properties { //变量名 面板显示的名字 类型 默认值 //_Diffuse("DiffuseColor",Color) = (1,1,1,1) //颜色 _Color("MainColor...原创 2019-01-14 21:12:59 · 751 阅读 · 1 评论 -
quaternion 使用
public Transform target; // Use this for initialization void Start () { } // Update is called once per frame void Update () { Quaternion targetQua = Quaternion.LookRotation(targe...原创 2019-01-09 10:49:56 · 434 阅读 · 0 评论 -
shader 学习之 pass 块
subshader 中一般有多个pass块。着色器编辑一般用CG、HLSL语言编写,在unity里边是嵌入在pass通道内的CGPROGRAM 和ENDCG之间。pass块用来控制被渲染的几何体对象。格式为: pass {[Name Tags] [RenderSetup] [TextureSetup]} 一, tag和name:其中name 是对当前pass的一个称呼,名字,即对...原创 2019-01-19 20:42:45 · 3345 阅读 · 0 评论