![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
总结笔记
文章平均质量分 73
晴耕雨読3321
这个作者很懒,什么都没留下…
展开
-
VRTK_v4 直播教程笔记(2)物体交互
VRTK_v4 油管直播教程笔记(2)原创 2022-06-09 23:26:54 · 1014 阅读 · 0 评论 -
UniTask使用笔记
异步处理&同步处理同步处理:简单说就是代码按顺序执行,在方法1里调用方法2时,要等到方法2执行完毕才接着执行方法1的代码。异步处理:简单说就是在两个方法里的代码同时或者来回执行,在方法1里调用方法2时,不等方法2执行完就接着执行接下来的代码。异步不等于多线程异步处理不等于多线程,因为即使是单线程,也可以通过切换执行的代码来实现异步。典型的例子就是unity的协程。协程就是只运行在主线程来实现异步处理的。而C#里真正跟多线程相关的是把ThreadPool封装后的Task类。Task类通常通过原创 2021-08-09 02:23:21 · 29358 阅读 · 4 评论 -
Unity上的Oculus Quset2开发(2) —— 在VR里打棒球
在安装完Oculus的插件后,能在Assets/Oculus/文件夹下看到插件包含的所有资源和脚本。当然有耐心的话,可以配合官方文档一起一个一个去看,另一方面在Assets/Oculus/SampleFramework/Usage下有官方搭建的几个demo场景,实现和演示了一些基本功能。可以直接将场景打包出来放实机里看看效果。有以下几个场景:1.AppDeeplink : 演示从游戏内外联到其他APP上2.CustomControllers: 演示VR相机和Touch控制器3.CustomHands原创 2021-05-30 14:48:46 · 1321 阅读 · 0 评论 -
Unity URP一分钟实现遮挡透视
1.设定要遮挡透视的对象的层,比如player2.准备好被遮挡后要替换的材质3.在默认的ForwardRendererData下新增一个Renderer Feature4.设置如下:layer mask:要应用的层。overrides/material:要替换的材质Depth/Depth test:开启深度测试,决定renderer feature是否渲染object的片元。深度更大是渲染(即被遮挡)...原创 2021-04-27 12:13:08 · 3091 阅读 · 1 评论 -
unity editor里的undo操作
主要是使用unity里的Undo的API。1.Undo.RegisterCreatedObjectUndo //撤销创建[MenuItem("Example/Create Cube")] static void CreateCube() { var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); Undo.RegisterCreatedObjectUndo(cube, "Create Cube"原创 2021-04-26 18:42:37 · 2103 阅读 · 4 评论 -
unity Mirror使用笔记
由于mirror的概念和API同已经弃用的unet很相似。同时mirror的文档在基础概念比较少,而且全英文。所以可以先从unet的官方文档开始入门。UNetmirror入门1) 运行环境:从AssetStore下载mirror插件。注意.net版本要求。需要在playersetting1里将.net版本改成.net4.x。2) 构建NetworkManager建立一个空物体,将networkManager,Transport,networkManagerHUD组件挂在上面。3) 制作play原创 2020-11-30 01:50:41 · 18296 阅读 · 6 评论 -
背包系统搭建总结
背包系统搭建,实现效果如下:1. UI系统的搭建首先创立一个UIroot空物体其子物体是UI相关的游戏物体创建一个UICanvas作为所有窗口的根节点,所有生成的UI窗口的canvas都在其下做统一管理。2. 设定好UICanvas的由一个专门渲染UI的camera渲染,同时设定好自适应的尺寸。采用单例模式,用一个UIManager类来管理。•1.在UImanager定义一个枚举类,规定可能存在的窗口。•2.用一个字典类保存每一个打开过的窗口。键就是枚举类的值,值是动态加载生成的原创 2020-10-19 01:43:24 · 835 阅读 · 0 评论 -
unity DOTS的学习总结之Job System应用——绘制曼德勃罗集合
接上回:DOTS的学习总结之Job System的介绍,这次就利用之前了解知识来应用一下做点效果。上回在这:1.首先实现复数类public struct Complex{ float a; float b; public Complex(float a, float b) { this.a = a; this.b = b; } public static Complex operator +(Complex p1, Com原创 2020-10-18 16:09:00 · 729 阅读 · 0 评论 -
unity 的Cinemachine组件运用
1.第三人称视角控制通过Package Manager 安装CineMachine1) 最简单的方法使用freeLook虚拟相机常用的调整为:1.观察目标:将要看的目标放在这里。2输入控制:把你想用来控制的虚拟轴(就是InputManager里的)的名字输入进去就行。默认是填mouse那个输入轴。注意:似乎不支持New InputSystem。所以在用New InputSystem时要么用在projectSetting/player里改成both设置。要么自己写脚本去调用这个组件中的原创 2020-10-18 02:29:09 · 4482 阅读 · 2 评论 -
Unity基础学习笔记(一)
1. unity中的特殊文件夹在Unity中一些文件夹是预设定具有某些特殊功能的。在建立文件夹时若不是使用相应功能,应避免和这些文件夹重名。***Assets文件夹***为资源的根节点,所有的资源都应在Assets文件夹下,经测试似乎可以命名其他文件夹为Assets,但为了避免混淆,应避免使用这个文件夹名。Editor 文件夹,用来存放一些调用Unity.Editor的API的脚本。可以在各个层级中有各自的Editor文件夹。因为实际项目不能调编辑器,这个文件夹中的脚本不会被build打包进去。Ed原创 2020-08-15 12:46:15 · 961 阅读 · 0 评论 -
Unity超基础学习笔记(四)
1. 装箱和拆箱由于在C#中所有类型(包括值类型)都继承于System.Object类。另一方面Object类本身又是引用类型。所以值类型的数据可以隐式转换为终极基类的Object类型,同时数据由值类型变成了引用类型,即所谓的装箱。同理由于值类型也实现一些接口,当值类型数据隐式转换成相应的接口类型时,也属于装箱。而反向操作,将装箱的值类型数据显式转换回来就是拆箱。显然要有装箱操作,才有拆箱操作。如果尝试对null引用拆箱或拆箱时数据类型不对的话,会报错。 int i = 123; object原创 2020-08-10 21:52:14 · 425 阅读 · 0 评论 -
Unity超基础学习笔记(三)
1. 面向对象的编程早先面向过程编程的问题:1) 功能和数据分离,使用的建模概念不能直接映射到问题域中的对象,不符合人们对现实世界的认识和思维方式。2) 自顶向下的设计方法限制了软件模块的可复用性,降低了开发效率。3) 当系统需求发生变化时,维护和扩展都变得非常困难。面对对象的思想:将软件的各个模块进行分割,形成一个一个独立的部分。就像现实世界里的一个个人,一个个物体一样。我们将其称为对象。就像每个人一样,对象有自己的属性,能执行特定的操作。比如一个人,有姓名,职业,身份证号,身高等称之为他原创 2020-08-08 18:12:54 · 245 阅读 · 0 评论 -
Unity超基础学习笔记(二)
Unity超基础学习笔记(二)1. 基本数据类型的扩展之前在K12中学习了一些基本的数据类型,实际上C#支持更多的数据类型。如下:注意无符号整型数和有符号整型数的表示范围,例如:int 能表示 -231~231-1;uint 能表示 0~2^32-1;2. 类型转换同种数据(例如都是整型)的不同数据类型可以互相转换。有两种方法。1) 隐式类型转换 。这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失,也就是从表示范围小转换到表示范围大的数据。例如,从小的整数类型转换为大的整数原创 2020-08-02 11:18:18 · 510 阅读 · 0 评论 -
unity DOTS的学习总结之Job System
这篇文章是笔者对网上DOTS相关资料的总结,主要来自UNITY官方直播和unity社区的资料,还有其他网上同好的分享。如有纰漏,望读者指正,谢谢。DOTS是什么?DOTS全名:Data-Oriented Tech Stack(DOTS),即多线程式数据导向型技术堆栈。简单来说,就是UNITY提供了一个高性能编程的解决方案,其中包含三个组成。1)C#任务系统(Job System):用来方便地写出高效的多线程代码。2)实体组件系统(ECS):一个用来实现高性能的实体框架。(类似原来的游戏对象...原创 2020-07-30 01:10:53 · 1314 阅读 · 0 评论 -
Unity超基础学习笔记(一)
1.安装Unity和认识Unity界面通过访问unity下载来下载unityHub或者直接下载unity。(应该需要注册个unityID)。本次课程用的版本是2019.4.3f1。打开后新建一个项目。任意模板项目都行,因为可以互相转。这里主要选3D模板。之后编辑界面为:Hierarchy标签:用列表形式表现现场景内的对象,和对象之间的关系(可以用拖到操作)。Scene标签:用来观察和操作2/3D场景。Game标签:用来观察游戏运行时的情况。Inspector标签:显示当前选中对象的信息原创 2020-07-28 00:19:44 · 258 阅读 · 0 评论 -
算法基础笔记
这半个月还学了算法基础,这里总结一下。迭代和递归1)迭代:迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。例如:求0~n整数的和int Sum(int n){ Int sum=0; for (int i = 0; i <= n; i++) { sum += i; }//循环累加到n后跳出循环,返回sum的值 return sum;}2)递归:一个方法在其定义或说明中有直接原创 2020-07-26 22:14:45 · 153 阅读 · 0 评论 -
C#入门总结笔记
前两个月主要讲的是C#和算法基础,用的是unity自己开发K12教程。个人觉得可以配合着我之前看的科技传播坊出的C#入门视频,和一本C#本质论能更深入的学习C#。https://www.bilibili.com/video/av10011565/?spm_id_from=333.788.b_636f6d6d656e74.12这里列出了现阶段学习的东西。变量,数据类型和运算符:数据类型:好像就学了int 类型,float类型,char类型,bool类型和string类型。int类型为32 位有符号原创 2020-07-26 21:59:39 · 176 阅读 · 0 评论