当前位置: 首页 > news >正文

【Unity VR开发】结合VRTK4.0:创建滑块

语录:

只有经历地狱般的磨练,才能炼出创造天堂的力量。


前言:

滑块是一个非常简单的控件,它允许通过沿有限的驱动轴滑动 Interactable 来选择不同的值。我们将使用线性驱动器创建一个滑块控件,该控件允许我们根据与滑块上的位置关联的特定值更改游戏对象的颜色。


正文:

步骤一:

      新建一个空物体,并将其重新命名,用来放置我们的滑块:

步骤二:

       新建一个Cube,修改它的基本属性并将其重新命名,然后将碰撞器关闭,最后将Cube复制5个,修改其位置:

 步骤三:

        在Slider下面新建我们的滑块游戏对象:

Tilia -> Prefabs -> Interactions -> Controllables -> PhysicsJoint -> Interactions.LinearJointDrive

 然后查找到自带的Cube将其大小调整为0.1:

 然后设置Interactions.LinearJointDrive的基本属性:

 步骤四:

         新建一个球的游戏对性,并修改它的位置以及大小:

 步骤五:

       我们需要写一个脚本,用来允许滑块位于特定位置时更改游戏对象的颜色:

using UnityEngine;public class ColorChooser : MonoBehaviour
{public MeshRenderer target;public Color[] colors = new Color[0];public void SetColor(float index){if (index < 0 || index >= colors.Length){return;}target.material.color = colors[(int)index];}
}

步骤六: 

        将我们写好的脚本拖放到新建的球上面,并将属性值设置为组件上的属性值,然后为每个颜色元素指定三种不同的颜色选择:

 步骤七:

         将我们的球游戏对象拖放到Interactions.LinearJointDrive的组件实践监听器上,并设置其参数:

 运行Unity场景并抓住滑块立方体,然后尝试在线性轴上上下滑动它。您会注意到,立方体无法滑过驱动器的限制,当您通过某些阶梯凹口时,游戏对象将改变颜色。但是,当您释放滑块立方体时,您会注意到滑块会捕捉回原始位置,并且不会捕捉到最近的步长凹槽。

步骤八:

       我们可以通过简单地在驱动器的内部 Interactable 上添加一个事件来更新 以匹配我们所处的当前步长值,这样当滑块最终被取消抓取时,我们可以将驱动器设置为当前步长值:

 运行Unity 场景并抓住并注意访问每个缺口时颜色的变化。您还将看到,当您释放时,它将自动捕捉到最近的阶梯凹口。

http://www.lryc.cn/news/19550.html

相关文章:

  • Latex中的表格(2)
  • (七)输运定理
  • ABBYYFineReader15免费电脑pdf文档文字识别软件
  • 顺序表(超详解哦)
  • Compose-Animation高级别动画
  • c++11 标准模板(STL)(std::unordered_set)(八)
  • Python每日一练(20230225)
  • 基于博客系统的测试用例
  • C语言运算符算术运算符关系运算符
  • C语言 深度剖析数据在内存中的存储
  • MyBatis快速开发
  • 大数据常见应用场景及架构改进
  • 【华为OD机试模拟题】用 C++ 实现 - 挑选字符串(2023.Q1)
  • 程序员是世界上最理性、最睿智的群体,耶稣也反驳不了我,我说的!
  • 人工智能到底是什么?
  • 在动态规划的海洋中遨游(三)
  • enable_if模板编程实现字节序转换模板
  • 【人工智能与深度学习】基于能量的模型
  • 功能测试三年,是应该改变了
  • 基于STM32的ubuntu交叉编译环境的搭建(arm-gcc 8.2)
  • 数据结构:二叉树概念篇(算法基础)
  • 华为OD机试真题Java实现【字符串变换最小字符串】真题+解题思路+代码(20222
  • 数字化转型的企业会用低代码平台深化重塑什么形态
  • 【华为OD机试模拟题】用 C++ 实现 - 拼接 URL(2023.Q1)
  • 六千字让你明白什么是数字孪生?
  • 判断字符串是否是纯数字不包括符号(含符号显示False)isnumeric()和isdigit()
  • 计算机408考研先导课---C语言难点2
  • 682. 棒球比赛
  • 【《C Primer Plus》读书笔记】第13章:文件输入/输出
  • Datacom-HCIE考试经验分享