自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(186)
  • 收藏
  • 关注

原创 【Locomotor运动模块】瞬移

解释:抛物线指针选择(Select动作)好目标位置,然后告诉瞬移预设体:你想法(瞬移方法Teleport)把游戏区域(PlayAreaAlias)弄到目标位置来——给指针的Select事件,注册瞬移预设体TeleporterFacade脚本的Teleport方法。Dispatcher用分发器,把抛物线指针的“移入”、“移出”、“选择”事件广播给“瞬移区域”,抛物线指针移到“瞬移区域”,它就会高亮——但此时,并不能瞬移。设置与“瞬移区域”相同,不同的是瞬移点,有自动吸附功能(指针在其附近就能吸过去)

2023-09-03 05:43:54 825

原创 【Locomotor运动模块】攀爬

让“伪身体”StillDiverged事件,监听SolveBodyCollisions解算身体碰撞体方法(原理是让两种身体同步,强迫“真实身体”头盔更新到“伪身体”的位置),如果还抖动(强制两种身体同步导致的),调节厚度(图二)把“伪身体”(PseudoBody)拖入Climbing,再把Climbing拖入Climbable。“伪身体”跟随头盔,头盔代表“真实身体”——因而移动“真实身体”,伪身体会跟着移动。“真实身体”进入到了自建的立方体(墙)内,伪身体进不去。也就是说“伪身体”上有碰撞器,穿不了墙。

2023-09-02 21:54:01 202

原创 【Locomotor运动模块】抓取:按朝向抓取(Orientation Handler)案例

不会自动出现新的GenericOrientationHandle,它是我们复制原有的得来的,改变它的旋转,就和原先的抓取点朝向不同了。1、左右手柄分别抓取的是宝剑上的不同抓取点——GenericOrientation Handle通用朝向把手。通用朝向把手,是我们设置“按朝向抓取”(Orientation Handler)时,对应的部件。2、创建第二个“朝向把手”(GenericOrientationHandle)3、如何确定左右手柄,对应哪个抓取点。左右手柄抓宝剑时,宝剑的朝向不同。

2023-09-02 17:46:42 212

原创 【Interaction交互模块】ActionPublisher/ActionReciever

ActionReciever像是附属于Interactable的空的Interactable,需要设置它的目标Interactable(下图二),这个过程,不像“抓取”过程,数据会自动传输(“交互器”自动传输动作给“可交互物体”)——得给“接收器”指定“发布器”,把两者联系起来。要按右手柄扳机键改变立方体的透明度,前提是立方体被抓着,抓取状态,是此扳机键动作能被激活的前提——因而得在接收器里注明。我们将“发布器”的源动作(bool类型的右手柄扳机键按下),传给“接收器”相应类型的部件。

2023-09-02 14:42:08 173

原创 【Locomotor运动模块】抓取

L30 可以抓取的物体。

2023-09-01 16:11:23 138

原创 指针与空间按钮的交互

直线指针“选择(Select)”点击按钮(ClickButton),点击按钮(ClickButton)的文字变为ON,又瞬间变回OFF。指针不能直接和空间按钮交互,得借助一个中间层——分发器——它分发指针的进入、退出、选择事件,空间按钮自动监听这些事件。注意作者手里没设备,用的是模拟器——点击鼠标左键、中键,作为指针的激活、选择动作。直线指针的进入、退出、选择事件,分别调用分发器的对应方法(分发指针的事件)把三种预设体:“直线指针”、“分发器”、“点击按钮”都建出来。

2023-08-31 04:18:19 130

原创 【Interaction交互模块】LinearTransformDrive线性变换驱动

为了让按钮触底时回弹,调用MininumReached物体也调用根物体LinearTransformDrive脚本。为了让它碰触时,往下走——预设体里的Interactale调用根物体LinearTransformDrive脚本。LinearDriveFacade.cs的TargetValue,将其值设置成1。如果不需要,那课程中为什么要按抓取键?3、它和物理关节的线性关节驱动,有何区别?是前者受物理影响,后者没有吗?2、我用模拟器做的,没反应,不知是什么原因。交互——可控制物体——变换——线性变换驱动。

2023-08-30 21:29:08 142

