关于unity中steamvr_controller.input的错误

author author     2022-08-13     439

关键词:

当我在看某鸥的视频的时候,里面讲到用Unity做一个贪食蛇后,加入SteamVR插件,并且能用手柄控制蛇的移动.当我跟着上面一步一步做的时候,发现我代码都写完后,启动报错,而视频里面的老师讲的缺没有报错.后来我修改了一下原本报错的是这句:

var device = SteamVR_Controller.Input((int)track.index);//track是手柄上的SteamVR_TrackObject脚本

报错的提示是这样的:

ndexOutOfRangeException: Array index is out of range.
SteamVR_Controller.Input (Int32 deviceIndex) (at Assets/SteamVR/Scripts/SteamVR_Controller.cs:151)

 

我的修改:

var deviceIndex=SteamVR_Controller.GetDeviceIndex (SteamVR_Controller.DeviceRelation.Leftmost);//获取左手手柄的设备索引
var device = SteamVR_Controller.Input(deviceIndex);

这样改完后发现贪食蛇不报错了,可以运行了.

 

关于unity中shader的使用

在游戏的开发过程中,程序员不太会自己去写shader,因为写起来很麻烦,而且只有Unity会报错,编译器也没有什么提示。通常是拿别人的shader改一改,当然,程序员还是要能看懂和会一点shader  Unity坐标系转换1:transform.local... 查看详情

关于在unity中使用序列帧动画

//动画数组publicobject[]anim;//限制一秒多少帧publicfloatfps=30;//帧序列privateintnowFram;//记录当前时间privatefloatswitchTime;publicstringpath="Texture/33";publicboolisLoop=false;publicImageimage;publicTexture2Dtexture;v 查看详情

关于unity中粒子效果的使用

粒子效果1:游戏中会有很炫酷的特效,比如爆炸,水花,火焰等;2:unity提供粒子编辑器,方便特效人员来开发很炫酷的特效;3.粒子效果一般有专门的粒子特效师来做,我们只需要拿来用就好了,很多参数没必要掌握。 ParticleSystem... 查看详情

关于unity中如何代码动态修改天空盒

在Unity中动态修改天空盒有两种方法:一、为每个Texture建立天空盒材质球,需要更换时直接将对应材质球作为天空盒,缺点是建立的材质球太多 privatevoidChangeSkybox(MaterialnewSkybox){RenderSettings.skybox=newSkybox;} 二、只创建一个... 查看详情

关于unity中摇杆的操作

之前在解决摇杆控制角色的时候使用的是RPG游戏中主角的运动方式,有八个方向,最近找到一个新的方法,可以比较流畅地控制角色各个方向的移动步骤1.EasyTouch插件,角色控制器组件 2.在控制角色运动的脚本的Update方法中fl... 查看详情

在 Unity 中,关于 sprite sheet 切片的数据存储在哪些文件中?

】在Unity中,关于spritesheet切片的数据存储在哪些文件中?【英文标题】:InUnity,inwhatfilesisdataaboutspritesheetslicingstored?【发布时间】:2014-12-1601:08:40【问题描述】:我在Unity中有一些精灵表,它们已使用IDE中的精灵编辑器进行了切... 查看详情

关于unity中场景的导入与导出

场景虽然是由场景美术做好的,但是我们经常需要自己去导导出以及从别的项目导入,所以我们需要对场景的导入和导出有一个详细的了解 Unity场景1:场景是由美术人员搭建完成后提交给程序;2:场景一般包括了地形,创建物体,... 查看详情

关于unity中渲染顺序问题

1,Camera是渲染顺序的最大总指挥顺序由Camera的Depth值决定,值越小视野范围内的游戏物体越先渲染2,layer是对游戏中所有物体的分类别划分如UIlayer,waterlayer,3DModelLayer,smallAssetsLayer,effectLayer等。将不同类的物体划分到不同的层,便... 查看详情

关于unity中植物树木烘焙后没有影子的解决方法

模型的Lighting下方会报一个meshusedbytherendererdoesn‘thavenormals.normalsareneededforlight的警告更改模型属性中normals的none改为import完美解决  查看详情

关于unity中坐标系的种类

坐标空间1:物体空间:3D物体自己的坐标空间一般设计时几何体以中心为原点,人物以双脚为原点;2:世界空间:3D物体在场景中的世界坐标,整个游戏场景的空间;3:摄像机空间:以观察摄像机为原点的坐标系下的坐标空间;4:投影成像3D坐... 查看详情

关于unity中ui中的button节点

Button是最常用的UI节点,包含的组件有1.Image组件显示Button的纹理,把Image贴图拖进Image组件中后,记得点击SetNativeSize,显示贴图原始大小 2.Button组件Interatable:打钩表示按钮可以被点击和交互,取消钩表示不能被点击和交互。... 查看详情

关于unity中shader的使用

Shader也叫着色器,是Unity里面比较难的一个点 1:Shader是给GPU执行的程序,中文叫做着色器;2:着色器是运行在图形处理单元上,可以让开发人员直接操作图形硬件渲染功能;3:shader能开发出很多好的效果,UV动画,水,雾等一些特... 查看详情

关于unity中recttransform和transform

以前一直以为在Inspector面板上的是Transform,后来才发现原来是RectTransform 而我们平时用来联系节点之间的Transform其实是隐藏的组件,不在面板上显示,面板上显示的是位置坐标组件RectTransform,RectTransform是Transform的子类 可... 查看详情

关于unity中物理引擎的使用

物理引擎控制刚体,刚体上面贴上图片,所以看起来就是游戏运行起来的状态物理世界计算刚体的运行状态,通过贴图显现出运算结果。一、物理引擎1:Unity2D物理引擎基于Box2D封装而成;2:物理引擎模拟物理运动和计算,物理引擎... 查看详情

关于unity中新版动画系统的使用

Mecanim动画1:旧版动画系统只能通过代码来控制动画播放,随着动画种类变多,代码复杂度也会增加,同时动画过渡也需要非常繁琐的代码控制,为了让有经验的动画师开发动画,unity推出了针对人物角色的Mecanim动画系统;2:Mecanim支持... 查看详情

关于unity中定时器的简易使用

 定时器一段指定的时间后执行某个函数或者某个语句  用法//定时器写法1flaottotal_time;voidUpdate(){  this.total_time+=(Time.deltaTime);  if(total_time>=5)//5秒后停止  {    return;  }}  //定时器写法2voidHello(){}th... 查看详情

关于unity中ngui图片精灵响应鼠标的方法

我在Unity里做NGUI的时候发现一个问题。在Unity2D场景当中,一个精灵图片只要加上了BoxCollider或者BoxCollider2D,就可以相应OnMouseEnter和OnMouseExit事件,而到了NGUI里就不能响应了。这真是一个大坑虽然说NGUI提供了按钮组件,但是如果... 查看详情

关于unity中变量的定义

1.匀速运动的物体都要记得定义一个speed速度变量 2.不断产生很多相同物体的事件要记得定义时间生成物体的间隔rate,并且有一个一达到rate的值就清0的累加时间变量,累加时间变量是通过Time.Deltatime来累加的。 3.bool变量... 查看详情