Unity
文章平均质量分 77
极客范儿
技术决定下限,审美决定上限
展开
-
Unity实现动态数字变化
最近的项目需要动态显示数字,所以使用Text组件,将数字进行变化操作过程记录下来。原创 2024-04-20 21:31:08 · 919 阅读 · 0 评论 -
2023年度学习总结
我被CSDN认证为博客专家啦!这也算是C站对我创作能力的认可。从大一开始在CSDN写作,坚持至今。刚开始写博客只是当作一个学习笔记,把学到的东西记录下来,方便以后重复学习。渐渐地,随着写技术的深度增加,访问量也越来越多,自己的写作能力也慢慢地有所提高。就这样,访问量的提高,粉丝的好评,也让自己的自信心逐渐提高,于是形成了一个良性循环,从而越写越好,越写越多。C站记录了我关于技术的成长,之后的计划是出版一本关于技术的书。十年饮冰,难凉热血。学以致知,然后学以致用。幸运的是,曾经的菜鸟像鸵鸟一样把头扎进沙漠,原创 2023-12-31 15:00:28 · 1670 阅读 · 0 评论 -
Unity API详解——Time类
Time类是Unity中获取时间信息的接口类,只有静态属性。本博客介绍Time类的一些静态属性。原创 2023-06-01 16:34:50 · 859 阅读 · 0 评论 -
Unity API详解——Rigidbody类
Rigidbody类的功能是用来模拟GameObject对象在现实世界中的物理特性,包括重力、阻力、质量、速度等。对RIgidbody对象属性的赋值代码通常放在脚本的OnFixedUpdate()方法中。本博客主要介绍Rigidbody类的一些实例属性和实例方法,最后对Rigidbody类中功能相近、关联性较强的API之间的关系进行了注解。原创 2023-05-10 21:50:47 · 759 阅读 · 0 评论 -
Unity API详解——Random类
在Random类中,涉及的静态属性有insideUnitCircle属性、insideUnitSphere属性、onUnitSphere属性、rotationUniform属性、rotation属性和seed属性。由于属性insideUnitCircle、insideUnitSphere和onUnitSphere功能相近,属性rotationUniform和rotation的功能也相近,于是把它们放到一起介绍,接下来详细介绍这些属性。原创 2023-05-01 16:30:52 · 2232 阅读 · 1 评论 -
Unity API详解——Quaternion类
Quaternion类又称四元数,由x、y、z和w这4个分量组成,属于struct类型。在Unity中,用Quaternion来存储和表示对象的旋转角度。Quaternion的变换比较复杂,对于GameObject一般的旋转及移动,可以用Transform中的相关方法实现。本博客介绍Quaternion类的一些实例属性、静态方法和运算符,并对Quaternion类相乘运算符“*”的两种重载格式在功能上的异同进行了简要的注解。原创 2023-04-28 11:40:37 · 1885 阅读 · 0 评论 -
Unity API详解——Object类
Object类是Unity中所有对象的基类,例如GameObject、Component、Material、Shader、Texture、Mesh、Font等都是Object的子类。本博客介绍Object类的一些实例方法和静态方法。原创 2023-04-22 21:49:56 · 881 阅读 · 0 评论 -
Unity API详解——Matrix4x4类
在脚本中通常用Vector3、QUaternion、Transform等类的属性和方法来对物体进行变换,Matrix4x4类通常在一些比较特殊的地方,如对摄像机的非标准投影变换等。本博客主要介绍Matrix4x4类的一些实例和静态方法。原创 2023-04-20 17:45:41 · 1099 阅读 · 0 评论 -
2023年“挑战杯”大学生课外学术科技作品竞赛有感
今年大家的学术热情都十分高涨,以前本科的时候参加过小挑,商业性更强,大挑能参加的项目更丰富,更加注重科技创新能力。本次比赛感觉小论文的内容还能继续丰富,于是就拿最近的一项专利投了。首先写了作品申报书,因为最近一直在做元宇宙的应用,所以又手搓了一个Unity融合多传感器的项目……原创 2023-03-25 11:00:29 · 1205 阅读 · 0 评论 -
2022年度学习总结
2022年有焦虑也有成长,记录和总结也是成长的一部分。这一年,我也努力在不确定性中做一些确定的事情,感恩被保护的三年,三年清零抗疫结束,做好自己健康的第一责任人。研一半个学期在网课或者封校中度过,我们抓不住未来,但守得住现在,疫情偷走时间,但也别让它偷走青春,感谢所有人的坚守和努力,疫情终将散去,繁华必将如常! 2022年的初雪鹅毛一般,雪下的真不小,量化自己的经历,记录一下自己一年来的学习成果,回顾过去,展望未来,我将从工作成长、生活娱乐和身体健康三个方面进行总结。原创 2022-12-31 22:56:12 · 847 阅读 · 0 评论 -
2022VR高级研修班总结
本人有幸参加2022VR高级研修班,此次高级研修班由赵沁平院士和丁文华院士领衔,全国知名专家及长期在相关领域从事产业、管理、科研工作的专家参与,带来了18个专题讲座,内容涵盖虚拟现实技术与系统现状与发展、产学研合作与产业协同创新发展,虚拟现实科学技术体系和产业发展与科技支撑保障研究,聚焦于VR领域的新理念、新技术,为广大虚拟现实开发者提供了一场学术盛宴,大咖云集干货满满,给我未来的科研道路发散了思维,开阔了眼界。经过数天的付出,高级研修班接近尾声,回想起来,此次培训真实感触颇深,受益匪浅。其中沈旭昆教授原创 2022-11-28 21:35:51 · 664 阅读 · 4 评论 -
第七届信息类研究生学术论坛参赛有感
因为疫情不仅感叹时光飞逝,上了大半年的网课再次回到校园已经有师弟师妹了。今年的研究生学术论坛更卷了,入围了88项作品。这次科研作品征集研究生在学期间信息类相关研究成果,鼓励实物参展,包括软件系统、硬件系统等,也欢迎高水平学术论文、发明专利等参与交流。优秀科研作品展示并评选出一、二、三等奖,获奖比例在60%以上,地点瀚学楼10层大厅,获奖作品将进行线上宣讲。获奖率在70%,今年因为竞赛异常火爆,控制在60%,但依旧有很多队伍参加。原创 2022-11-19 10:12:56 · 511 阅读 · 0 评论 -
详谈ORB-SLAM2的特征点提取器ORBextractor
ORB-SLAM2的三大线程中用的类和变量,一个图像输入,最先进行处理的变量就是ORBextractor(),ORB特征提取器。使用了图像金字塔,越往上图像越小,等级(Level)越高, 所以提取同样的特征点的话特征点本身也就越大,暗含的意思就是特征点对应在地图上,在三维结构上里相机更近,Level 1就是把Level 0缩小了,Level 2就是把Level 1缩放,……一层层的缩放关系,原创 2022-10-11 21:30:39 · 930 阅读 · 3 评论 -
HoloLens2的彩色和深度数据流通过主机获取
关于HoloLens 2设备提供了研究者模式,便于开发者访问传感器的原始数据,进行科研开发,本博客根据github项目在线获得图像数据,但是目前达不到实时传输的效果,延迟很高,期望以后的深入学习可以解决。原创 2022-09-26 21:35:34 · 2167 阅读 · 6 评论 -
使用HoloLens 2调用深度相机和前置摄像头
实验要在HoloLens 2上做仿真,HoloLens的SLAM做得很好,它的SLAM过程中是没有用深度相机的,完全依靠左右两侧的4个鱼眼相机,深度相机只在场景建模时候用。HoloLens和人眼的解决方案一样,分两个阶段,先是把场景里3D点的位置确定出来,后面的跟踪就只用特征点的图像坐标和IMU来处理。HoloLens 2研究者模式可以访问深度摄像头、灰度摄像头和IMU上的原始流数据。原创 2022-09-20 08:40:53 · 1956 阅读 · 2 评论 -
HoloLens 2上使用Azure空间定位点
Azure 空间定位点为开发人员提供了工具,用于创建 HoloLens 的空间感知混合现实应用程序(通过 ARKit 为 iOS 设备创建,通过 ARCore 为 Android 设备创建)。通过项目复习Azure空间定位点的基础知识,为接下来在HoloLens上做虚实配准工作打下基础。在 Unity 菜单中,选择Window > TextMeshPro > Import TMP Essential Resources原创 2022-09-02 16:08:11 · 2876 阅读 · 3 评论 -
Unity API详解——Mathf类
Mathf类是Unity中的数学类,属于结构体类型,只有静态属性和静态方法,即不可实例化。在使用时,直接调用其静态属性或静态方法,如Math.PI、等。原创 2022-08-17 21:27:48 · 1987 阅读 · 0 评论 -
Unity API详解——HideFlags类
HideFlags为枚举类,用于控制object对象的销毁方式及其在检视面板中的可视性。本博客对HideFlags类枚举成员的功能及其使用方法进行较为详细的说明。原创 2022-08-06 10:57:10 · 1239 阅读 · 0 评论 -
用HoloLens 2火星漫游
熟悉了混合现实工具之后,最好巩固知识的方法就是最项目。跟着微软官方的例程做一个火星漫游车置于场景中,使用MRTK功能来整理场景中的对象,并使用求解器功能智能跟踪对象,梳理用到的知识点。..................原创 2022-07-28 16:31:15 · 1359 阅读 · 5 评论 -
使用Unity做一个艺术字系统
为了熟悉CaptureScreen方法,做一个艺术字系统。首先声明一个公共变量toward,以便在书脚本Cature_Use中调用,然后给另一个变量delays赋予一个随机值,以便每个小球的运动显得更加真实接着创作主程序......原创 2022-07-26 21:12:59 · 969 阅读 · 0 评论 -
Unity API详解——GameObject类
GameObject类是Unity场景中所有实体的基类。一个GameObject对象通常由多个组件(component)组成,且至少含有一个Transform组件。介绍GameObject类的一些实例属性、构造方法、实例方法和静态方法,并在最后对GameObject和Component这两个类之间的关系及其设计的GetComponent相关方法的使用区别进行注解。......原创 2022-07-20 16:59:10 · 1982 阅读 · 0 评论 -
Unity API详解——Camera类
Camera类用来控制游戏中虚拟场景的展示,以左下角为屏幕的(0,0)点坐标,以右上角为屏幕的(camera.pixelWidth,camera.pixelHeight)点坐标。如果用单位化方式表示,则左下角为(0,0)点,右上角为(1,1)点。本博客主要介绍了Camera类的一些实例属性和实例方法,最后对摄像机的视口与aspect、pixelRect及rect之间的关系进行了注解。在Camera类中,涉及的实力属性有aspect、cameraToWorldMatrix、cullingMask、eventM原创 2022-07-10 11:17:00 · 1539 阅读 · 0 评论 -
Unity API详解——Application类
Unity对API的合理利用不仅可以减轻编码负担,而且往往可以提高程序的运行效率,尽管官方给出了较为丰富的API文档,然而这并不能满足实际开发的需要,因为官方给出的API解释往往只描述相应的API的主要功能,缺少对其边界条件的说明和API的算法解释,于是熟悉API也成了新手进阶的必经之路,对学习过程做一个记录。Application类不含实例属性和实例方法,在脚本中通过直接调用Application类的静态属性和静态方法来控制程序的运行时数据,如场景的管理、数据的加载等。在Application类中,设计的原创 2022-07-07 16:52:52 · 2044 阅读 · 0 评论 -
带你用Unity实现游戏登录界面设计
Unity为开发者提供了一套非常完美的图形化界面引擎,包括游戏窗口、文本窗口、输入框、拖动条、按钮、贴图框等。本文巩固Unity GUI图形用户界面的知识,对GUI脚本编写和场景的切换进行总结。一、界面的切换1、新建场景在之前Scene_Shot的基础上,再新建一个场景:File-〉New Scene,File-〉Save Scene,输入场景文件名为Menu2、新建一个脚本文件:Project-〉Assets-〉右击-〉Create-〉C#,重命名为Menu3、编辑Menu.cs,使其具有三原创 2022-05-17 20:37:33 · 6686 阅读 · 2 评论 -
Unity解决动画不可用:The AnimationClip ‘XXX‘ used by the Animation component ‘XXX‘ must be marked as Legacy.
在Unity 2019.4.38.f1c1以上的版本,创建的创建Animation Clip无法使用,作为组件的默认Clip的话,那么游戏运行的时候这个Clip其实是播不出来的,而且Console会报一条“The AnimationClip ‘XXX’ used by the Animation component ‘XXX’ must be marked as Legacy.”的警告信息,以及一条“Default clip could not be found in attached anim原创 2022-05-14 21:16:38 · 6641 阅读 · 8 评论 -
深入理解Unity GUI图形用户界面
本博客通过脚本实现创建GUI控件、实例化、定位、输出。一、设置场景1、File-〉New Scene,创建一个新场景,保存命名为Menu2、主菜单-〉Assets-〉Create-〉C#,创建一个脚本文件,重命名为Menu。3、在Project面板中双击该脚本文件,打开Microsoft Visual Studio编辑环境,输入代码public class Menu : MonoBehaviour { void OnGUI() { if (GUI.Button(new Re原创 2022-05-02 20:59:34 · 2649 阅读 · 0 评论 -
手把手教你Unity制作手雷爆炸
Unity的粒子系统由粒子发射器、粒子动画器、粒子渲染器组成,通过使用一或两个纹理多次绘制,创造一个混沌的效果,通过复习粒子系统做一个手雷和实弹投掷现场。一、创建地形1、GameObject ->3D Object-> Terrain,创建带有地形属性的平面2、Terrain-〉最后一个工具(Terrain Settings)->Set Resolution-〉SetHeightmap resolution ,把地形设置为500*5003、调整视图Hierarchy->Ca原创 2022-04-23 23:13:14 · 4144 阅读 · 0 评论 -
Unity炮塔发射系统
Unity自带粒子发射器、动画器、渲染器各两种,利用Unity的粒子系统制作一个炮塔发射系统。了解粒子系统,必须先了解每一个属性都代表了什么,之后才能根据这些原理来调整出自己满意的效果。一、进行粒子效果生成练习1、生成一个空项目,Assets->Import Package->Custom Package->SceneShot.unitypackage2、GameObject->Effects->Particle System,在场景中创建一个粒子系统,并将其移动原创 2022-04-10 11:01:43 · 3170 阅读 · 0 评论 -
从零开始教你用Unity做一个自动感应门
文章目录一、设置物体参数1、打开实现的项目(可以人在走动),选一块平地一排放三个长方体组成一面墙,中间的长方体薄一点当门用。参考下面的尺寸。2、单击Scene视图右上角的图标(竖向的三个小点)-〉Add Tab-〉Animation,Animation视图就显示在Unity的主控面板上3、创建动画文件4、在Door的Inspector面板中出现Amimator组件5、开始录制动画6、移动红色的时间帧到1:00位置-〉在Scene面板中,沿Y轴向下移动Door,使其顶部的面与Floor对齐7、再次单击红色按钮原创 2022-03-30 17:03:43 · 8825 阅读 · 0 评论 -
使用Unity创造一款跑酷游戏
文章目录一、创建工程1、GameObject ->3D Object-> Terrain,创建带有地形属性的平面2、Terrain-〉最后一个工具(Terrain Settings)->Set Resolution-〉SetHeightmap resolution ,把地形设置为500*5003、调整视图二、应用资源包1、下载资源2、导入资源3、Project ->All Prefabs->将显示人像的ThirdPersonController_LITE预制件拖拉到Scene窗原创 2022-03-23 22:05:26 · 7148 阅读 · 0 评论 -
深入理解C#协同程序
StartCoroutione()开启一个协程。当脚本中有多个协程的时候,StopAllCoroutines()停止脚本中所有的协程。StopCoroutine()停止脚本中的一个协程。举个例子:妈妈准备开始做菜,但发现酱油没有了。为了能暗示吃上饭,所以妈妈让孩子去买酱油。这样,孩子去买酱油,妈妈可以继续做她的菜。等孩子买酱油回来了,菜也要出锅了,这个时候,妈妈便可以将买回来的酱油放入菜里。就这样,二人协同合作地完成了整个做菜的任务。这个过程没有涉及协程的方法,只是解释了协程的原理。public cla原创 2022-03-06 20:12:36 · 665 阅读 · 0 评论 -
详解C#中的泛型以及编程中使用泛型的优点
在编写程序时,经常会用到两个功能模块非常相似,只不过是一个处理int数据,另一个处理string数据,或者其他数据。如果没有泛型的特性,我们只能定义两个方法来处理,因为参数的类型是不一样的。泛型就是用来解决这一类问题的。我们通过一种通用的数据类型,让方法保持一致,这样就只用一个方法即可。泛型类和泛型方法同时具备可重用性、类型安全和高效率,这是非泛型类和方法不具备的特性。泛型通常用在集合在集合上的运行的方法中。这些集合所在的命名空间System.Collections.Generic所以定义一个Node类原创 2022-02-27 14:42:57 · 410 阅读 · 0 评论 -
C#中的比较和排序
当我们将一些数据存储在一个集合中时,往往会有排序的需求,比如游戏中的积分排行榜,学生考试系统中的分数排行,或者根据不同的条件(根据姓名、根据年龄)进行排序。当出现这些需求的时候,我们希望建立一种规则,根据这种规则就可以确定两个数据的前后关系。其实,这种规则我们就可以用接口来定义。一、使用集合ArrayList排序在列表中添加一些数据,打印列表的元素,得到如图public class s1: MonoBehaviour { void Start () { List<int> lis原创 2022-02-19 16:15:01 · 1799 阅读 · 0 评论 -
用栈来实现页面管理
在C#的集合命名空间中,只有尝试实现自己的集合类型才能真正深入的理解和使用。用栈来实现页面管理,熟悉数据结构。定义一个Page类,里面有name属性,覆写Tostring方法,返回修改的name值。在GotoPage方法中,将页面压入栈中;Back()方法推出页面,返回栈顶。定义一个Page为栈类型,将定义一个currentPage,在start()中根据对应的页面进行返回。class Page{ private string name; public Page(string name) {原创 2022-02-18 20:03:51 · 338 阅读 · 0 评论 -
C#的装箱和拆箱
一、装箱和拆箱概念装箱:将值类型转换为引用类型称为装箱拆箱:将引用类型转换为值类型称为拆箱1、在C#中,值类型的数据被保存在栈(stack)上,而引用类型的数据被保存在堆(heap)上,在栈上只是保存了这些数据在堆内存中的首地址using Ststem.Collections;using System.Collections.Generic;using UnityEngine;class Animal{ public int age; public Animal(int age)原创 2022-02-12 16:13:52 · 7370 阅读 · 0 评论 -
Unity配置混合现实应用程序
最近实验室购入两台台HoloLens 2,根据官网例程总结一些心得。一、创建Unity项目确保模板设置为3D二、切换构建平台1、下载平台依赖文件UnitySetup-Universal-Windows-Platform-Support-for-Editor-2020.1.0f1.exe2、在 Unity 菜单中,选择File > Build Settings将目标设备设置为HoloLens将架构设置为ARM 64将构建类型设置为**D3D 项目*将目标 SDK 版本设置为最新原创 2021-11-29 22:06:53 · 3259 阅读 · 0 评论 -
使用Unity配置Hololens 2的立方体移动
环境:Windows 10 SDK 10.0.18363.592Unity 2020.3.11f1c1一、新建 Unity 项目1、启动 Unity Hub,选择合适的版本2020.3.112、在新项目中设置参数确保将“模板”设置为“3D”输入合适的“项目名称”,例如“MRTK Tutorials为项目选择合适的“位置”,例如 D:\MixedRealityLearning3、切换生成平台配置参数:“目标设备”设置为“HoloLens”“体系结构”设置为“ARM64”“生成原创 2022-01-06 11:38:05 · 3364 阅读 · 0 评论 -
使用Unity创建一个游戏场景
使用Unity 内置的基本游戏和编辑器来创建场景,以及充分利用Asset Stroe中的游戏资源。一、创建基础地形1、打开Unity,创建一个新的项目,命名为MyEnvironment,在Assets的SCenes下,新建一个场景TerrainScene2、在Hierarchy视图中右键点击,选择3D Object→Terrain命令,此时可以看到在Scene视图中出现一个空白的地形。3、在Inspecor师徒中点击Terrain组件下的设置按钮4、将Mesh Resolutin下的Ter原创 2022-01-26 16:47:12 · 8464 阅读 · 0 评论