Unity3d 实现节奏空间(Beat Saber)核心玩法模型切割功能源码

  • 前言

前言

之前公司的VR设备上安装了这个爆款音游,体验了几把后,感觉真的不错;加之现在很多短视频平台有各种玩游戏过程的合成视频,很多人都争着体验这款游戏。
作为开发者肯定是想着怎么实现这款游戏的功能,其实它的难点应该是在光剑切分模型上面,笔者在网上呢也找到了实现这一核心功能的插件,于是就花了十几分钟做了一个很简单粗糙的demo分享给大家。

# 运行效果

# 下载插件

GitHub地址:https://github.com/DavidArayan/ezy-slice

下载解压后直接将EzySlice文件夹放置工程目录下。

# 编写代码

重点就是在对象接触到光剑(这里用个红色条状cube替代了)时,被切分了。
核心代码如下:

 private void OnTriggerEnter(Collider collision){if (collision.gameObject.tag == "CutItem")    //标签判断一下,以防误切{collision.enabled = false;    SlicedHull hull = collision.gameObject.Slice(this.transform.position, this.transform.up); //切割模型GameObject part1 = hull.CreateUpperHull(collision.gameObject, CutMat); //生成上部分对象GameObject part2 = hull.CreateLowerHull(collision.gameObject, CutMat); //生成下部分对象part1.tag = "Untagged";part2.tag = "Untagged";     //重置一下标签,切割后的部分暂时不切了。MeshCollider Ucl = part1.AddComponent<MeshCollider>();   MeshCollider Lcl = part2.AddComponent<MeshCollider>();Ucl.convex = true;Lcl.convex = true;Rigidbody rig1 = part1.AddComponent<Rigidbody>();Rigidbody rig2 = part2.AddComponent<Rigidbody>();  Destroy(collision.gameObject); //销毁被切对象Destroy(part1, 3);  //3秒后销毁Destroy(part2, 3);}}

Unity3d 实现节奏空间(Beat Saber)模型切割功能项目工程源码。相关推荐

  1. Unity3d制作一个简单粗暴的五子棋项目工程源码

    Unity3d制作一个简单粗暴的五子棋 最终效果 项目源码 绘制棋盘 绘制构思 绘制代码 效果图 放置棋子 功能和效果 功能 效果 制作棋子 定义类和类型 棋子类型 棋盘格类 实现功能 初始棋盘格数据 ...

  2. Unity3d C#模仿实现王者荣耀英雄禁用灰化(黑白化)功能含工程源码

    效果 直接上效果,如下动图: 实现 这个功能的操作是在用户选中英雄头像后,将头像灰化,即将UI的图片进行黑白化,这里主要通过着色器来实现,因为个人着色器操作不是很多,都是借鉴网上的代码实现. 着色器 ...

  3. Unity3D果汁店模拟经营完整项目工程源码

    Fruit Juice Maker, Complete Time Management Game Kit Did you ever dream of owning and managing a sma ...

  4. COST231_hata模型信道仿真matlab编程源码程序

    1.问题描述: COST231_hata模型信道仿真matlab编程源码程序 2.部分程序: %%%%%%%%%%%%%%%hata传播模型%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  5. COST231_hata模型信道仿真matlab编程源码

    %%%%%%%%%%%%%%%hata传播模型%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%适用条件f=1500-2300MHz;Hb ...

  6. Unity3d C# 实现UGUI 输入框调用软键盘输入的完整功能(含工程源码,适用触屏一体机等)

    前言 如题的需求经常会在甲方的需求中出现,比如一体机上,大多客户会不选择键盘和鼠标,因为觉得比较low的可能.自己弄一个内置UI键盘的话也是可行的,只不过可能就英文输入好实现,实现带中文的输入可能就比 ...

  7. 使用Ezy-Slice插件实现类似Beat Saber的模型切割效果(一)

    简单地手动实现模型切割效果 为了更清楚的了解插件是如何使用的,我们先看看如何手动实现这样的切割效果. 1.在Github上下载插件ezy-slice. 地址:https://github.com/Da ...

  8. 电子琴节奏包制作_XR情报局:如何在网页端轻松制作Beat Saber关卡?

    小青|编辑 大家好,"XR情报局"第六期又和大家见面啦!今天将向大家分享:如何快速简单地制作<Beat Saber>关卡. 我要分享的方法对于不熟悉游戏mod制作的小白 ...

  9. 玩法专利获批,发布4年《Beat Saber》为何持续火爆

    从2018年首次上线以来,<Beat Saber>被大家爱了4年多,直到现在热度未减,依然是史上最赚钱的VR游戏之一.该作最开始的概念,就是用红.蓝两色的光剑,根据箭头方向和节奏去切方块, ...

最新文章

  1. mysql中leave和_MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法
  2. js中两个对象的比较
  3. DayDayUp:教你一招如何在道客巴巴免费下载自己被侵权的文章
  4. caffe源码解析—image_data_layer层
  5. Android开发之EditText无法获取光标的问题
  6. 零基础入门NLP - 新闻文本分类,正式赛第一名方案分享
  7. matlab multithreading spyder,spyder和python的关系是什么
  8. oracle rac openstack,利用 Chef 实现 OpenStack 块存储多节点的自动化部署
  9. iTerm2 + oh my zsh +agnoster 打造最强Mac终端
  10. ubuntu下的jdk进行升级_Ubuntu下JDK升级1.7
  11. Mysql8.0.12解压版安装亲测(步骤超级简单)
  12. C#winform连接Access数据库方式
  13. 算法设计思维导图(算法设计与分析第二版)
  14. 华为USG6000v防火墙双机热备综合实验
  15. 有趣好玩的python编程网站
  16. Prioritizing Web Usability
  17. java贪吃蛇课程设计知乎_Java课程设计---贪吃蛇大作战
  18. nexus 启动报错 The nexus service was launched, but failed to start
  19. closest()方法简介
  20. -atime、-ctime、mtime、-newer

热门文章

  1. Java中outer标签的用法
  2. 微任务,宏任务,DOM渲染的执行顺序
  3. 端午节,我用Python画了一盘粽子
  4. ppt教学课件制作的原则、规律和授课技巧
  5. 如何做一个基于微信校园跑腿小程序系统毕业设计毕设作品
  6. Windows 10新功能
  7. UVa Problem 10041 Vito’s Family (Vito 家族)
  8. SAP 创建可选BOM的BAPI
  9. linux调度器并发,12 Go 并发调度器模型
  10. QQ跨站漏洞巧利用一例【强迫别人帮你买QQ秀】【应该以失效】