关于Unity3d五国战争笔记

五国战争视频
剧本流程:
[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动画、动画混合树、子状态机相关等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值