关于Unity3d五国战争笔记

一个Unity3D制作的坦克游戏——《燃烧的地平线》 《燃烧的地平线》是一款类坦克世界/战争雷霆的第三人称载具射击游戏,是我大三学期的游戏开发基础课程期末作品,该作品使用Unity3D引擎开发。本博客旨记录开发心得,分享开发经验,以及纪念这款虽然很拉跨但是是自己独立开发的游戏。由于本人尚在学习阶段,开发手法也不是很标准,欢迎大佬们指出错误和不足。 最后需要说明的是本项目无任何商业用途。所使用模型及粒子特效来自互联网。其中模型及粒子特效采用了POLYGON的二战模型包。其余部分均由本人独立开发完成。 要讲解这个项目,先要说明我做了些什么。这是该项目大概的几个 阅读详情
五国战争视频
剧本流程:
[0-4]   初始化、五国士兵(A、B、C、D、E)
[5-9]   初始化、要用来替换五国士兵攻击动画animation
[10-14] 初始化、照相机跟随五国士兵移动的镜头
[15-19] 五国士兵分别移动到中间战场
[20-23] 五国士兵停留等待数秒(由于照相机要跟随每国士兵出城移动的画面,尽量保证同一时间抵达战场)

[24-28]五国士兵抵达中间战场,互相攻击

[29] 照相机切换到中间战场

关键技术分析:
1)关于steps[20]——steps[23]分析:  
假设照相机给每国士兵的镜头是 2s, 从第7s开始,那么如下图:
2)Backengine引擎程序入口:VideoController.cs ,时间轴步骤在Start()触发,时间轴上事件的配置是video.json

3)Backengine目前有四个基类:BaseModel、BaseController、BaseComponent、BaseWeapon,类似于Java中Object类,同一类型有些共同的变量和方法例如:init()、destory()等等。 
A)BaseModel,对外提供的一些配置信息,需要相应的配置json
B)BaseController,项目中主要是VideoController,程序的启动
C)BaseComponent,所有GameObject组件的父类,主要这个stepOver()
D)BaseWeapon,武器组件

4)关于AI组件,判断是否攻击、是否死亡、自动寻路、巡逻、攻击等等,代码上用不同的状态表示,AttackState、ChaseState、FollowState、NaviToPosiState、StaticPosi等等,不贴代码了,

5)关于导出视频:Unity官方API中CameraScreenShot.cs,对每一帧进行截屏。最后使用ffmpeg或其他软件合成视频!

建议反馈:
1. 代码很多,注释很少。 修改代码后,部分注释还没有修改
2. 武器Weapon组件,因为只有人物才有武器,建议将BaseWeapon等其他 WeaponController放在vcharacter下一个单独weapon文件夹中,目前放在controller文件夹里,但却没有继承BaseController类。 小小建议,结构上可能会好那么点!

问题:
1、为什么会有name和tag两种方式控制物体?
name是使用预设体的方式生成,只能控制一个GameObject,tag可以控制一组GameObject。
2、寻路过程中,人物移动是通过导航还是动画?
是导航,我们手动关闭动画后,会发现人物还是在位移。
3、关于IK动画、动画混合树、状态机。
学习BackEngine期间花了大量时间,因此 IK动画、动画混合树、状态机这块没有研究太多。。待我自行抽时间恶补一下!

需要学习技术点盲区:
Ik动画、动画混合树、子状态机相关等。

基于Unity3D战争模拟策略游戏的设计与实现 与当前主流的注重操作与考验反应速度的刺激型游戏不同,慢节奏的策略类游戏对更多的游戏受众群体更为友好。本论文将基于Unity3D游戏开发引擎,结合刺激型战斗类游戏的趣味性以及策略型益智游戏的休闲性,开发即时战争模拟策略型游戏。多单位型游戏对比普通游戏需要更大的计算量,在单个单位的逻辑中细微的漏洞在数量的加持下也很容易成为无法处理的累赘,因此也考验着开发者的逻辑能力。本文记录了探索过程中涉及到的各领域的原理以及遇到的难点及其解决方案,希望能给到后来的开发者提供借鉴与参考。 阅读详情

相关推荐

战争迷雾sharder

首先创建两个摄像机,两个摄像机的所有值都一样,把一个拖成子物体。接着 ,在地形的下方创建一个跟地形差不多长、宽的plane,给他一个材质球,材质球设为黑色。 接着,创建一个WarFog层,将子摄像机的渲染层Culling Mask设置成只渲染WarFog层。将Plane设置成WarFog层。 在角色底下创建一个白色面板,设置为WarFog层。创建一个Render Texture ,将它拖到子摄

