一个人,仅30天!开发一款3D竞技足球游戏!他究竟经历了些什么?

news2024/11/16 9:45:53

今天,晓衡向大家推荐一款Coco Store 优质 3D足球竞技游戏 资源《足球快斗》

玩法介绍:游戏为 7V7 足球竞技类玩法。玩家控制本队的一个球员(脚下高亮圆圈显示的是玩家),其他球员和守门员为电脑AI控制,期间可以玩家可以换人(A按钮换人,可以换到离球最近的本队球员),最后5分钟内进球多的队伍获胜,一样分数则为平局。

0034471f0b9f8feef1908077dbe6be99.jpeg

游戏是由 Cocos Creator3.6.2 引擎开发,作者 Rock 已经将游戏上架 Cocos Store与微信小游戏,以下是 Rock 的分享,希望对你有所帮助和启发!

01 角色

游戏开发,对于像我这样的个人开发者来说,最缺的就是可商用的模型资源!由于本人非美术出身,只能说弄的越简单越好,那就先从人物设计下手:

8c98c603d929d8d5cd1903b0e0062329.png

设计好模型后上色,我没有用贴图,因为要上微信小游戏,尽量让资源更小,直接给面设置材质ID,然后赋给不同的颜色就行了:

a1f91d7b6e76e7c9ef71531dce3f2d47.png

面部贴了一个平面上去用于贴表情,这么做的好处是以后可以动态换表情c788e0c03244a26c3bc9bc9d01dcbefe.png,只需要变换面部贴图就行了,当前面部就简单的画了一个表情:

59b227bc21eb56728b9979aa9c7f1afc.png

02动作

接来来是重头戏,人物动作设计,当然少不了这个良心网站 mixamo!

5d325f1854814b1b7d1521dae8e625c3.png

只需要上传做好的模型,在模型上选几个关键位置,网站可以智能的给模型绑定骨骼,不用自己做骨骼,蒙皮,刷权重了。

甚至网站上有各种动作可以直接赋给模型,然后保存成 FBX 格式就可以导入CocosCreator 使用。或者你也可以使用其他 3D 软件再做修改,重点是全部免费,现在很多游戏的人物动作都是从这里下载的。

bacc4f82472b933a80b49864cb400493.png


03 场景

好不容易搞定人物,然后开始在 Blender 中手撸游戏场景素材,不到一周时间建模水平直线上升!

c6634e6bd82daf28978e65cae2202d11.png房子‍690c9847fc016ff29bc7066543edafa0.png看台b0cb936a2d11e73d7c3175ea97444436.png球门c5cf1fdc742842848edef0f5ef778a2f.png围栏

场景是各个部分做好之后在 Cocos Creator 中拼凑而成的,据说这样对性能不是很好。最好就是整个场景做好再一起导入引擎,但是我还是喜欢在 Creator 引擎里搭建,秉着自己能干的活不麻烦别人的原则嘛。

所有能用方块拼凑的模型我都用 Cocos Creator 自建MESH来做了,最后搭好的样子,感觉还不错吧!

fa677774a4e6eb2cc95c8d55f1f45a2d.png

 
04 技术要点

游戏代码这次分享就不贴了,整个游戏没有用物理引擎,都是 碰撞检测 手撸运动逻辑,主要难点有:

    • 球的滚动

    • 抛物线远射

    • 碰到物体反弹

    • 人物的运动

    • 守门员逻辑

这里要多说两句,因为这是一个 3D 的游戏,守门员逻辑是最为繁琐的。不单单要守地面的球,还有来自空中各个方向的球,这就要守门员预先判断球的运动轨迹然后堵截它。

好了,以上就是我用 Cocos Creator 3.6.2 开发这个3D足球小游戏的心得,总体来讲还是挺顺利的,没遇到什么大问题。后续我会将该游戏相关技术细节再做分享。

游戏已经上架微信小游戏,支持微信小游戏代码授权,有想上其他平台的小伙伴可以购买源码自行适配。

后续还会持续更新迭代这个游戏,还请大家多多支持!

28b5c6dd2053ae3b58a4a1d70db51ce1.jpeg

扫码进入游戏

在此感谢 Rock 的分享,晓衡邀请作者参与 Cocos Store 双12活动,从今天12月7日 ~ 12月12日 期间《足球快斗》 6.6折上新促销!

cefca8598c11615b179f6baae2968d3f.jpeg

商城链接:
https://store.cocos.com/app/detail/4340

Cocos官方微店:
https://weidian.com/?userid=1157275030

往期精彩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/70999.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jvm上如何运行其他语言?JSR223规范最详细讲解

一 在Java的平台里,其实是可以执行其他的语言的。包括且不仅限于jvm发展出来的语言。 有的同学可能会说,在java项目里执行其他语言,这不吃饱了撑着么,java体系那么庞大,各种工具一应俱全,放着好好的java不…

责任链模式在复杂数据处理场景中的实战

相信大家在日常的开发中都遇到过复杂数据处理和复杂数据校验的场景,本文从一线开发者的角度,分享了责任链模式在这种复杂数据处理场景下的实战案例,此外,作者在普通责任链模式的基础上进行了升级改造,可以适配更加复杂…

34_DAC原理及数模转换实验

目录 数模转换原理 DAC模块框图 事件选择控制数字模拟转换 DAC转换 DAC数据格式 选择DAC触发 DAC输出电压计算 硬件连接 DAC配置步骤 实验源码 数模转换原理 STM32的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为8位或12位模式,也可以与…