原创 【Interaction交互模块】LinearJointDrive线性关节驱动

抓取操作,需要有交互器和可交互物体(Interactor和Interactable),线性关节驱动(及角度关节驱动)自带Interactable(如下图紫框)——我们只需再建Interactor,就能进行抓去了(Interactor建在手柄Alias下)交互器之所以能够抓取门或抽屉——原因双方都有碰撞体,如果我们只让抽屉的把手能被抓,就把抽屉除把手外的其它部件碰撞体去掉。抽屉(是由关节预设体下的Cube,复制多个,改变形状得来的)交互模块——可控制物体——物理关节——线性关节驱动。外框(如下图绿色部分)

2023-08-30 17:31:28 97

原创 【Interaction交互模块】AngularJointDrive角度关节驱动

手动修改预设(角度关节驱动AngulerJointDrive预设体)下的Cube,把它改成门的形状,并给它添加碰撞体BoxCollider。(1)设置“旋转轴”和“开合度”(另注意开合度现在是是以闭合的初始状态为0点,前-180,后+180)下图一。(2)用手柄的带有碰撞体的立方体(如下图2),把门撞开后,门自动闭合的原因——门框有碰撞体,得去掉。(2)设置“合页”的位置(左侧两个红框处,有两个旋转点)下图二。(1)开始移动手柄到门上,门是开不了的——得给手柄加个碰撞。——此处的源是门框,目标是门。

2023-08-29 22:30:56 1442

原创 【VRTK4.0运动专题】轴移动AxisMove(真实身体的移动)

③特点是:水平轴控制SnapRotation"折断旋转"——比如从0°转到30°,SmoothRotation是从0°连续转到30°;SnapRotation,按一下就转到30°,再按一下转到60°。设置与②相同,如果觉得转的突兀,可以把淡入淡出相机SceneCamera给设置一下。①特点是:都是移动,没有旋转(因而不必设置旋转轴RotationPivot属性)②特点是:水平轴控制旋转,因而需设置旋转轴为HeadsetOrigin。④特点是:移动和旋转,都是不连续的。

2023-08-28 23:03:24 783

原创 浮点动作 转 布尔动作(FloatActionToBooleanAction)

右手柄 扳机键 按下”需借助“Input.UnityInputManager.1DAxisAction”预设体成为FloatAction,方式是把左手柄扳机键轴的名字,复制给1DAxisAction的AxisName属性。FloatAction,在值变化时,调用FloatToBoolean的DoTransform(),如下图一。BoolAction激活时,gameObject.SetActive(false)隐藏胶囊体。

2023-08-28 18:18:38 101

原创 【VRTK4.0运动专题】手柄控制物体移动和旋转

但由于AxesToAngle把轴数据转化为的角度,似乎是浮点数,不能直接用,需先借助“FloatToVector3”的DoTransform方法转成Vector3三维向量形式的角度数据,然后“FloatToVector3”脚本再去调用TransformEularAngleMutator脚本的DoSetProperty方法,从而实现AxesToAngle间接调用DoSetProperty方法的目的。预设体将两轴转化为位置向量或角度后,调用运动脚本的方法,对指定的物体进行移动或旋转。

2023-08-23 19:40:00 485

原创 VRTK4.0草稿

详细:发布器、接收器源头是原有的Interactor、interactable,并存在联系(如下两图:发布器对应交互器,接收器对应可交互物体),更像是在原有抓取操作基础上,附加了另外一套(发布器添加附加的动作,接收器处理发布器新传过来的动作【它先要和发布器联系起来】)——我写的,脚本报错,不知问题出在了哪里。问题一:课程中说加一个PseudoBody,就能瞬移过去了——但加上后,一运行,屏幕黑一下后,射线在抖动——原因是PseudoBody带刚体,在没有地面的情况下,它落到下面去了。

2023-08-22 17:14:29 261

原创 AssetBundle总结

Unity AssetBundle

2023-08-14 22:18:50 188

原创 Transform、GameObject、Rigidbody

这三个类的API官方文档,有些杂乱——本可以把它们分门别类的整理好,结果却是凌乱的堆在一起,令人恼火。Transform和Rigidbody继承自。GameObject直接继承自Object。,Component直接继承自Object。