无道的博客 2341

unity3d 大地图接壤_三国志11:地盘大并不一定是好事,游戏这4个都市就是典型...

三国志11的地图是由一个个方格组成的,每个格子都有自己对应的xy座标,我们在游戏的这些座标中也能可以看出这块土地的大致方位,在游戏中,越靠近西边的都市第一个座标会越小,比如云南的坐标就是(5,191)。通过这些坐标我们也能看出这些都市的大致边界。 游戏中,不同的都市边界都是不一样的,所涵盖的面积也都不一样的,其中有些都市的所属范围就非常的大。其中,最为明显的还是那些靠边的都市,我们会发现边界往往都...

weixin_39923623的博客 1186

Unity3D三国群英传完整源码

Unity3D三国群英传完整源码 三国群英传是一款由奥汀(Odin)公司出品的策略性小游戏,游戏的角色头像都是采用3d图会制而成的,在百人对百人大对决的战场上,采用了可调整镜头远近、具有3D景观的视角,武将技在高彩模式的画面下有着眩丽的光影效果非不中给力。三国群英传游戏与以往的三国游戏相同的是统一全国,不同的是它的时间(应该说是年代)的表示方法是即时的,也就是说它不是回合制的,而时间是以月来计算的。游戏的重点是战争而非内政,玩家可亲临前线,在沙场上杀敌,也可运筹帷幄。 开发环境Unity3D-4.3.4

Unity教程(十九)战斗系统 受击反馈

本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记,如有错误,欢迎指正。本节实现战斗系统的受击反馈部分。

cyr___的博客 2505

Unity模拟大型战争两军冲锋

这是个Unity工程,里面有官方Demo,自己做项目刚好有这个需求,打了好久才找到这个,有需要的可以借鉴

Android大型策略经营战争游戏五国争霸代码

我记得高中时代,那时我还在玩诺基亚的手机,但是那时有很多有趣的策略单机游戏,转眼间数年过去,在android的应用商店,逛遍上百页却找不出一两个像样的策略游戏了。于是学android将近两年的我,决定挑起美工与程序员两个重担,独力开发一款至少稍微能看到点策略游戏韵味的游戏,此次上线的五国争霸是一款虚拟空间的历史策略游戏,游戏中玩家扮演的是五国中最弱小的秦国的国君,为了复兴大秦而在战争与阴谋中战斗,当然在游戏中也为国君的娱乐生活安排了一些功能,这个大家懂的...可以在闲暇时去乐师殿,听乐师弹奏一曲,或者去东宫找你的皇后,抑或是去丞相府和你的大臣们商计国事,在相府可以进行交易和一些利国利民的政策的施放,这些可以让你的帝国强大起来,另外当其他国家要是发生瘟疫(会损失30%的兵力和民众)之类的,你也可以选择出兵去趁火打劫,不过要注意,出兵的话军粮一定要备足,不然很可能会偷鸡不成反蚀一把米,而军粮耗尽被迫撤军。 另外,这个版本只是体验的测试版,功能模块只完成了20%,所以还有大部分功能是不能用的,比如大将军府等等。目前游戏的开发仍在继续。如有其他疑问可以在游戏主界面中按菜单键,查看"关于游戏"

Unity实战 RTS3D即时战略游戏开发(十二) 战斗AI的控制

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。这节课我们接着来讲AI的相关部分:战斗AI。          游戏中要进行战斗,就需要让AI会攻击,首先在一定范围内如果有足够的单位则进行攻击,在AI文件夹中创建一个StrikeAi的脚本,编辑如下: using UnityEngine; using System.Collections; public class Str

zjw1349547081的专栏 4780

Unity 丛林战争Demo

一个简单的游戏登陆Demo,带有游戏场景。欢迎下载学习!!!

Unity3D游戏高性能战争迷雾系统实现

一  效果图   先上效果图吧,这是为了吸引到你们的ヽ(。◕‿◕。)ノ゚ 战争迷雾效果演示图 战争迷雾调试界面演示图   由于是gif录制,为了压缩图片,帧率有点低,实际运行时,参数调整好是不会像这样一卡一顿的。 二  战争迷雾概述   战争迷雾一般用于Startcraft等RTS类型游戏,还有就是War3等Moba类型游戏,主要包括三个概念:未探...

