【Unity VR开发】结合VRTK4.0:指针样式修改

在战略上要藐视敌人,在战术上要重视敌人 


前提:

        当我们面对一个新的东西时,我们往往有自己的想法,想在原来的基础上进行一些功能上,或者视觉上的优化,替换,而不懂原理的又会带来不必要的麻烦,那就是BUG,而我们发射射线,这里不管是抛物线还是直线,想让那个线变得好看而又不导致功能出现问题,那么怎么办呢,今天,我就带大家探索一下,这个指针样式如何进行修改。原理介绍给大家,然后大家自行进行工程中修改。

        因为直线与抛物线的组成层是一样的,我们就以直线为准,进行简单的探索。


 当我们展开直线,他的下面有个线的模型:ELements,而我们再展开,ELements下有3个子物体,分别是:Origin(起点),RepeatedSegment(中间段,也就是我们所谓的中间那段长的线),Destination(终点)。【Unity VR开发】结合VRTK4.0:指针样式修改_第1张图片

3个子物体下面都有两个对应的模型,分别是:ValidContainer,InvalidContainer。

ValidContainer:碰撞到可交互的物体会显示并为绿色;

                         ----------子物体ValidCude:我们需要替换的正是这个模型,删除这个最初的模型,替换成我们想要的即可(不要忘记这个模型上面不可以有碰撞体)。

【Unity VR开发】结合VRTK4.0:指针样式修改_第2张图片

InvalidContainer:碰到不可交互或者没有碰撞到物体会显示并显示红色;

                          ----------子物体ValidCude:我们需要替换的正是这个模型,删除这个最初的模型,替换成我们想要的即可(不要忘记这个模型上面不可以有碰撞体)。

【Unity VR开发】结合VRTK4.0:指针样式修改_第3张图片

 替换完成后你以为就OK了,不,这还只是替换,我们虽然完成了替换,但是,他们的显示,隐藏,以及变化是如何控制的呢,接下来我们来看:Indicators.ObjectPointers.Straight(直线)下面还有一个子物体为:PointerElements,它的下面有3个子物体,正是对应了上面的起点,中间段,终点。

 【Unity VR开发】结合VRTK4.0:指针样式修改_第4张图片

 每一个子物体上面都有一个代码:PointerElement,它的作用正是控制上面的3个类型模型的显示隐藏以及变化,我们替换了上面的ValidCube和InvalidCube以后,就需要在下面进行指定,这样我们的指针样式就成功的替换看。

【Unity VR开发】结合VRTK4.0:指针样式修改_第5张图片

 我们可以看到这个代码下有一个参数:ElementVisibility。

ElementVisibility:控制模型的显示状态,分为三种:On When Pointer Activated(激活状态下显示出来),Always On(一直显示),Always Off(一直隐藏)。

【Unity VR开发】结合VRTK4.0:指针样式修改_第6张图片

我们可以根据自己的需要进行设置。


你可能感兴趣的:(VR,unity,VRTK,vr)