Unity3d 实现节奏空间(Beat Saber)模型切割功能项目工程源码。
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)模型切割功能项目工程源码。相关推荐
- Unity3d制作一个简单粗暴的五子棋项目工程源码
Unity3d制作一个简单粗暴的五子棋 最终效果 项目源码 绘制棋盘 绘制构思 绘制代码 效果图 放置棋子 功能和效果 功能 效果 制作棋子 定义类和类型 棋子类型 棋盘格类 实现功能 初始棋盘格数据 ...
- Unity3d C#模仿实现王者荣耀英雄禁用灰化(黑白化)功能含工程源码
效果 直接上效果,如下动图: 实现 这个功能的操作是在用户选中英雄头像后,将头像灰化,即将UI的图片进行黑白化,这里主要通过着色器来实现,因为个人着色器操作不是很多,都是借鉴网上的代码实现. 着色器 ...
- Unity3D果汁店模拟经营完整项目工程源码
Fruit Juice Maker, Complete Time Management Game Kit Did you ever dream of owning and managing a sma ...
- COST231_hata模型信道仿真matlab编程源码程序
1.问题描述: COST231_hata模型信道仿真matlab编程源码程序 2.部分程序: %%%%%%%%%%%%%%%hata传播模型%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- COST231_hata模型信道仿真matlab编程源码
%%%%%%%%%%%%%%%hata传播模型%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%适用条件f=1500-2300MHz;Hb ...
- Unity3d C# 实现UGUI 输入框调用软键盘输入的完整功能(含工程源码,适用触屏一体机等)
前言 如题的需求经常会在甲方的需求中出现,比如一体机上,大多客户会不选择键盘和鼠标,因为觉得比较low的可能.自己弄一个内置UI键盘的话也是可行的,只不过可能就英文输入好实现,实现带中文的输入可能就比 ...
- 使用Ezy-Slice插件实现类似Beat Saber的模型切割效果(一)
简单地手动实现模型切割效果 为了更清楚的了解插件是如何使用的,我们先看看如何手动实现这样的切割效果. 1.在Github上下载插件ezy-slice. 地址:https://github.com/Da ...
- 电子琴节奏包制作_XR情报局:如何在网页端轻松制作Beat Saber关卡?
小青|编辑 大家好,"XR情报局"第六期又和大家见面啦!今天将向大家分享:如何快速简单地制作<Beat Saber>关卡. 我要分享的方法对于不熟悉游戏mod制作的小白 ...
- 玩法专利获批,发布4年《Beat Saber》为何持续火爆
从2018年首次上线以来,<Beat Saber>被大家爱了4年多,直到现在热度未减,依然是史上最赚钱的VR游戏之一.该作最开始的概念,就是用红.蓝两色的光剑,根据箭头方向和节奏去切方块, ...
最新文章
- mysql中leave和_MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法
- js中两个对象的比较
- DayDayUp:教你一招如何在道客巴巴免费下载自己被侵权的文章
- caffe源码解析—image_data_layer层
- Android开发之EditText无法获取光标的问题
- 零基础入门NLP - 新闻文本分类,正式赛第一名方案分享
- matlab multithreading spyder,spyder和python的关系是什么
- oracle rac openstack,利用 Chef 实现 OpenStack 块存储多节点的自动化部署
- iTerm2 + oh my zsh +agnoster 打造最强Mac终端
- ubuntu下的jdk进行升级_Ubuntu下JDK升级1.7
- Mysql8.0.12解压版安装亲测(步骤超级简单)
- C#winform连接Access数据库方式
- 算法设计思维导图(算法设计与分析第二版)
- 华为USG6000v防火墙双机热备综合实验
- 有趣好玩的python编程网站
- Prioritizing Web Usability
- java贪吃蛇课程设计知乎_Java课程设计---贪吃蛇大作战
- nexus 启动报错 The nexus service was launched, but failed to start
- closest()方法简介
- -atime、-ctime、mtime、-newer