- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 Unity解析json文件(分为json与jsonArray)
当然了,你也可以使用{“name”:[“Michael”,“Jerry”]}来简化上面一部,这是一个拥有一个name数组的对象。而[{“name”: “Michael”},{“name”: “Jerry”}]就表示包含两个对象的数组。如果是字符串,那不管是键或值最好都用双引号引起来,所以上面的代码就是{“name”:“json”}这样带有[ ] 的json文件是组的形势存在的,也就是说,相类似的数据会有若干组,//注意:定义的字符串名字要和json文件中的node名字一样。然后 定义一个用于解析的类“
2023-03-12 15:02:19 1691
原创 unity 使用ffmpeg做关于视频直播的东西
我不得不佩服老外的开源精神,看着很复杂的东西,用他们的代码就变得很简单.首先要下载ffmpeg.exe。
2023-10-31 16:38:31 475
原创 动态的改变寻路数据与动态改变光照贴图
但是我选中它的时候,却发现,下面可以将它打包成assetbundle,那么这就说明这就是一些数据而已,AI强依赖.发现它的名字叫NavMesh,然后尝试着在脚本中输入NavMesh,然后发现这个需要读取NavMeshData的数据,意外的简单,所以我将这个NavMesh的文件复制到Resources文件夹下,方便加载测试。如果你的项目里面,有两套或者两套以上的贴图,那么你就会需要用代码来切换贴图,但是,贴图和烘焙的寻路差不多,看起来像是和场景强关联的东西,但是事实上,光照贴图就是一张普通的2D贴图.
2023-04-18 13:45:14 582
原创 UNITY请求JAVA服务器接口
下载地址:https://www.getpostman.com/obj就是后台发过来的值了,并把它转换成了json格式。此时,确定接口是可以使用,然后我们就可以来调用了。调用接口肯定有返回的值,所有要接受它返回的值。那么通过这样的一个url怎么去用它的数据呢?首先推荐一个软件:POSTMAN。这是一个接口测试工具,
2023-03-22 09:38:53 937
原创 Unity扫盲:unity可以开多线程吗?
因为在unity里面,不支持在新开的线程中操作UnityEngine SDK.考虑到苹果手机的单线程系统,除此之外还有其他限制,所以为了简单的教学直接就告诉别人,unity不能开多线程-_-||.其实这个是不对的.在有一些大场景加载中.或者数据比对中,开启多线程还是很有必要的(考虑到适用的场景).在很多人的印象中,都觉得unity不支持多线程,因为里面有一个协程的概念,认为协程就是因为unity不支持多线程而用的一个功能,其实这是不对的,unity是可以开多线程的,只是一般不去开线程,为什么呢?
2023-03-14 14:50:32 2235
原创 unity中鼠标点击UI 放入格子中,(简版的背包功能)
该操作首先求出条件表达式的值(bool类型),为true时调用表达式1,为flase时调用表达式2。其逻辑为:“如果为真执行第一个,否则执行第二个。C#中有一个三元运算符“?:”,语法为:条件表达式?表达式1:表达式2;
2023-03-12 15:00:58 437
原创 c#的接口使用
可以使用new、public、protected、internal、和private等修饰符声明接口,但是接口成员必须是公共的。1.接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。声明接口时,除了interface关键字和接口名称之外,其他的都是可选项。修饰符 interface 接口名称:继承的接口列表(非一定要)继承接口时,继承的类需要实现接口里面的所有属性和方法(非所有)3.接口可以包含时间事件、索引器、方法和属性。6.接口自身可从多个接口继承。那么,接口如何实现和继承呢?
2023-03-12 14:57:56 627
原创 Jtro的技术分享:三元表达式
该操作首先求出条件表达式的值(bool类型),为true时调用表达式1,为flase时调用表达式2。其逻辑为:“如果为真执行第一个,否则执行第二个。C#中有一个三元运算符“?:”,语法为:条件表达式?表达式1:表达式2;
2023-03-12 14:57:42 280
原创 c#中的线程互斥
为了避免线程竞争,可以通过加锁的方式(Lock)来处理,当2个线程争夺一个锁的时候,只能有一个线程有资格获取,另一个挂起等待。一直等到可用为止,这种情况,保证在同一时刻只有一个线程能进入临界区。通过多线程,c#能够并行执行代码。每一个线程都有它独立的执行路径,所有的线程都能够访问共有的变量。
2023-03-12 14:56:18 546
原创 游戏服务器端防止Sql注入
执行了这样的语句之后,player表中的数据将会全部清空,后果不堪设想。如果把含有逗号、分号等特殊字符判定为不安全字符,在拼装sql语句前进行安全检测,就可以有效的防止sql注入。所谓的sql注入,就是通过输入请求,把sql命令插入到sql语句中,已达到欺骗服务器的目的。当然,在正常情况下该语句能够完成读取数据的工作,但如果一名玩家恶意注册了类似的。假设服务器端要获取玩家的数据,可能使用如下的sql语句。这样的名称,这条sql语句将会变成下面两条语句。
2023-03-12 14:55:23 279
原创 unity技术分享:对象池
在Unity游戏开发的过程中经常会创建一些新的对象,如果数量较少还可以接受,如果创建的新对象数量庞大,那么对内存而言是一个极大的隐患。例如射击游戏当中,每发射一颗子弹,都要创建一个新的子弹对象,那么子弹是数量庞大,可想而知一场游戏当中会创建多少这样的新对象,那么如果这些子弹创建之后都对游戏起着关键且持续性的作用也无可厚非,问题是子弹发射完成之后,几秒之后就不再拥有任何的意义,一般会将它自动的隐藏,也就是我们所说的SetActive(false),因此大量的非活跃对象出现在游戏场景当中。
2023-03-12 14:51:54 351
原创 UGUI的极限优化
首先第一种,当你在创建了一个UI组件的时候,UI组件会自动将“Raycast Target”打开,其实当这个UI不需要交互的时候,这个功能是可以关闭的,如果将这个关闭掉,也是一项不小的性能优化方式。第三种,就是UI的合批。关于unity中的UGUI优化,总有说不完的话题,优化方式有很多种,我今天要说的这种,算是一种简单的优化,实在开发人员觉得实在没有优化的方式采取的优化方式。虽然合批降下drallcall很少,但是在许多的页面中,以及如果你的项目在手机这样的运行平台,那么这样的极限优化是很有必要的。
2023-03-08 11:41:56 265
原创 unity中Lambda表达式
lambda运算符:所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者 “成为”。运算符将表达式分为两部分,左边指定输入参数,右边是lambda的主体。我打算用一个最简单得方法来抛砖引玉,一个unity中得点击事件:(这只是演示,与代码得优雅合理无关)然而,我们如果使用lambda表达式呢?简化了匿名委托的使用,让你让代码更加简洁,优雅。
2023-03-08 11:39:01 596
原创 unity中写FSM状态机
这是去年写的机器人的状态机,我是做VR开发的,机器人在项目中起到提示玩家的作用,提示玩家,包含,确定将消息已经完整的提示到玩家,指引玩家到规定的位置,在玩家操作的地方等待玩家一共是3个状态.这个机器人的运行模式已经被公司申请了专利,一种教学模式的指引机器人。当然状态机只是机器人的冰山一角。状态机,在游戏开发的时候,用的比较多,一般是用在开发游戏中小怪的逻辑上,最近比较忙,所以忘了简书种更新文章,第一种状态机介绍完成,记得一点,状态机是环形切换,不能跳过状态。今天我给大家介绍2种状态机的写法。
2023-03-08 11:37:54 310
原创 游戏开发中的数学问题:技能伤害的区域检测(方形,圆形,三角形,扇形)
众所周知,moba中的每个英雄都有一套自己的技能的攻击范围方式,有如廉颇一样的圆形范围,有火舞一样的直线范围,吕布的扇形方天戟范围,还有牛魔大招时的矩形范围等等一些技能是通过物理的碰撞检测来判断的,物理检测的诟病就在于开销过大,一般的,不会在游戏中使用物理碰撞来实现范围伤害.那么用什么呢?大多数是通过范围来检测的。所以在能考虑不用物理来检测的情况下,开发者更倾向来自己通过算法模拟实现.此篇和各位一起研究一下几种范围伤害的判断.
2023-03-07 15:27:02 1473
原创 Unity中使用Sql数据库实现用户登录与注册
用户登录功能使用十分普遍,现在要做的就是让用户输入用户名和密码,连接数据库,然后实现登录,这个版本只是一个使用本地数据库,现在我也只能做到登录的功能。同样,分享一个建立数据库的软件:http://pan.baidu.com/s/1mhAtsTU。Plugins文件夹里面导入Mono.Data.Sqlite文件,sqlite3文件,如果你的unity版本是5.5.0+的版本,还需要添加System.Data文件。好了,直接上工程吧,首先新建工程,名字什么的无所谓了。保存你建立的数据库,回到unity中。
2023-03-06 09:33:29 708 2
原创 MVC框架
MVC框架历史悠久了,具体多久我也不知道,但是在游戏开发中的UI 使用太普遍了,最近我的一个徒弟跟我抱怨说网上的mvc框架晦涩难懂,看了一下午看不出所以然来,我比较难过,一方面是现在的年轻人都比较懒了,区区一下午看不懂框架就抱怨了,一方面是堂堂Unity帝国的大牛们写不出一个简单易懂的框架?已经是最简单的模式了。然后点击Controller,将View和Controller脚本挂载在上面。OK,做完以上的步骤,运行一下,点击按钮text中的数就会+5.好了,先来看看什么是mvc框架,代码之间是如何通讯的。
2023-03-05 22:51:24 547
原创 Unity中读取PC的硬件信息
这个功能似乎没有什么用,但是我在《c#入门到精通》这本书中看到这样的功能,在非unity开发的项目中,假如说你是一个纯c#软件开发者,这个你可以用来保护你的软件,不被肆意传播,起到了很好的著作权保护作用,但是在unity中引用似乎很少,但是,存在即合理。希望能帮到有需要的人。然后新建一个脚本,命名为GetCpuNum,挂载在摄像机上。首先,新建空工程,然后再新建一个Text文本文件,扩大到画布的大小。注:由于硬件的不同读取的信息也不一样。// 作者:张曙光。//此脚本挂载在: 上。
2023-03-04 17:06:42 793 2
原创 Unity中的文件读写TXT 与XML
下面是xml的使用方法,一样的,新建工程,新建cube,新建一个脚本:XmlData,不继承MonoBehavior。在游戏开发中,有的单机游戏会用到保存数据到本地,或者根据本地的数据来进行下次的设置。这里,鄙人介绍TXT与xml 的读写。新建一个unity工程,创建一个cube,新建一个脚本:CreatTxt挂载到cube上。这里的不能改节点名称,不知为何。等我找到原因再修改。然后可以用下面的方法读取了。的注释删除掉,也就是让这部分代码起作用。OK,TXT的先介绍到这。
2023-03-04 17:01:11 1478 1
原创 unity中使用事件与委托加单例
单例:单例就是单个的意思,保证在游戏运行的时候不会有第二个自己存在,一般的解释就是:保证一个类只有一个实例,并提供访问它的全局访问点。一般的,在游戏中UI 用到的最多,当然,小怪也用的比较多。这样的逻辑是没有任何问题的,但是需求是:车上的人下车地点都不一样,上面的代码就会无限制的扩充。严重破坏代码的封装性。请看下面的场景:一辆公交车上,乘客A要在第二站下车,乘客B要在第三站下车,乘客到哪下车,公交车不关心。真确的方法应该是:公交车不管有多少人,只发出到站的信息,乘客到了站台,自己下车就好了。
2023-03-04 16:54:31 279
原创 关于Htc_vive中手柄拿起物体不使用后再自动归位
然后通过各种修改源码,最后的效果仍是不是乐观。后来求助一位做了许久的VR 的朋友,给了我一个脚本。然后通过拖拽方法的方法,解决了问题。这个问题是挺常见的,我当时开发产品被测试的时候。场景中的某个物体由于种种原因拿起之后会掉下来,接着又有地面不对齐等一系列问题,所以我就想着把这个问题解决了。
2023-03-04 09:58:29 207
原创 角色动画的APPLY ROOT MOTION和BAKE INTO POSE问题(关于模型中的动画的位移变换问题
1.勾选上Apply Root Motion,模型的实际位置会随动画中模型的位移而发生变化;不勾选就不发生变换。2.勾选上Bake into Pose,播放有位移的动画时,模型实际位置不会改变,直到动画结束,其位置才改变;不勾选,模型随动画中位移而位移。注:部分资料参考网上,然后个人在Unity工程中进行实验过,总结而成。
2023-03-03 15:48:47 764 1
原创 UNITY中ASSET BUNDLE的打包和加载
Asset Bundle是Unity引擎提供的一种用于存储资源的文件格式,开发者可以通过Asset Bundle将游戏中所需要的各类资源打包压缩并上传到网络服务器上,另外,在运行时游戏可以从服务器上下载改资源,从而实现资源的动态加载。1、在场景中新建一个Cube,将其做成一个预设体,再创建一个材质,命名为red,分别将预设体cube和材质red的Asset Bundle名称命名为cube,red,在Unity中Asset Bundle的名称默认为小写。
2023-03-03 15:48:09 1015
原创 读取JSON文件 如何在Unity中读取Json文件中的数据
在Unity中创建一个空物体,在其上挂载一个脚本,命名为JsonScript.cs,写个方法来在Unity中生成一个Json文件,然后再写个方法来读取这个Json文件。前提要导入System.Json.dll和LitJson.dll两个库文件到Unity中。Josn是一种轻量级的数据交换格式,JSON能够描述四种简单的类型(字符串、数字、布尔值及null)和两种结构化类型(对象及数组),在Unity里经常用Json来处理大量的字符串,容易解析,效率非常快。System.Json(生成Json文件)
2023-03-03 15:48:07 1632
原创 unity2020版 using Unity.Mathematics 错误
unity2020版 using Unity.Mathematics 错误首先,这是由于你的工程中没有这个包,那么包要从哪里下载呢?当然是从package manager中下载,但是打开之后却发现并没有,那是怎么回事呢?Unity在2020.1中修改了package manager的一些策略,处于早期开发阶段和开发不活跃的包无法直接搜索到(即使打开show preview package也搜不到,列表里也没有)所以想要下载 com.unity.mathematics首先,打开package man
2022-01-07 16:36:32 4034
Unity 串口插件 Serial Port Utility Pro v2.91
2024-08-30
unity 的 状态机插件
2023-11-21
Chat GPT For Games - AI Integration
2023-11-21
Asset Inventory
2023-11-21
Post Processing Profiles unity 预制的镜头特效
2023-11-21
unity中判断面片插入到模型中的具体位置
2022-05-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人