weixin_30667301的博客 2283

Python抓取摄像头图像,进行AI识别(一)

本文介绍了如何用Python获取海康威视摄像头的图像并进行AI识别。主要内容包括:1)准备工作,包括摄像头IP设置和密码重置方法;2)使用Python的Requests库通过ISAPI接口获取实时图像;3)示例代码展示如何保存摄像头图像。整个过程为后续AI图像识别提供了基础,通过简单的Python代码即可实现专业监控设备的图像采集功能。

Hahafantuan的博客 1513

基于ESP32-C3的便携式血氧仪硬件与算法实现

血氧饱和度(SpO₂)监测是生理参数无创检测的核心技术之一,其原理基于光电容积脉搏波(PPG)信号中红光与红外光吸收比值的动态变化。该技术依赖高精度模拟前端、稳定光学激励及实时数字信号处理能力,在消费级健康设备中面临功耗、体积与测量鲁棒性的多重约束。ESP32-C3凭借集成LEDC、12位ADC与低功耗双核架构,成为PPG终端的理想主控平台;结合定制化指夹式光学探头与比率法血氧算法,可实现非诊断级但趋势可靠的日常健康监测。本文围绕硬件电路设计、电源管理策略与嵌入式信号处理流程展开,覆盖从LED驱动、跨阻放大

weixin_29025501的博客 132

Unity3D战争迷雾效果

最近一直都在做Flash相关的东西,很久没有空搞Unity3D了,今天稍微有空,就做点小效果玩玩。 这次做了一个战争迷雾的效果: 战争迷雾大家应该很熟悉了,一开始地图全部都是黑的,只有主角的一定范围内能看得到。随着主角的移动,未探索的区域变成了可见。   我这个demo还做了视角切换的功能,可以看看切换摄像机视角之后的迷雾是什么效果的。    在场景里面有很多隐藏的

RainsSoft 1万+

达梦数据库与sharding-jdbc的深度适配实践

本文详细介绍了达梦数据库与sharding-jdbc的深度适配实践,包括驱动与依赖管理、核心适配实现、注册与配置等关键步骤。通过扩展shardingSphere的方式,成功实现了达梦数据库的分库分表功能,并提供了常见问题解决方案和性能优化建议,助力企业级应用高效处理海量数据。

weixin_30300225的博客 623

Unity3D技术开发之战争迷雾效果

相信玩过Dota,英雄联盟等即时竞技类游戏的朋友都知道战争迷雾,这次做了一个战争迷雾的效果:        战争迷雾大家应该很熟悉了,一开始地图全部都是黑的,只有主角的一定范围内能看得到。随着主角的移动,未探索的区域变成了可见。          我这个demo还做了视角切换的功能,可以看看切换摄像机视角之后的迷雾是什么效果的。         在场景里面有很多隐藏的物体(

QST_Apple的专栏 3200

奇安信 2025 年护网蓝队初选笔试题(附答案解析)

熬夜为大家整理了 奇安信 2025 年护网蓝队初选笔试题,(关注我我会持续更新)涵盖 SQL 注入、Web 安全、渗透测试、二进制安全 等核心知识点,并附上详细答案解析,助力大家高效备考!12.下列关于虚表指针描述正确的是(1.5分)✅ B. 虚表指针存储的是虚表的首地址❌ A. 任何类对象都存在虚表指针(仅含虚函数的类有)❌ C. 虚表指针位于对象内存空间的起始处(由编译器决定)❌ D. 虚表指针是否存在不影响对象所占内存空间的大小(存在时会增加指针大小)📌 解析:虚表指针(vptr)用于实现多态,指向

Aishenyanying33的博客 4695

PD3.0详解 电源规则,全解!!!全解!!!

电源规则 大师匈今天谈一下PD3.0的电源规则,PD3.0标准标定的规则。 USB协议声称,为了世界和平世界环境,让大家用上统一标准的充电器,不用再为每一个用电设备都配一个专门的充电器,这些充电器各种各样的都有,所以有时候大师匈也很烦!!!那么为了维护世界和平,USB协议呢就制订了这个PD快充协议,还有它的规则,只要全世界都用PD,就解决了这个大问题。 在这里先了解一个关键字,PDP: Power Delivery Power PD电源的功率。 每个PD充电产品的功率要以0.5W的精度上报,比如大师匈做的P

大师匈的博客 1万+

Unity3D游戏制作学习记录01——丛林战争

Unity3D游戏制作学习记录01——丛林战争 学业繁忙…自己跟着siki的丛林战争的教程跟着做,仅用于笔记记录,最终的成品效果也不知道,翻不翻车我们拭目以待(●ˇ∀ˇ●) TCP/IP 在网络通信中,路由器是起到一个中转站的作用,发送的目的地就是靠路由器识别转发,指示这个目的地的就是IP。 IP粗略分类: 局域网IP:是可以通过ipconfig查询到的,是在连接同一个路由的主机构成的一个局域网内,由路由分配的IP。在这个局域网内,IP唯一且不可重复。(本地坐标系) 公网IP:不可以在本地查询,它是该局域网

LAUGINJI的博客 1018

【STK】手把手教你利用STK进行仿真-STK软件简介02 STK专业分析模块

STK/Astrogator是一个交互式轨道机动和深空探测计划工具,用于飞行器运行及任务分析,通过定义推力模型、目标星历、飞行器姿态,提供轨道机动的解决及优化方案。应用Astrogator分析轨道机动的可见性和地面站覆盖,用户可以快速、方便地进行全局分析。任务控制序列保存在STK场景中,用于任务运行、快速制定精确轨道机动方案。为在轨运行的飞行器制定或执行机动计划时,分析人员可以根据飞行过程数据,如发动机定标参数、实际初始轨道,计算出推进器点火和点火时机数据,用于发出指令及精炼机动计划。

weixin_44184852的博客 1864

Unity3D游戏制作学习记录02——丛林战争

Unity3D游戏制作学习记录02——丛林战争 Siki学院的视频教程指路牌:http://www.sikiedu.com/course/61. 一、服务器端——消息接收的异步处理 由于之前使用Receive()方法来接受消息,是在等待消息的过程中一直执行,直到接收到消息了才会继续执行下面的代码,因此接收消息的方式是同步的。 这样的接收就只能一条一条的接收处理,不太符合实际的需求,所以就需要有异步的处理了。 异步处理调用的接收消息的方法是BeginReceive(),其中的参数是,接收到消息后会执行什么方法

LAUGINJI的博客 1299

2025.06.16【转录组】|Ribo-seq数据流程详解(二 基因组比对)

本文详细介绍了Ribo-seq数据分析中的比对流程,包括环境准备、STAR索引构建、比对参数设置及结果统计可视化。通过samtools和R脚本实现比对质量评估,提供常见问题解决方案和关键指标解读。该流程强调比对参数优化和质量控制,为后续翻译组学分析奠定基础。

1976

Keras神经网络可视化模块keras.utils.visualize_util的安装配置方法

本文介绍了如何安装和配置keras.utils.visualize_util模块,并提供了一个简单的示例演示如何使用该模块来可视化神经网络的结构。在上述代码中,我们首先定义了一个简单的神经网络模型,该模型具有一个输入层、一个隐藏层和一个输出层,其中隐藏层具有512个神经元,输出层具有10个神经元。运行上述代码后,我们将在当前工作目录下找到一个名为model.png的文件,它显示了神经网络的结构图。这种方式有效地展示了整个过程,让我们能够更好地理解神经网络的结构,方便对其进行改进和调试。

. 890

探索未来游戏开发:KBEngine Unity3D 战争版

探索未来游戏开发:KBEngine Unity3D 战争版 项目简介 是一个开源的游戏服务器框架,特别针对实时多人在线游戏(MMO)设计。它提供了一个Unity3D版本,名为“KBEngine Unity3D 战争版”,专为构建大规模战争类游戏而优化。这个项目旨在简化游戏开发过程,尤其是网络部分,让开发者可以更专注于游戏逻辑和玩家体验。 技术分析 KBEngine Unity3D 战争版基于C++...

gitblog_00020的博客 528

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Unity3D战争策略游戏开发:从A*寻路到多兵种AI设计实战

本文深入探讨了Unity3D战争策略游戏开发的核心AI技术,从高性能A*寻路算法的实战优化入手,详细讲解了如何超越原生NavMesh以支持大规模单位寻路。文章进一步分享了如何为近战、远程、防御塔等多兵种设计差异化的AI行为树,并最终构建支持编队移动、集火指令等协同作战的智能系统,旨在帮助开发者打造富有深度和策略感的战争模拟体验。

wdx012345的博客 677

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: unity3d、MonoDevelop脚本编辑没有代码智能提示问题
下一篇: 关于unity(c#)调用shell脚本
慕一春
博客等级 码龄12年 19粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值