Unity3D
文章平均质量分 63
游戏开发引擎 Unity3D
AI高工
程序员,AI工程师,分享人工智能、机器学习、大模型、软件工程、游戏开发、网络、云计算
展开
-
Unity 知识点小结
第一部分:1、C#有几种数据类型?答:C#通常分为三种数据类型:值类型(ValueType)、引用类型(Reference types)和指针类型(Pointer types)。值类型可以直接分配给一个值。它们是从类System.ValueType中派生的。值类型直接包含数据。比如int、char、float,它们分别存储数字、字符、浮点数。当您声明一个int类型时,系统分配内存来存储值。引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。换句话说,它们指的是一个内存位置...原创 2020-07-31 12:03:13 · 3503 阅读 · 2 评论 -
Unity3D知识体系
Unity3D知识树原创 2020-04-11 19:01:43 · 1265 阅读 · 1 评论 -
Unity 打包前,通过代码对 AndroidManifest 增删改查
需要在Unity打包前,通过代码自动修改 AndroidManifest.xml 文件的内容,实现自动化一键生成,减少了生成 android studio 工程后再修改的麻烦。为了实现不同Android渠道,采用不同的 AndroidManifest 配置。首先,Unity 提供了打包前和打包后调用的接口(interface)其次,C# 提供了修改 XML 文件的库 System.Xml。最后,为了实现灵活配置,采用了 Json 文件作为配置文件。独立的 Json 文件便于管理,保存在工程特定目录。原创 2024-01-03 16:08:05 · 778 阅读 · 0 评论 -
Unity Sentis首份教程来啦,利用AI模型创建先进功能
通过应用这个模型,用户可以在较小的项目中实现光线追踪功能,如光的折射和焦散区域光,这个方法并不会影响设备的性能。通过使用 TensorFlow 提供的 Super Resolution 分辨率增强(upscaling)模型,用户可以将游戏中的低分辨率图像、纹理增强为符合生产质量的图像、纹理,或者仅在需要时,辅助优化不同设备上的资产。例如,用户可以在 VR 项目中使用 Ultralytics 的 YOLO 模型,在游戏场景中检测物体,或者在 AR 项目里从设备摄像头中检测现实世界的物体。原创 2023-12-14 23:05:34 · 775 阅读 · 0 评论 -
Unity机器学习 ML-Agents第一个例子
上一节我们安装了机器学习mlagents的开发环境,本节我们创建第一个例子,了解什么是机器学习。我们的例子很简单,就是让机器人自主移动到目标位置,不能移动到地板范围外。首先我们来简单的了解以下机器学习的过程。机器学习的过程MLAgents机器强化学习的过程(reinforcement learning)observation - 监视,观察decision - 决策action - 行动reward - 奖罚。原创 2023-11-23 18:30:21 · 1042 阅读 · 0 评论 -
游戏开发团队配置与协作流程
游戏开发技术图谱 - 知乎游戏制作的流程是什么啊? - 知乎系统策划:一张图梳理游戏系统的生产流程 - 知乎原创 2023-11-22 14:31:19 · 301 阅读 · 0 评论 -
贝塞尔曲线
贝塞尔曲线于 1962 年,由法国工程师皮埃尔·贝济埃(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计,贝塞尔曲线最初由。贝塞尔曲线有着很多特殊的性质, 在图形设计和路径规划中应用都非常广泛, 我就是想在。其中的每个新点都是从前面的几个点形成的,直到形成贝塞尔曲线,递归到最后一个点(称为。还可以将点移动到任意位置(贝塞尔曲线便跟着发生改变了)的方法求出贝塞尔曲线.原创 2023-08-02 18:40:34 · 784 阅读 · 0 评论 -
Unity 画线OnPopulateMesh函数VertexHelper
底层使用UGUI中的重写了OnPopulateMesh这个方法, 用来实现鼠标画线的功能。一个画图表(折线图,树状图,饼状图,雷达图)的插件。原创 2023-08-02 15:58:04 · 993 阅读 · 0 评论 -
Unity中UGUI的 OnPopulateMesh函数与VertexHelper类
然后用AddTriangle添加了两个三角形,其中vh.AddTriangle(0, 1, 2)表示用顶点0,1,2来绘制一个三角形,vh.AddTriangle(2, 3, 0)表示用顶点2,3,0来绘制一个三角形。即三角形(0,1,2)和三角形(2,3,0)重合的顶点0,2会被分成两个顶点来处理。GPU在绘制的时候会按照顶点0->顶点1->顶点2来绘制一个三角形。假如我们要绘制两个三角形,加入我们有两个三角形,顶点索引分别为(0,1,2),(2,3,0),那么我们的indices应该定义为。原创 2023-08-02 15:50:38 · 2148 阅读 · 0 评论 -
C# 的yield return机制与用法:数据集合按需生成
通过本文我们介绍了c#中的语法,并探讨了由它带来的一些思考。我们通过一些简单的例子,展示了的使用方式,知道了迭代器来是如何按需处理大量数据。同时,我们通过分析foreach迭代和语法的本质,讲解了它们的实现原理和底层机制。好在涉及到的知识整体比较简单,仔细阅读相关实现代码的话相信会了解背后的实现原理,这里就不过多赘述了。当你遇到挑战和困难时,请不要轻易放弃。无论你面对的是什么,只要你肯努力去尝试,去探索,去追求,你一定能够克服困难,走向成功。记住,成功不是一蹴而就的,它需要我们不断努力和坚持。原创 2023-07-12 09:48:48 · 1709 阅读 · 0 评论 -
深入理解Unity的asmdef
在Unity项目的开发过程中,我们经常需要使用各种第三方库,而这些库常常在构建时会导致无法正常编译。为了避免这种问题,Unity引入了asmdef,来解决依赖管理问题。本文将从多个方面来深入阐述asmdef的使用。原创 2023-06-13 17:48:36 · 5948 阅读 · 1 评论 -
Unity串口通信、接受和发送数据、C#
1、串口简介串行接口(串口)通常指COM接口,是采用串行通信方式的扩展接口。串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。特别适用于远距离通信。查看串口:右键 我的电脑-管理-设备管理器-端口选择一个端口,双击查看属性。这里通过串口属性,可以知道以下数据:波特率:这是一个衡量符号传输速率的参数。数据位:这是衡量通信中实际数据位的参数。停止位:用于表示单个包的最后一位。原创 2023-03-30 14:50:44 · 5868 阅读 · 3 评论 -
2022年休闲游戏市场总结
为提高盈利能力,超休闲游戏需要改进其后期数据指标,也就是创造更深层次的游戏体验,提高游戏质量,使游戏进程更加先进复杂,从而吸引用户玩得更久。要设计强大的游戏核心体验,开发者仍然需要深厚的专业知识和能力,不过 OpenAI 工具可以帮助大家简化日常任务,更快地测试、构建和发布游戏。过去,超休闲游戏类目下的子类型并不繁多,开发者可以用相同的方法开发不同类型的超休闲游戏,而且仍然能够大获成功。2023年,Supersonic 期待与开发者共享更多资源,参与更激烈的竞争,推出更优质的新功能,开发更出色的新产品。原创 2023-02-22 15:39:44 · 708 阅读 · 0 评论 -
Unity 游戏区域性崩溃,深藏的国际化巨坑
它的罪魁祸首就是float.Parse()方法,原来C#非常贴心(多管闲事)的帮我们做了国际化处理。在有些国家的标准中,逗号才是小数点!正在全球范围大推的项目出现了一个诡异的Bug,测试爆肝都测不出来的那种。经过后台数据分析,这个诡异的Bug居然有明显的区域性,几乎全部出现在德国和法国。一个偶然的机会被保加利亚的美术小哥复现了Bug,原来,当手机设置为保加利亚语,游戏才会出现Bug,切换到其它语言一切正常。在肝掉几十根头发之后,终于定位到了问题所在,原来是代码解析配置表中的float数值失败。原创 2023-02-17 16:54:20 · 1009 阅读 · 1 评论 -
重装系统打开Unity编辑器弹窗:sentinel key not found(h0007)
3、进入Unity安装路径;操作方法:右键Unity图标,打开文件所在位置,复制地址,回到Cmd,输入*cd *粘贴地址,回车。2、打开Cmd(Win+R键,输入cmd回车),进入Unity安装所在盘符(例如D盘,则输入D: 回车)1、删除以下路径文件:C:\ProgramData\SafeNet Sentinel。4、输入命令行:hasp_update.exe u unity-sl.v2c 回车。5、问题解决,重启Unity即可。原创 2023-02-02 14:59:43 · 920 阅读 · 0 评论 -
Unity官方认证考试
考试主要就是主办方给了我们一个网址,用当时看开发者认证视频的账号和密码就可以登录进去,如果你忘记密码了,当场找回就可以了,很快的,登录进去后就会让你看一个协议之类的,你同意就可以看到一个答题演示,讲真我以为同意了协议之后就开始答题了,然后那个答题演示的题目和答案真的是惊到我了,根本看不懂,幸好原来那些奇葩的问题和选项只是用来做答题演示的,看过演示后就正式进行考试啦,开始计时。UCD证书是电子版的,你考完就立马给出成绩,如果你过了,过几天你的邮箱就会收到一封邮件来自Unity,你就可以去认领你的证书啦。原创 2023-01-06 14:59:15 · 2836 阅读 · 0 评论 -
数字孪生架构
所以演化到3.0的架构时,提高服务端的并发能力,可以将数据服务器根据需要进行拆分,加入数据库,这里面没有一个固定的架构模式,初步是将数据、应用模块拆分开,有计算量较大的模块(比如AI预测、数据分析等等)可以单独再拆分出来。性能是个问题,客户端直接连外部系统,当开n个客户端的时候,就会和外部系统有n个连接,特别是有的数据需要轮询去获取,可能会对外部系统造成比较大的压力。灵活性:客户端与服务器制定好数据协议即可,数据服务器负责处理与外部系统的数据对接,隔绝了客户端的频繁改动,也给客户端增加了一定的稳定性。原创 2023-01-04 17:10:47 · 2254 阅读 · 1 评论 -
裸眼3D全息投影技术
虽然应用这么多,但是小画要告诉大家,这些我们看到的应用往往并非严格意义上的全息投影,而是使用珮珀尔幻像、边缘消隐等方法实现3D效果的一种类全息投影技术,也被称为“伪全息”。纱幕投影是一种借助于投影、射灯等投射成像的展示形式,它的成像介质即如轻纱般的薄幕,它可以是极为纤细的铁丝网、钢丝网,也可以是不易被肉眼所见的纱布。在看好莱坞大片的时候,有一个场景我们非常熟悉:主角挥一下手,眼前就会出现一块立体的虚拟的显示屏,屏幕上的内容主角可以任意切换——这就是全息投影技术。国画在上海某餐厅的雾幕投影案例。原创 2023-01-04 09:35:51 · 2204 阅读 · 0 评论 -
Unity3d 多线程get_gameObject can only be called from the main thread
用代理封装要执行的方法。由Unity Update调用。子线程调用了主线程才可以调用的方法。原创 2022-12-14 21:15:44 · 483 阅读 · 0 评论 -
VS调试安卓Unity应用
最近遇到了一个bug,需要在安卓手机上实机调试才行,所以这里记录一下怎么用VS调试安卓应用。我使用的VS是2017,但是更新的2019等版本应该也是差不多的(毕竟实际上依赖的是Visual Studio Tools for Unity插件)。Unity版本是2018.4(LTS版本),但是后面更新的版本应该也是一样的。因为我是直接用连接到电脑的测试机来调试的,所以这里主要的内容是关于调试连接到电脑的测试机上的安卓Unity应用。首先确保您能够用VS调试Unity应用,即插件能够正常使用,正常Attach到U原创 2022-12-07 15:01:15 · 1644 阅读 · 0 评论 -
Unity线程安全:CompareBaseObjectsInternal can only be called from the main thread
在unity中我们使用多线程时。用子线程调用主线程时。用到unity的东西时就会报如下的错误。CompareBaseObjectsInternal can only be called from the main thread.Constructors and field initializers will be executed from the loading thread when loading a scene.Don’t use this function in the constructor原创 2022-12-07 09:21:03 · 344 阅读 · 0 评论 -
Unity的机器学习工具包ML-Agents
Github下载链接:https://github.com/Unity-Technologies/ml-agentsML-Agents是游戏引擎Unity3D中的一个插件,也就是说,这个软件的主业是用来开发游戏的,实际上,它也是市面上用得最多的游戏引擎之一。而在几年前随着人工智能的兴起,强化学习算法的不断改进,使得越来越多的强化学习环境被开发出来,例如总所周知的OpenAI的Gym,同时还有许多实验室都采用的星际争霸2环境来进行多智能体强化学习的研究。原创 2022-12-02 10:52:39 · 2747 阅读 · 0 评论 -
unity中Camera的Field of View 垂直FOV
unity中Camera的Field of View是指的垂直FOV,水平FOV可以经过计算得到。原创 2022-11-01 20:36:11 · 2359 阅读 · 0 评论 -
OpenCVForUnity 透视矫正、透视变换
OpenCVForUnity有封裝好的計算透視變換矩陣的方法:public static Mat getPerspectiveTransform (Mat src, Mat dst)和通過透視變換矩陣實現透視變換的方法:public static void warpPerspective (Mat src, Mat dst, Mat M, Size dsize)所以要實現透視校正的關鍵在於獲取原始圖片四個交叉點,大致流程: 載入圖像→灰度化→邊緣處理得到邊緣圖像→霍夫變換進行直線檢測→計算得到原创 2022-10-28 11:42:42 · 1528 阅读 · 2 评论 -
NuGet包管理器
在.NET应用程序编程开发中,开发者通常使用类库来管理、维护属于同一分类的程序代码,以便代码的重用。一般情况下,处于同一类库的所有类都位于同一程序集。这些类库被编译器编译后会生成扩展名为.dll的动态链接库文件,你可以在其它项目中通过引用的方式导入这些.dll程序集并使用其中被封装的类及成员。但随着项目越来越大、越来越多,使用手动引用.dll动态链接库的方式让程序包管理和维护变得非常困难。在这种情况下,NuGet程序包管理工具便应运而生。程序包就好比前端开发中的包,Java开发中的或者。原创 2022-10-25 13:56:28 · 2091 阅读 · 0 评论 -
Unity常用的动画类型
把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一 个整体的动画,角色比较灵活。:应用最广泛的动画,结合上面两种动画形式,内部骨骼,外部蒙皮。:通过快速播放一系列图片产生动画的效果,类似于 Gif一样。在我实际开发中,最常用的就是序列帧和骨骼动画了。原创 2022-10-25 11:33:35 · 3404 阅读 · 0 评论 -
Unity VR的UI制作和交互
无论是游戏,还是虚拟现实等,都不可能缺少UI界面的制作,对于界面我们可以分为两种UI界面,一种是能够跟随VR头盔移动的UI,另一种为不跟随头盔移动的UI,也就是将UI看作三给空间中的游戏对象。把UI当做3D物体一样的,完全是个3DUI,整个Canvas画布被认定为是一个3D空间中的游戏对象,与创建的其他游戏物体一样,即此模式下的UI不会跟着头盔移动。UI的交互方式:通过手柄发出射线,当射线碰撞到UI元素后,结合手柄的操作,调用相应的方法,,给玩家看的线条的绘制:有下面几种方式。原创 2022-10-20 10:10:57 · 4376 阅读 · 0 评论 -
UNITY开发VR从入门到放弃
UNITY开发VR从入门到放弃---VR自学手册_俗人杂文的博客-CSDN博客_vr开发原创 2022-10-18 23:27:52 · 680 阅读 · 0 评论 -
steamvr media player 电脑桌面不显示出现闪退问题
任务管理 中, 右键最大化。原创 2022-10-18 16:55:22 · 2030 阅读 · 1 评论 -
Unity 颜色空间(Color Space)Gamma与Line空间
但是呢,如果把所有的采样点都存储下来,图像的大小就会变得很大,带来内存和带宽的巨大压力,更加的得不偿失。相机的光感原件通过均匀的信号采样,存储下采样到的光子数量,就得到了一张图像。Linear Space:会对计算的输入部分进行一个Gamma2.2的处理,得到Gamma1.0这样一个线性的值来计算,对计算的输出部分进行一个Gamma0.45的处理还原到Gamma0.45空间的数值。当你点亮1盏灯时,有1x的光子数量进入人眼,当2盏灯时,有2x的光子数量进入人眼,50盏灯时,就会有50x的光子数量进入人眼。原创 2022-10-12 15:36:47 · 2318 阅读 · 0 评论 -
Unity 模型闪烁
这种情况下当纹理采样的时候,由于绘制像素屏幕坐标与纹理采样uv之间的比率(偏导数)很大,导致相邻屏幕像素采样的纹理颜色跳跃很大,看起来材质上面出现了锐利的条纹和光点,尤其是摄像机或者模型移动的时候,模型表面材质闪烁严重。解决办法 : 把模型的MeshRender 上的 Receive Shadows 关掉(只有非地面的这样处理)比如墙壁上贴着的海报,有可能会有重叠的面。4. Z-Fighting问题,可能模型有重叠面,或着跟其他模型离的太近。一般是因为,这个模型即产生阴影,又接收阴影,原创 2022-10-09 13:27:30 · 7776 阅读 · 1 评论 -
OpenCV的Rect 常用函数
/返回布尔true/false, 判断x,y是否在这个矩形中。例如我们画一个图 Rect(20,50,30,40), 我用matlab画了一下,比较直观。// 返回左上角坐标(20,50)//返回右下角坐标(50,10)原创 2022-09-30 15:09:32 · 2206 阅读 · 1 评论 -
Pico设置主launcher默认自启动应用
点击“系统”,进入“关于设备”,然后点击“PUI版本号”8次,回到上级界面找到“开发者选项”;进入“开发者选项”,下拉找到“行业设置”,点击进入;a. Neo3 系列设备:进入“设置-通用”,找到“软件版号”,光标对准点击6次,直到左侧导航栏下方出现“开发者”;点击进入“开发者”,后,进入“行业设置”;进入“系统”-“用户配置”,找到“行业设置”;6. 进入行业设置后,选择“设置开机启动应用“”,选择自己已经安装的需要设置的应用,并选中,重启设备。2.通过行业设置修改的方法。3.通过SDK接口实现。原创 2022-09-26 14:03:18 · 2832 阅读 · 3 评论 -
Unity做360度全景预览
在线VR展厅、看房,用户可以在手机上通过陀螺仪或者拖动来360度全景参观展厅,这个VR展厅里会有一些信息点,点击之后可以呈现更多信息(视频,图文等)原创 2022-09-14 17:02:54 · 3075 阅读 · 0 评论 -
UGUI图集的理解与使用
用过NGUI的同学都知道在拼界面之前都必须先制作好对应的图集才行,然而在Unity2D或UGUI中,Unity却自己集成了图集的操作,目的是让我们忘掉图集的存在,更加关注设计这个层面。原创 2022-09-05 18:34:25 · 1829 阅读 · 0 评论 -
Unity热更方案-华佗
HybridCLR将纯AOT runtime增强为完整的runtime,使得热更新代码与AOT代码无缝工作。脚本类与AOT类在同一个运行时内,可以随意写继承、反射、多线程(volatile、ThreadStatic、Task、async)之类的代码。不需要额外写任何特殊代码、没有代码生成,也没有什么特殊限制。执行高效。实现了一个极其高效的寄存器解释器,所有指标都大幅优于其他热更新方案原创 2022-08-23 16:44:27 · 3106 阅读 · 0 评论 -
Unity 的资源加载管理方案对比
Unity资源加载管理方案对比原创 2022-08-23 16:19:48 · 1374 阅读 · 0 评论 -
游戏中的语音聊天方案
游戏中的语音聊天方案原创 2022-08-23 15:54:06 · 1962 阅读 · 0 评论 -
理解在Unity中使用多个相机
根据我的观察,很多Unity 用户统并没有掌握该如何在一个单一场景中使用多个Unity的摄像机,他们对这个概念缺乏一些了解。 “如果我只是想从一个角度看这个场景,为什么我需要使用多个摄像机?”这个问题初听上去很有道理,当多个摄像机从同一个角度捕捉场景的时候会使得它更加混乱。...原创 2022-08-08 00:24:23 · 4319 阅读 · 0 评论 -
Unity多场景管理
Unity的多场景管理原创 2022-08-07 21:10:50 · 3507 阅读 · 0 评论