2023-07-10 11:21:03 237

原创 ShaderGraph制作“红旗迎风飘扬”效果(Unity2019版)

做不同程度的抬升:Quad从线框图中看,是一个长方形,只有四个顶点;Plane是10x10个长方形方格,11x11有121个顶点——所以Plan较为合适。旗面是一个平面,右键创建的3D物体里是平面的Quad和Plan,模仿旗面“起伏”的原理是对平面的。先按照下面蓝色链接的讲述,导入PreBuilder工具。再用PreBuilder自建Plane,如下两图。

2023-06-29 13:48:19 1378

原创 ShaderGraph——水晶

零、让水晶正常显示Step1 升级材质导入的模型显示品红色(没有材质)——需升级选中的材质为URP材质Step2 烘焙一、

2022-05-26 12:45:51 1124 3

原创 ShaderGraph——水面

目录:一、让水面的法线贴图动起来(速度可控,且只让其在水平方向移动)二、水面涌动效果三、加上颜色四、让水面从顶部看是混黄色,从侧面看是第三步中正常颜色五、效果动图一、让水面的法线贴图动起来(速度可控,且只让其在水平方向移动)二、水面涌动效果原理此时水面像石头表面,缺乏动态——再混合一张不同平铺值得法线贴图,便会出现涌动效果——“法线混合”,用到节点NormalBlend步骤Step1 制作一张只在Y方向偏移,且平铺值都为0.25的法线贴图Step2 将以上法线贴图,与原有法线贴图,进行法线

2022-05-25 22:50:34 1143

原创 ShaderGraph——303摇曳的小草

目录:准备:让草在Scene/Game视图中被看见一、草发生弯曲二、草动起来三、让草的运动符合自然规律四、复制多个草窝时,让草的运动方向一致五、复制多个草窝时,产生此起彼伏、风吹麦浪的结果准备:让草在Scene/Game视图中被看见   给PBRMaster节点,添加主贴图、法线贴图、金属贴图,并把主贴图的透明通道给PBRMaster的Alpha,且须改其Surface为Transform、勾选双面渲染TwoSided——此时能在ShaderGraph中能看到草,但在Scene/Game视图中看不到——

2022-05-25 18:18:27 987

原创 ShaderGraph——302游动的龙

