边策划边制作的游戏开发日志(二)引入Unitychan的舞蹈

2024-02-17 06:50

本文主要是介绍边策划边制作的游戏开发日志(二)引入Unitychan的舞蹈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Unitychan官方项目里有一个完整的舞蹈项目,里面有很多很炫的特效,里面的特效还会根据音效来做出反应。我摸索了一番这个项目,决定把它的舞台和舞蹈搬到自己的游戏中来。

这个项目的场景和人物都是运行的时候再加载到场景中的,一些参数也是动态加载的,运行后会根据一些动画机内置的事件来触发镜头的切换,人物嘴型的切换等。
首先是移植UnityChan的状态机,这是原先的状态机

原来有三层,第一层控制全身动作,第二层控制脸型,第三层控制手指动作,我将其移到我原先的状态机中
在这里插入图片描述

同时,那个开源项目在代码里设置了状态机层级的权重,我相应的修改了这些层级次序和权重,以便和我自己的动画适配。
原项目通过这个动画来控制嘴型在这里插入图片描述
,我也一并移植到了我的项目。
我修改了触发舞蹈的条件,以及舞蹈结束的处理。此时我的项目中已经可以让Unitychan跳舞了。但是没有分镜和场景,效果和原项目差了一大截。

我把原项目用于生成这些的代码给搬了过来并进行一翻魔改以适配我的项目,让场景在一开始就生成但不触发动画事件和一些其他的事件,然后再将舞台的一些材质的shader修改成了双面Shader,这样从外面看舞台时不是透明的了。
在这里插入图片描述
上图是原先的shader,
在这里插入图片描述
这是用双面shader后的效果。
在这里插入图片描述
这是没有激活的舞台内部。
在这里插入图片描述
这是激活后的。

在这里插入图片描述
通过切换相机,将在跳舞时的主相机设成原项目里的相机,把原来的分镜效果也移过来了。
在这里插入图片描述
后面这个大屏幕是通过另一个移动的相机来渲染一个纹理得到的,上面的条形效果用到了他自写的shader,混合了一张条纹图片。以前做小地图也用到了这种技术。

在这里插入图片描述
舞台上的蜂巢光圈和红色旋转光圈会根据音效来变换效果,这里用到了作者自己写的很复杂的shader。

舞蹈跳完后Unitychan又可以自由活动了,同时也能再回到舞台上舞蹈。

在这里插入图片描述
同时我用ProBuilder来装饰了一下舞台,加了个平台和梯子不然Unity酱上不去。。当然ProBuilder还有很多功能,可以直接用来做类似纪念碑谷的关卡。

这次就先做到这里,之后可能会发展示视频在B站。

这篇关于边策划边制作的游戏开发日志(二)引入Unitychan的舞蹈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716995

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

SpringBoot如何使用TraceId日志链路追踪

《SpringBoot如何使用TraceId日志链路追踪》文章介绍了如何使用TraceId进行日志链路追踪,通过在日志中添加TraceId关键字,可以将同一次业务调用链上的日志串起来,本文通过实例代码... 目录项目场景:实现步骤1、pom.XML 依赖2、整合logback,打印日志,logback-sp

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE