边策划边制作的游戏开发日志(二)引入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是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 日志中 Marker 的使用示例详解

《Java日志中Marker的使用示例详解》Marker是SLF4J(以及Logback、Log4j2)提供的一个接口,它本质上是一个命名对象,你可以把它想象成一个可以附加到日志语句上的标签或戳... 目录什么是Marker?为什么使用Markejavascriptr?1. 精细化的过滤2. 触发特定操作3

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版