这个教程我们学习如何实现载具的驾驶

一、准备工作

  1 最简单的载具驾驶需要至少两个元素,一是需要一个载具,二是需要一个前进的按钮(这里我们只做前进功能),为了直观的能感受到载具的移动,我们还得创造一个参照物。

  2 根据前面的教程,新建一个project,导入SDK,

  3 模型素材(碎石空间.rar)可以在Q群581425491群文件中下载。

  4 将碎石空间导入项目(注意取消.cs和.js文件的勾选),将我们将要驾驶的悬浮岛屿和参照物拖入中间的scene窗口中。A作为要驾驶的岛屿,B作为参照物。

  5 在右侧的属性面板中将两个岛屿都放大,A岛屿放大20倍,B岛屿放大50倍

  6 将VRCWorld放到A上面去,注意位置。

二、设置载具

  1 给载具添加物理碰撞

    玩家要站在这个岛上就需要它有物理碰撞的属性,否则玩家会穿过岛屿掉到空中。

    所以选中A,右侧属性面板中“Add Component>Physics>Box Collider”,添加一个简单的box碰撞属性,使用Edit Collider调节好碰撞的范围。

  2 设置载具为刚体

    移动这个岛屿的原理就是给它添加某个方向上的力,所以要给岛屿添加刚体的属性否则不能受力。右侧属性面板中“Add Component>Physics>Rigidbody”。添加刚体属性后需要将岛屿Y轴上的受力冻结住,因为刚体会受到重力,我们没有添加地面,所以岛屿受到重力后就会掉下去,所以我们冻结住Y轴上的受力岛屿就可以浮空了。

三、设置操作按钮

  设置好载具后,我们需要一个按钮来控制载具的前进,原理是点击一下按钮就给岛屿Z轴上一个力推动岛屿向Z方向移动。

  1 添加一个按钮

    我们在左侧的面板中“右键鼠标>3D Object>Cube”创建一个方块,移动这个方块使其位于岛屿的上方,我们就把这个方块作为操作的按钮。

  2 给按钮添加触摸事件

    右侧属性面板“Add Component>Scripts>VRCSDK2>VRC_Trigger”,添加一个trigger事件。接着在右侧的VRC_Trigger属性中添加一个“OnInteract”

    在Actions中添加“Basic Events>AddForce”,接着选中AddForce,给这个Action添加一个接收的目标(Receivers),很明显,现在只有添加了刚体属性的岛屿能接收这个力。

    最后根据实际情况,设置下力度,这里我们是需要向Z轴施加力。

四、测试

  准备就绪,按之前说的方法测试一下吧,进游戏里触摸一下方块就可以了。需要注意的是因为没有空气阻力所以施加一个力后小岛会匀速向Z方向一直移动不会停下来的。如果要设置阻力的话可以设置小岛Rigidbody中的Drag属性。快去试试看吧。

更多的官方示例可以在VRCSDK>Examples>Scenes里找到

欢迎加入VRChat交流Q群:

581425491

