- 博客(54)
- 资源 (8)
- 问答 (2)
- 收藏
- 关注
原创 A*StarPathfinding的更新地图
3、SaveToFile / LoadFromFile:加载已经保存的资源,此方法最快,但需要将变化的物体设置到对应的位置上。1、Scan:直接更新整个场景的地图,地图复杂动画,时间会比较长,场景会卡至烘焙完成。2、UpdateGraphs:异步刷新指定Bounds的。
2024-06-11 18:33:59
198
原创 AssetBundle卸载出错
调用该方法处:一个小窗口Camera+RawImage+RenderTexture,都打包了,调用卸载的时候报错,出错内容修改方法:动态添加RenderTexture到Cam和RawImage中,即可:加载对象:销毁对象:...
2022-01-27 17:03:42
373
1
原创 【无标题】Unity打包事全屏和分辨率设置
Unity打包事全屏和分辨率设置如果想通过代码去控制窗口大小,无边框和窗口位置请参考这个链接:Unity设置发布程序运行时候位置,无边框以及窗体大小,窗口置顶__Afra 的博客-CSDN博客_unity设置窗口大小手动设置:Edit ->Project Settings->Player打开发布设置窗口下面有个Resolution模块,在新版的Unity中,设置FullScreen Mode下拉菜单,可以旋转打包后是否使用分辨率还是全屏,如果是早期版本Unit...
2021-12-15 10:38:20
9249
原创 委托 事件 协变 逆变
一个匿名函数:传入一个数据,调用这个函数时可以通过再传入一个数据实现两个数据的交互 System.Action<int> DoPlus(int a) { return delegate (int b) { print(a + b); }; } System.Func<int, int> DoPlus2(int a) { return delegate (int b) {...
2021-01-25 18:13:04
215
原创 UGUI上的放RenderTexture
按照常规方法,在UGUI上放创建的一个RT,建一个Camera,把它的target texture和UGUI的rawimage的texture替换成上面创建的RT,这样我遇到一个问题,如果是静态的物体,那么UGUI上可能会出现异常,如草的绿色没有刷上去。一个方法:创建一个Material,把它添加到Image组件,然后把RT添加到这个Material的texture(我用系统自带的unit...
2019-11-13 14:10:15
675
原创 UnityWebRequest Post和Get数据的封装
public class WebRequest : MonoBehaviour{ private void Start() { string url = "http://192.169.19.239:8081/Sim"; Dictionary<string, object> keyValues = new Dictionary...
2019-09-06 11:09:23
5858
原创 class转Json不成功
参照链接:https://blog.csdn.net/yy763496668/article/details/77875195我的数据如下:{ "Know": [ "A", "1" , "" , ], "Projects": [ { "ProjectName": "1", ...
2019-09-04 20:12:30
394
原创 UGUI DropDown下拉列表中滚动缓慢时,怎么快一些
调整Template总Scroll Rect组件下的Scroll Sensitivity(即灵敏度)调整数值大一些,如果根据我的数据个数,用50,就好了
2019-08-26 18:26:47
1160
原创 C#获取一个数组的类型
假如我有一个Vector3类型的数组:Vector3 [] array;在获取数组的子数组的时候,用多种方式:用Linq的Skip方法,但是才Unity仿真中,如果大量使用linq语句,有可能造成性能上的损耗用Array.Copy方法,它有多种重载的方法,我使用其中一种[ReliabilityContract(Consistency.MayCorruptInstance, Cer...
2019-07-16 12:22:49
2942
1
转载 Unity2017 Lighting窗口
本文关于窗口中各个属性描述来源于:https://www.jianshu.com/p/435e1dab629b作者:xiaoxingyunLighting设置窗口(Window->Lighting->Settings)是主要控制unity全局光照(GlobalIllumination GI)的地方。尽管GI的默认设置已经有了很好的效果,lighting设置面板的一些属性可以调节G...
2019-05-19 17:48:37
5353
原创 Unity屏幕上任意一点,映射到场景中位置,生成一个模型
本篇只是为了记录我的一个程序,不是教程,不做检测,只是实现我的一个功能。Unity的屏幕坐标和世界坐标。如果有碰撞的话,可以用RayCast来检测 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 100...
2018-07-23 15:33:38
3201
原创 Unity中引用带点的dll(如:using Aspose.Words)出现的错误。
Unity中引用带点的dll(如:using Aspose.Words)出现错误:无法找到aspose的命名空间,是否缺少应用。处理办法:经Player Setting中Api Compatibility Level修改一下,为.Net 2.0。...
2018-03-16 09:27:08
937
原创 Unity GUI.skin设置GUI的外表样式
在动态生成类似桌面上右键点击事件时,用OnGUI动态生成一些UI元素(这里演示用Button),默认的皮肤很不好看,所以需要通过GUISkin来设置一下。如下图所示,通过Assets创建一个GUISkin,这样,就可以可视化的修改所有的GUISkin,使用时只需要调用它就行了。GUISkin的具体细节当然如果只需要修改其中某一项,不用大动干戈时,只需要程序修改一小项(如下面8个...
2018-01-09 11:11:54
8349
原创 关于Unity用streamWriter写入gb2312格式的文件出现文件中断
开发中用GB2312字符编码(CP936)(C# Encoding.GetEncoding 编码列表)将一些信息写入文件中,在C#代码中使用如下代码: string filePath = Application.dataPath + "/StreamingAssets/" + fileName + ".html"; StreamWriter sw = new System.IO.Str
2017-12-28 09:42:50
1141
1
原创 尝试写入读取一堆有序的数据到二进制文件
测试用Dictionary类型文件,同样用一个结构体的类型的数据结构也可以,只要文件中数据是有序的,则可以循环读写文件。可读写的类型和方法 public virtual void Close(); public virtual void Flush(); public virtual long Seek(int offset, Seek
2017-12-14 09:23:07
323
原创 关于C#字符串按照小括号拆分报错问题
字符串按字符拆分直接用string.Split('str')即可。但是按照小括号拆分时,报解析错。解决方法如下:(这个案例可按照字符串拆分)string str = "(dasdfaowe],{}(fhweo],fdf";string[] sA = System.Text.RegularExpressions.Regex.Split(str, "\\(", System.Text.
2017-11-24 17:41:14
1126
转载 Unity中使用Loom工具,Unity多线程学习
Unity的多线程中,不能再子线程中调用Unity的对象如GameObject,可以使用值类型的变量如Vector、Float等。Loom继承自MonoBehaviour,使用委托事件的方式,Unity的主线程执行Update方法,来加锁回调actions。我们只需要在我们想要的线程中调用RunAsync添加一个事件,就好了,Loom会在Update中去运行QueueOnMainThrea
2017-09-25 11:15:00
4859
原创 C#动态确定数组个数,以及IList无法创建抽象类或接口错误
数组(int[],string[]等)在声明时就要确定一个长度,如果我们想动态修改这个长度,是不可以的,所以可以这样操作:定义个动态数组ArrayList,在这里面添加内容ArrayList list = new ArrayList();...//这里添加元素到数组中object[] ObjArray = (object[])list.ToArray(typeof(object))
2017-06-21 10:51:43
1177
原创 模型加载时出现带透明纹理的模型会透过不透明模型问题
一般引擎会处理好这一类问题,带透明贴图的模型和非透明的模型加载顺序是:先加载非透明的再加载透明的,这样就不会出现问题,但是如果人为改变加载顺序的话,如手动批量加载时,先加载了透明的,那么就会出现这种情况。如下图这种情况:另说明:最好确保非透明模型已将加载到场景之中后再开始加载透明模型。
2017-03-31 09:35:49
1114
原创 Unity手动添加材质和着色器
//为某个特定对象添加着色器和贴图(贴图文件或贴图文件夹放在Resources路径下) //使用前,需要确定Shader是否存在,如果不存在的话,需要手动创建Shader public Material SetMaterial(GameObject go, string shadernmae, string texname) { Material m
2016-12-29 11:16:51
3442
原创 Unity在运行时,将Texture2D转换成Sprite格式
由于Image和Button的图片要求是Sprite类型的,当有大量图片时,一个一个的操作不方便,所以考虑动态的将jpg或png图片进行转换格式。运行时,将Texture2D转换成Sprite格式核心方式:WWW.LoadImageIntoTexture 加载图像到纹理这里我用一个按钮来操作:IEnumerator Load(string path) { ...
2016-12-23 17:34:23
33102
4
原创 Unity在Dictionary中删除修改元素时出现InvalidOperationException: out of sync
用foreach来处理字典时出现这种错误,经调试,错误出现在我迭代时就用Remove删除这个元素,它和List一样,不能用foreach来删除元素,所以我们需要另想办法来删除,解决办法:定义一个数组或列表记录要删除的元素的key,然后在这个foreach之后通过遍历数组列表中的元素来删除Dictionary中的对应元素
2016-12-19 10:19:10
4201
原创 Unity为Image组件动态添加sprite
Image组件的Source Image属性是Sprite类型的,然而图片的type设置为Sprite之后,它包含两个部分(如图):以1001为例,其第一部分类型为Texture2D,第二部分为Sprite的。一种动态获取方式(Resources.Load):Sprite sprite = new Sprite;sprite = (Resources.Load("S
2016-11-24 17:10:22
21322
1
原创 Unity中,用Delegate的一个问题
今天遇到一个问题:foreach(var items in List){ btn.onClick.AddListener(delegate() { this.OnBtnClick(items); });}这个问题,所有的按钮最后都是添加的是最后一个列表元素。原因可能是,每次都修改了items的值,如果重新定义一个变量赋值items,这种问题就消失了。不知道是不
2016-11-21 11:50:29
1369
1
原创 UGUI滚动列表
UGUI滚动列表1、新建一个空对象,命名Items;2、为Items添加组件:Scroll Rect、Mask两个组件3、为Items添加一个子对象命名为List4、为Items的Scroll Rect组件的Content属性添加指定对象5、为List添加组件:Grid Layout Group、Content Size Filtte
2016-11-17 12:27:05
3051
原创 unity中用vs或mono编译器编写的脚本在unity中不能被更新
今天出现一个问题:unity中用vs或mono编译器编写的脚本在unity中不能被更新原因:需要重启unity或者手动Ctrl+R可以更新的话, 就是因为在 Edit=>Preferences=>General=>AutoRefresh没有勾选,需要勾选这个才能自动刷新
2016-10-22 16:37:12
1865
3
原创 Unity中碰撞时触发事件
如果要触发碰撞事件,必须具备如下条件:碰撞双方都要有碰撞,至少有一个有刚体组件,双方Collider至少有一个开启Is Trigger。Is Trigger指示,碰撞器是否是一个触发器,这样发生碰撞时才能触发事件。Messages 消息(摘自Unity圣典)OnCollisionEnterOnCollisionEnter2D当当前
2016-09-20 11:58:43
23728
原创 Unity在移动设备上发热严重问题
(在运行时,Unity产生的计算量非常大,造成移动设备发热严重。)(根据简单温度测试,我的测试手机10min,温度上升20℃。)解决办法:修改帧速率:先修改限制刷新速率如图:设置为Don`t Sync之后,就是设置帧速率了:程序控制Applicatin.targetFrameRate为想要的值,我设置为30后,测试20min温度上升十几度。
2016-08-28 20:07:15
17772
4
原创 关于Unity中模型带(动画的)看上去变形的问题
在maya中,看到没有什么问题,但是用unity导出到设备中,贴图就会变形,主要是躯体与肢体位置(或其他可能位置)。这是因为权重没有刷好,比如动物躯体与肢体位置骨骼有多个,而Unity中默认的可能会是1个、2个或4个不同的权重。于是,有的模型看上去很好,有的就会有偏差;甚至在同一个模型上有的部位没有差错,但那是躯体与肢体位置可能就出现问题。解决方案:选择Editor-->P
2016-08-28 20:01:16
7490
原创 用Unity时,C#中List删除元素时出错
用Unity时,遍历添加到链中的AudioSource组件对象,如果播放停止,就删除它。(为对象添加这个组件时就记录下组件信息,保存在链表中)。练习C#中链表,foreach 遍历链表,操作出现这个错误:InvalidOperationException: Collection was modified; enumeration operation may not execute.for...
2016-08-04 16:15:34
6784
1
原创 unity获取摄像头
测试一下摄像头功能:WebCamTexturedeviceNameSet this to specify the name of the device to use.didUpdateThisFrameDid the video buffer update this frame?isPlayingReturns if the camera i
2016-06-17 16:46:13
5795
原创 Win32程序CreateWindow错误
如果用DWORD err = GetLastError();测试程序CreateWindow错误err=1407,可能是WNDCLASS的lpszClassName和创建的窗口CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,nWidth, nHeight, hWndParent, hMenu, hInstance, lp
2016-06-03 16:05:23
1254
转载 unity中声音的优化问题
本文来自微信公众平台:Unity墙外的世界--关于声音这里简单描述一下其中高内容,以供以后使用。音频加载卡顿现象的解决方案
2016-05-23 10:43:58
7601
原创 c#删除字符串中指定字符
string str= System.Text.RegularExpressions.Regex.Replace(字符串, "[指定的字符]", "");如删除一个字符串text中所有的\t\r\n:string result = System.Text.RegularExpressions.Regex.Replace(text, "[\r\n\t]", "");
2016-04-22 17:04:53
35928
转载 C#中对应C++ STL
转自:http://blog.csdn.net/niewq/article/details/5374161DotNet下的泛型容器类封装在System.Collections.Generic,使用的十分广泛。C++则靠STL实现了泛型容器与算法。下面对二者做一个对比,只谈用法,不深究原理。对比的内容有数组、链表和字典三种结构。一、数组C#使用List,C++用的是std::ve
2016-04-22 17:00:44
5377
转载 osg的几个矩阵
#include #include #include #include #include #include using namespace std;class Follow :public osgGA::CameraManipulator {public: Follow(){ _position=osg::Vec3(0,0,3); _r
2015-04-28 16:48:46
3371
转载 如何在编译器(vs2008)里设置调用别人写好的lib和dll
步骤:1.Tools->options->projects and solutions->VC++ directories分别在包含文件,库文件填加了路径 (这些路径只告诉编译器怎么找文件,没有说把那里面的文件加入工程.) (若不设置,编译报错:无法打开***文件) 2.Project->properties->c/
2015-04-24 13:49:36
526
转载 不允许 dllimport 静态数据成员
当要使用一个类的时候必须要有其定义,有2种方式: 1、引用其头文件,即#include "xxx.h"。这是传统的方式。 2、使用导出类。 什么是‘导出类’,很简单,使用__declspec(dllimport)定义的类即为导出类。例如: class __declspec(dllimport) CTest {
2015-04-24 13:48:32
2329
转载 Vega prime的path tool的应用小例
Step1打开LynXPrime单击 tools> path tools,打开path tools工具。Step2 新建路径点设置文件点击Way Points面板下的加号按钮新建一个新的路径点设置文件,设置好文件名和保存路径。Step3 添加并设置路径点首先,为了便于设置路径点,点击放大按钮,将地形放大显示(注:通过工具面板右下角的四个按钮可以灵活地将地形图
2015-04-13 17:08:58
1223
2
UGUILineDrawer.cs
2020-12-09
这是几个共享内存的案例
2018-04-19
Aspose.Words.dll
2018-03-19
Expression: ("this->_Has_container()",0)错误
2016-01-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人