linux安装nginx

1.nginx官网 http://nginx.org/en/download.html 下载安装包,如图所示下载nginx-1.23.2,并上传到指定目录:/usr/local/src/nginx 2.解压 tar -zxvf nginx-1.23.2.tar.gz3.安装nginx, cd /usr/local/src/nginx/nginx-1.23.2 该目录…

Titanic 泰坦尼克数据集 特诊工程 机器学习建模

以下内容为讲课时使用到的泰坦尼克数据集分析、建模过程,整体比较完整,分享出来,希望能帮助大家。部分内容由于版本问题,可能无法顺利运行。 Table of Contents 1 经典又有趣的Titanic问题1.1 目标1.2 解决方法1.3 项目目的2…

Vector-常用CAN工具 - CANoe入门到精通_03

NetWork Node 前面已经介绍了CANoe的基本情况、硬件环境搭建、CANoe软件环境配置,今天我们就来聊一下NetWork Node,在我们的测试工作中,大部分情况我们默认CANoe作为一个Client端,但是有些情况,我们需要实时监测被测件…

Akka 学习(四)Remote Actor

目录一 介绍1.1 Remote Actor1.2 适用场景1.3 踩坑点二 实战2.1 需求2.2 Java 版本2.2.1 效果图2.2.2 实体类2.2.3 服务端Actor 处理2.2.4 服务端配置文件2.2.5 客服端Actor处理2.2.6 客服端配置文件2.2.7 测试2.3 Scala 版本2.3.1 效果2.2.3 服务端Actor处理2.3.4 客户端Actor…

使用 Excel 数据透视表深入研究数据分析

问题 1(文章数据在底部) 为美国选民案例研究创建一个数据透视表,并用它来回答以下问题: A) 有多少个州的选民人口百分比低于 55%?哪些州? 答:有5个州的选民人数低于55%,分别是得克萨斯州、阿肯色州、俄克拉荷马州、夏威夷州和西弗吉尼亚州。 步骤:根据以下结果,创建…

基于jsp+java+ssm的社会保险信息管理系统-计算机毕业设计

项目介绍 课题研究的基本内容及预期目标或成果 用户注册与登录功能,在单位注册功能中有申请管理功能,填写具体信息。 系统管理员: 1)个人密码修改:实现了管理员用户密码信息的修改。 2)参保人员管理&a…

ORACE dbca创建报错Oracle system identifier(SID) “orcl“

最近项目需要通过备份恢复oracle实例,必须使用orcl,通过dbca创建实例是提示如下报错: 查看日志,$ORACLE_HOME/cfgtoollogs/dbca/dbcaui.log EVERE: [FATAL] A database instance with Oracle system identifier(SID) "orcl&…

零基础入门推荐系统 - 新闻推荐 - 实操2

内容导航: 零基础入门推荐系统 - 新闻推荐 - 实操2比赛数据分析:用户属性分析:训练集和测试集中分别有多少用户?用户城市分布有什么规律?平均每个用户会点击多少个文章?点击来源与文章点击次数是否存在关联?用户行为分析:零基础入…

【车载开发系列】UDS诊断---读取周期标识符($0x2A)

【车载开发系列】UDS诊断—读取周期标识符($0x2A) UDS诊断---读取周期标识符($0x2A)【车载开发系列】UDS诊断---读取周期标识符($0x2A)一.概念定义二.报文格式1)请求报文2)初始响应3…

[附源码]计算机毕业设计课程在线测评系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

打破信息壁垒,提升业务水平,纷享销客CRM带给木链科技不一样的体验

步入数字化时代,企业业务模式和员工工作方式日新月异,传统协作方式很显然已经难以适应当前的需求,企业亟需一种新的面向信息化的协作方式,以提高工作效率,提升业务水平。 这样的挑战也发生在工业互联网安全企业&#…

Oracle一次获取多个序列值

Oracle一次获取多个序列值SQL 语句一次获取多个序列值获取序列中的多个值connect by level 生成多行数据JDBC 一次获取多个序列值MyBatis 一次获取多个序列值SQL 语句一次获取多个序列值 获取序列中的多个值 创建序列 CREATE SEQUENCE test_user_seq;获取一个序列值 SELECT…

Linux系统(Centos 7)配置DNS客户端

配置DNS客户端 DNS 客户端的配置非常简单,假设本地首选DNS服务器的IP地址为192.168.10.1,备用DNS 服务器的IP地址为192.168.10.2,则 DNS客户端的设置如下。 配置Windows 客户端 打开“Intermet 协议(TCP/IP)”属性对话框&a…

8_3、Java基本语法之线程的生命周期与同步

一、线程的生命周期 JDK中用Thread.State类定义了线程的几种状态 要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类 及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态: 新建: …

基于ARIMA、SVM、随机森林销售的时间序列预测

如今DT(数据技术)时代,数据变得越来越重要,其核心应用“预测”也成为互联网行业以及产业变革的重要力量。最近我们被客户要求撰写关于销售时间序列预测的研究报告,包括一些图形和统计输出。对于零售行业来说&#xff0…

Elsevier(爱思唯尔)LaTex 模板详细说明

Elsevier 模板的使用 官方网站提供的 Latex Instructions,Elsevier 模板下载地址:elsarticle-template.zip [ 如果不了解文档类的作用,可以参考:documentclass ] Elsevier 提供了 3 种自定义的文档类: elsarticle…