VRChat简易教程4-使用VRC的接口实现物体的移动(VRC的action和trigger接口)的更多相关文章

  1. VRChat简易教程3-往世界里导入模型和VRC接口初探

    一.准备工作 按前面的教程新建一个project,导入sdk并创建地面(Terrain)和VRCWorld. 本教程中我们学习如何导入别人做好的模型并使用VRC提供的接口来实现物品的抓取,模型素材(小 ...

  2. VRChat简易教程2-创建一个最基本的世界(world)

    一.准备工作 1 先确保你安装了unity并导入了sdk 教程:https://www.cnblogs.com/cation/p/10311702.html 2 按之前的教程新建一个project并导 ...

  3. VRChat简易教程1-开发环境准备(SDK)

    原文:https://docs.vrchat.com/docs/setting-up-the-sdk 1 Unity 2017.4.15f1 下载地址https://download.unity3d. ...

  4. 移动开发之【微信小程序】的原理与权限问题以及相关的简易教程

    这几天圈子里到处都在传播着这样一个东西,微信公众平台提供了一种新的开放能力,开发者可以快速开发一个小程序,取名曰:微信公众平台-小程序 据说取代移动开发安卓和苹果,那这个东东究竟是干吗用的?但很多人觉 ...

  5. Ocelot简易教程(七)之配置文件数据库存储插件源码解析

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9852711.html 上篇文章给大家分享了如何集成我写的一个Ocelot扩展插件把Ocelot的配置存储 ...

  6. Ocelot简易教程(五)之集成IdentityServer认证以及授权

    Ocelot简易教程目录 Ocelot简易教程(一)之Ocelot是什么 Ocelot简易教程(二)之快速开始1 Ocelot简易教程(二)之快速开始2 Ocelot简易教程(三)之主要特性及路由详解 ...

  7. Ocelot简易教程(四)之请求聚合以及服务发现

    上篇文章给大家讲解了Ocelot的一些特性并对路由进行了详细的介绍,今天呢就大家一起来学习下Ocelot的请求聚合以及服务发现功能.希望能对大家有所帮助. 作者:依乐祝 原文地址:https://ww ...

  8. Ocelot简易教程(二)之快速开始2

    为什么这篇的标题叫"Ocelot简易教程(二)之快速开始2"呢,因为很多朋友跟我说上一篇" Ocelot简易教程(二)之快速开始1"内容太少了,只是简单介绍Oc ...

  9. Android实战简易教程-第四十枪(窃听风云之短信监听)

    近期在做监听验证码短信自己主动填入的功能,无意间想到了一个短信监听的办法. 免责声明:短信监听本身是一种违法行为,这里仅仅是技术描写叙述.请大家学习技术就可以.(哈哈) 本实例是基于bmob提供的后台 ...

随机推荐

  1. SQLAllocStmt与SQLFreeStmt

    1.申请语句句柄 SQLAllocStmt函数为应用程序分配语句句柄,其格式为:RETCODE SQLAllocStmt(HDBC hdbc, HSTMT FAR * phstmt) 其中, hdbc ...

  2. js高级面试题

    <script> //1. var foo = { bar: function () { return this.baz; }, baz: 1 }; (function () { retu ...

  3. OpenSSL Heart Bleed 如何修复

     一 . 前言  这两天这个事件沸沸扬扬啊,有了这个bug黑客在电脑前动动手指就能获取各大电商网站.各大银行用户的用户名和密码了,屌爆了 BUG具体内容 : http://heartbleed.com ...

  4. linux 安装php 然后跟nginx整合

    php-fpm安装配置 nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端. nginx一般是把请求发fastcgi管理 ...

  5. java集合 stream 相关用法(1)

    java8新增一种流式数据,让操作集合数据更简单方便. 定义基本对象: public class Peo { private String name; private String id; publi ...

  6. SQL Server快捷方式丢了怎么启动

    为了帮助网友解决“SQL Server快捷方式丢了怎么启动”相关的问题,中国学网通过互联网对“SQL Server快捷方式丢了怎么启动”相关的解决方案进行了整理,用户详细问题包括:Microsoft ...

  7. 导出Excel功能的3种实现

    项目中总会用到Excel的导出功能,接触过好几个项目,发现有个项目的导出实现特别值得学习.这里学习顺带总结一下. 一.三种方法 我遇到的导出目前有3种处理: 每个功能一个导出方法: 写一个通用的Exp ...

  8. <td></td>之间的&nbsp;

    今天开发中遇到了一个很丢脸的事:我把下图中别人写的 给去掉了,我觉得这个很多余,结果被在大神们痛斥了一顿.因为去掉这个 会导致td之间没有数据时td的边框不显示的问题,所以几下这个惨痛的教训,以自警. ...

  9. FineReport----查询功能 的知识点

    1.设置日期控件,默认当前日期 2.默认不查询 选择参数:点击查询前不显示报表内容

  10. Python SQLAlchemy基本操作和常用技巧包含大量实例,非常好python

    http://www.makaidong.com/%E8%84%9A%E6%9C%AC%E4%B9%8B%E5%AE%B6/28053.shtml "Python SQLAlchemy基本操 ...