目录:一、模型由直条状态变为正余弦状态思路问题原因二、让模型动起来三、在ShaderGraph预览图正常游动,而在Scene视图里左右晃动的问题问题原因Step1 去掉Skinned Mesh RendererStep2 去掉层级视图的骨骼部分Step3 给模型添加网格MeshFilter(并选择龙的网格)、MeshRenderer、由ShaderGraph创建的材质球四、 效果动图一、模型由直条状态变为正余弦状态思路是在其Y轴方向,加上一套正弦或余弦的值问题此时,模型仍未出现蜿蜒状态(如上

2022-05-24 18:14:09 248

原创 ShaderGraph——301跳动的小球

目录:原理改进一 让突起跳动起来改进二 让速度慢下来,模仿蠕动改进三 处理突起不连续的问题改进四 给模型表面加颜色和图片效果动图原理以3D圆球模型为例,在它的表面再加上一层——如果该层的厚薄不均,呈随机状态——便会出现如上图的突起:模型表面就是“顶点”(用Position节点表示),加上一层,可以让顶点加上一个法线向量(Normal Vector),“随机”,可以让法线向量乘以Noise节点。改进一 让突起跳动起来让噪点的UV不停的偏移,就会出现“滚动”和“跳动”的效果改进二 让速度慢下

2022-05-23 18:01:47 292

原创 ShaderGraph——石化

目录:1、石化2、代码设置变量,控制石化进程3、修改ShaderGraph的路径,以便让Shader的分类看起来更整洁4、效果动图1、石化原理:模型主贴图,逐渐过渡到石化图——“逐渐过渡”节点是Lerp,再用Slider节点控制插值,即可实现石化的过程2、代码设置变量,控制石化进程把Slider节点,转为属性,并将其在代码中的名称定义为_StoneAnim,场景运行时,我们每按一下A键,让_StoneAnim自加0.1f转属性代码控制using System.Collections;u

2022-05-23 11:28:37 425

原创 207流光

目录:【图片】的流光效果原理改进1:让流光动起来改进2:控制流光方向完整连线图【模型】的流光效果【图片】的流光效果原理一张有黑色背景的流光图和要被修饰的图,进行叠加改进1:让流光动起来流光图UV随时间偏移:Time节点,连Tiling And Offset节点的Offset改进2:控制流光方向此时的流光,是从图的右上向左下循环移动——我们想让流光水平移动:把Tiling And Offset的Offset这个二维向量单独分出来,让Time只连二维向量的x(y保持为0)完整连线图【

2022-05-23 03:29:06 1489

原创 ShaderGraph——扰动

目录:一、核心:在贴图X轴方向(UV中的U),制造无规律偏移二、将改造后的UV,赋给一张图片三、让图动起来四、效果图一、核心:在贴图X轴方向(UV中的U),制造无规律偏移 原理是UV中原先的U,加上一个我们做的无规律的偏移值二、将改造后的UV,赋给一张图片三、让图动起来不再只取噪点X为0处的Y值,而是取随机的X处的Y值四、效果图...

2022-05-22 13:03:35 857

原创 ShaderGraph——扭曲

目录:核心:类似漩涡的扭曲效果改进1:混合上颜色改进2:部分透明改进3:动起来改进4:改变形状核心:类似漩涡的扭曲效果用Twirl连Noise来模拟——Twirl连三种类型的Noise,如下(我们选择其中的一种使用):连接前连接后改进1:混合上颜色上步我们选用Gradient Noise节点,这步我们将它和颜色节点混合,然后连给PBRMaster的主贴图元素“Albedo”改进2:部分透明把Gradient Noise表示的数值,连给PBRMaster的透明度元素“Alpha”注意

2022-05-22 01:30:40 894

原创 ShaderGraph——积雪

目录:一、核心:顶部发白效果二、辅助:加强这种效果三、辅助:叠加原有自发光贴图四、效果图一、核心:顶部发白效果用 Normal Vector 节点去点乘向上的向量Vector3(0,1,0),就会有顶部发白的效果二、辅助:加强这种效果通过Step节点,让渐变效果,成为二级分化效果三、辅助:叠加原有自发光贴图四、效果图...

2022-05-21 19:20:30 243

原创 ShaderGraph——溶化效果

文章目录核心一、斑驳的透明      原理      途径1 Step      途径2 Slider      途径3 Vector1核心二、白色边缘辅助一、给白色边缘混合颜色辅助二、叠加原有高光贴图效果动图核心一、斑驳的透明      原理“斑驳”想到Noise随机节点“透明”想到PBR节点Alpha变量但把Noise连给Alpha时,并没有出现透明部分——还需用AlphaClipTreshold做“透明测试”(剪裁)      途径1 Step      途径2 Slider  

2022-05-21 12:54:38 556

原创 ShaderGraph——边缘光效果

1、Fresnel节点混合颜色(相乘),赋给PBR节点的“自发光贴图”项,模型就会有自发光的效果(Fresnel节点Power项的值越大,边缘发光越明显)。2、模型如果还有自发光贴图,应与以上相乘结果相加,再赋给PBR节点的“自发光贴图”项。

2022-05-19 19:46:42 946

原创 201全息

备注:Unity版本2020.3.21f1创建连线图图01图02图03图04图05图06图07遗留:不明白为什么——ScreenPosition能把混乱的UV调整好

2022-05-19 12:19:12 361

原创 Unity代码设置天空盒子skybox 及定时切换

目录:一、代码二、解析三、核心前言:并非自创,看的是同行的博文——在此向前人致谢一、代码using System.Collections;using System.Collections.Generic;using UnityEngine;public class ChangeSkyBox : MonoBehaviour{ public Material[] mats; private int index=0; public int changeTime;//更换天空

2022-04-27 14:22:47 4368

原创 笔记本拓展外接显示器时 鼠标移动不到主显示器外的另一块屏上

原因:显示面板,两个显示器图形表示(如下图带有标号的方块),摆放顺序不正确——把代表左边显示器的图标拖动到左侧即可

2022-04-20 17:25:52 16478 2

原创 Unity判断 (本地绝对目录下的)文件 是否存在

需求:思路:代码:注意:需求:判断Unity的Resouces目录下,是否存在名为“Test1.jpg”的文件思路:用"文件是否存在"方法判断——File.Exists(路径字符串)代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;public class FileExistOrNot : MonoBehaviour{ //文件路径的

2022-04-20 01:26:16 4769

原创 Unity编辑器----添加组件

含义:[RequireComponent(typeof())] 为游戏物体添加某组件举例:脚本类名前,加[RequireComponent(typeof(Rigidbody))],脚本所在游戏物体,就会有Rigidbody组件(即使场景不运行)注意:无需引入UnityEditor命名空间...

2022-04-12 11:40:02 5098

原创 C# Dictionary泛型集合

重要方法的工程结构(控制台应用程序)+测试代码+运行结果:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Dictionary泛型集合{ class Program { //定义“头衔”-“名字”字典泛型集合(此处,因静态主函数要调用它,所以得把它写成静态的) .

2022-04-08 15:55:01 1002

原创 Unity解析服务器Json文件

文章目录需求:原理:实现:一、“UnityWebRequest类获取服务器文本”功能二、根据Json文件内容,写解析类三、用Unity自带的JsonUtility.FromJson()解析方法,得到所需变量的值四、加在游戏物体上的完整代码+打印出的语句注意:需求:   Json文件存在服务器上,Unity要获取并解析它。原理:   通过UnityWebRequest类获取服务器文本的功能,把Json文件传输到本地。  再通过写好的解析类、Unity自带的JsonUtility.FromJson()

2022-04-07 14:55:45 4212 5

原创 Unity给 曲面游戏物体 换图片

需求:一个曲面模型,它显示的图案是模型上材质球的主贴图,我们要给它换成需要的图。原理:改变模型上材质球的主贴图一、手动换  找到目标材质球(图一),对材质球的主贴图做修改(图二,给红框处拖入一张新的图片)二、用代码换  ChangeMainTextureOfMaterial.cs脚本放在模型“123”上,如红箭头指示,把模型和目标图片拖给脚本using System.Collections;using System.Collections.Generic;using UnityEng.

2022-04-02 19:04:24 4814 4

原创 Unity改变脚本执行顺序

文章目录Part1 默认顺序Part2 人为排序Part1 默认顺序有四个立方体,依次加脚本1,脚本2,脚本3,脚本4,脚本执行顺序是4,3,2,1——后加的脚本,先执行(貌似脚本的存储结构是“栈”)误区一:认为按,脚本所在游戏物体,在层级视图位置,由底部向上部执行。误区二:认为按,游戏物体创建的顺序,后创建的先执行。Part2 人为排序Edit——>Project Settings——>Script Execution Order——>面板右下,点“+”号,选择脚本(下图中

2022-03-28 18:07:04 3024

原创 Unity播放服务器端视频 发布到Android移动端

文章目录一、架构二、制作过程1、导入AVProVideo1.10.1后,会有Bug2.在Unity制作播放视频的场景,并加上服务器地址三、发布一、架构 用AVProVideo插件播视频 Unity版本 :Unity2020.3.21f1 AVProVido版本:AVPro Video 1.10.1.unitypackage (AVProVido链接:https://pan.baidu.com/s

2022-03-25 15:53:48 7985 2

原创 【阅读】《人生五大憾事复盘》

原文如下。

2022-03-02 00:14:14 257

原创 红番茄(VS2017)两个注意点

红番茄破解版(VS2017)两个注意点1.找不到VS版本对应的“红番茄破解版”2.找不到VA_X.dll文件3.代码显示效果图1.找不到VS版本对应的“红番茄破解版”寻找VisualStudio版本(2010、2012、2017、2019)对应的——“红番茄”插件(破解版)比如我用的是VisualStudio2017,找到的可用“红番茄破解版”网盘链接如下链接:https://pan.baidu.com/s/1F1zEuaP0mX4haUI6Hv6FhQ提取码:20222.找不到VA_X.dl

2022-02-17 22:55:47 497

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除