24 Commits

Author SHA1 Message Date
Roman
eb0649bc20 任务:制作UI
1.制作玩家UI
(1.制作玩家血条UI
((1.作为一个独立的Canvas物体
((2.当检查到记录中血量和真实剩余血量不一样,重刷新血量UI
((3.保存子物体列表,一共10个爱心
((4.保存两张UI图片
((5.当触发重刷新UI,遍历10个爱心,把前Left个数的爱心换成红色,其他的换成白色
((6.将血条UI放置到每一个场景
(2.制作镰刀CDUI
((1.初始化时,获取玩家镰刀CD总时长
((2.当玩家发射镰刀,额外让玩家找到UI组件,并发送信号,触发Tween动画,以圆圈形式从0到1重显现CDUI
((3.适配到每一个场景

2.制作boss血条
(1.逻辑基本上与玩家的一致
(2.额外增加一个boss名字文字栏
(3.当Boss进入攻击状态,开始显示血条和名字

*优化和修复
1.镰刀攻击同时按卡动画
2.修复读板时按确定会出错的问题
3.修复疯狂发射镰刀会卡动画的问题
4.修复玩家死后着地会滑动的问题
5.修复了未开启开幕演出,死亡后报错的问题
6.修复各个场景玩家UI和专场块的遮挡问题

下班
2021-12-27 00:07:25 +08:00
Roman
74f926815e 任务:搭建前置关卡,编写演出逻辑
1.编写基督前置关卡
(1.放置平台、怪物和男童
(2.修改男童类,外加OnSaveEvent,OnSave时若有事件则触发该Event
(3.编写开幕演出,与yi前置类似
(4.编写男童解救演出
((1.触发Fungus对话
((2.对话结束后,开启通往上层的门

2.搭建村场景
(1.放置平台和元素
(2.为可动元素制作动画

3.为玩家添加static属性,进度。0:刚开,1进村,2通佛,3通伊,4.通基

4.制作死亡重开功能
(1.当玩家生命值降到0及以下,触发死亡事件
(2.死亡后reload当前场景,并设记录员,关闭某些事件和演出不再执行

*优化和修复
(1.尝试制作击中卡肉效果,目前打击感太弱。也可以尝试粒子效果

*至此,全部前置关卡搭建完毕,村场景搭建完毕。
*明天可以完成流程化,接下来就是填充剧情、UI、死亡标记和留言板等系统了

下班
2021-12-20 23:33:14 +08:00
Roman
f257b40d10 任务:搭建前置关卡,编写演出逻辑
1.编写佛教前置关开场演出
(*.休整地形,使得左边多出一块地面,方便演出正常运作
(*.项目后期再通过逻辑触发该演出,目前先用调试方式触发演出
(1.关闭空气墙
(2.修改玩家inputDir使玩家从屏幕外冲进到屏幕内部
(3.等待一段时间
(4.此时玩家应该走到某个合适的位置,停止玩家的inputDir
(5.等待一小段时间给玩家反应
(6.修改相机offset,使其对准对话的两个小怪
(7.等待一小段时间给玩家反应
(8.触发Fungus对话
(9.Fungus对话结束后,返回标记命令演出Main继续执行
*.修改NormalEnemy,添加标识isInFoStage,在Update中判断,若是,使该怪物水平方向上追踪玩家,可以参考爱欲品的Seek
(10.修改左边小怪的isInFoStage
(11.开启右边小怪的Path动画,表现其慌忙逃跑
(12.Invoke一个延时,等右边小怪逃出视野后删除它
(13.触发善后和结束事件
(14.重写善后事件,重新开启空气墙

2.搭建伊斯兰前置关卡

3.创建伊斯兰前置关卡演出
(1.关闭空气墙
(2.修改玩家inputDir使玩家从屏幕外冲进到屏幕内部
(3.等待一段时间
(4.此时玩家应该走到某个合适的位置,停止玩家的inputDir
(5.等待一小段时间给玩家反应
(6.触发善后与结束事件

4.创建玩家隔间触发事件
(1.是进入式触发器对象
(2.触发时Call隔间演出

5.编写隔间演出逻辑
(1.表现关门
(2.左右晃一下镜头,中心移动到左右门处,表示门被关闭
(3.镜头回到玩家处,同时压缩相机可移动范围更窄
(4.打开隔间墙壁的空气墙
(5.设置EndEvent为伊斯兰事件

6.编写召唤伊斯兰事件
(1.摘自木马的召唤攻击,稍作修改
(2.当召唤的伊斯兰全部挂了,触发隔间结束事件

7.编写隔间结束事件
(1.表现开门
(2.关闭隔间的空气墙
(3.重设相机移动范围

8.搭建基督前置关卡

*.至此,第一关、第二关前置关卡的逻辑基本开发完毕

*.明天能做完所有前置关,顺便应该能搭完村场景,后天可以开始搭建新系统,目前还差留言、死亡标记等系统等待编写

下班
2021-12-19 23:57:44 +08:00
Roman
62459078a4 任务:搭建前置关卡,编写演出逻辑
1.搭建佛教前置关卡
(1.替换浮空平台贴图
(*.制作普通小怪的预制体
(*.制作普通小怪动画
(2.编写掉怪陷阱

2.编写演出类逻辑
(1.继承自Event
(2.具有结束事件(Event对象
(3.OnCall演出时,先做一些演出的基本准备工作
((1.修改玩家的操作地图
((*.后续慢慢完善
(4.准备工作结束后startContinue演出主体
(5.演出主体的结尾触发自身End事件和结束事件(Event对象

*.修复和优化
(1.修复爱欲品wander状态无法被正常击飞的问题
(2.修复玩家蹭墙也标记着地的问题
(3.修复玩家在下降中的平台会抖动的问题
(4.修复玩家状态机偶尔不会触发下落动画的问题

*.今日通过了导出测试

*.顺利的话明天能够完成第一关的所有演出

下班
X﹏X
2021-12-19 01:31:23 +08:00
Roman
5a5a0e220b 任务:替换美术素材,实装动画
1.替换一些美术素材
(1.替换炸弹贴图

2.实装一些新动画
(1.制作地藏之手拿钱的时候的动画
(2.制作爱欲品小怪动画
(3.制作伊斯兰小怪动画
(4.制作玩家开始交互和交互中动画
(5.制作镰刀飞行动画
(6.制作男童动画

*.优化和修复
(1.使木马喷射炸弹时,炸弹有扭矩
2021-12-17 23:33:40 +08:00
Roman
1cfe5ef4c0 任务:搭建基本的系统
1.替换和适配地藏关卡美术资源
2.编写玩家被敲钟攻击逻辑
(1.当钟抬起到落下期间,中幅度震动手柄和屏幕
(2.当撞钟能攻击到玩家,触发玩家annoying事件,当不能,且玩家正处于annoying状态,则触发玩家Outannoying事件。annoying事件中修改玩家beannoying标记,并编写减速减益状态,Outannoying事件中修改标记,并还原减益。Update中,若处于beannoying状态,则减少受击CDLeft,若CDLeft降到0以下则受击并击飞,并重置受击CDLeft。
(3.当撞钟攻击结束时玩家任然处于被干扰状态,触发玩家的脱离干扰事件
3.修改震动管理员类,新建一种无法被覆盖的震动
4.伸手的时候中幅度震动手柄和屏幕
5.修改敲钟攻击逻辑,使得敲钟时玩家无论在何处都要减速
6.手被攻击的时候中幅度震动手柄和屏幕
2021-12-15 00:07:36 +08:00
Roman
6253bd856c 任务:搭建基本的系统
1.实装一些美术素材

2.完成木马召唤小怪攻击逻辑
(1.修复伊斯兰小怪的炸飞方向丢失Bug
(2.给伊斯兰小怪两种被击飞模式,当被普通武器攻击,轻度正常击飞,当被炸弹炸飞,剧烈飞出

3.完成木马喷射炸弹攻击逻辑
(1.与召唤小怪逻辑类似
(2.创建炸弹类
(3.3次喷射,仅确定首次力度和方向,后两次依靠倍率改变力度

4.完成炸弹逻辑,用于召唤炸弹和喷射炸弹两种攻击方式
(1.碰到东西即爆炸
(2.有一个触发器表示爆炸范围,当有东西进入
,尝试获取被炸对象接口,如果有,则将其加入攻击列表,爆炸时对列表中的每一个对象造成伤害,攻击力来自于owner
(3.当有物体离开触发器,康康它是否在列表中,若在,将其移除

5.整理脚本

下班
2021-12-12 23:40:14 +08:00
Roman
07d619494b 任务:搭建基本的系统
1.优化一些手感和战斗效果
(1.走动时轻微震动手柄(通过动画Event实现,以匹配脚步)
(2.被打的时候剧烈震动手柄,中幅度震动屏幕
(3.锤子击中的时候中幅度震动手柄
(*.完善震动管理员逻辑以解决震动的覆盖问题
(4.发射镰刀的时候轻微震动手柄,轻微震动屏幕
(5.为发射镰刀添加动画
(6.为锤子的空挥添加轻微震动

2.创建木马BossStageTest场景
(1.创建一些必要的元素
(2.创建木马逻辑组件

3.编写木马逻辑
(1.继承自Enemy
(2.参考地藏逻辑,做出三种攻击的协程
(3.让木马动起来,始终向右
(4.让相机上下轻微震动起来
(5.让手柄一直震动,模拟大型物体的感觉
(6.将空气墙绑在马身上
(7.编写召唤小怪的攻击方式
(*:当触发召唤小怪的攻击,在视野右边,每隔若干随机时间生成一个伊斯兰,生成到指定数量后,发送攻击结束信号。

4.编写地面逻辑
(1.让地面能够无限向右平铺
(*:在地面的末端安排一个触发器,当木马完全离开触发器,使地面移动至地面宽度两倍的右边
(2.将光源绑在地面,这样不会出现远了会失去光照的问题

*:目前伊斯兰小怪在BossStage有一些Bug,明天再修吧
2021-12-12 02:08:39 +08:00
Roman
b1063a379f 任务:搭建基本的系统
1.搭建地藏测试场景
(1.放置单向平台
(2.限制摄像机范围
(3.设置相机跟踪
(4.放置图片素材

2.编写地藏boss逻辑
(1.继承自Enemy(内含基本的变量和事件)
(2.当玩家进入戒备范围,startContinue攻击功能

3.创建塞钱箱脚本,目前为空,仅调试用

4.编写召唤攻击逻辑
(1.编写工具类,投掷点,记录投掷力度、方向。
(2.在地藏中保存两套投掷点
(3.攻击时判定玩家位置,进而决定要使用哪一套投掷点
(4.从投掷点获取信息,然后初始化生成的爱欲品
(5.等待召唤攻击的后摇时间,然后发信号表示攻击结束,进入下一个循环

至此,佛教Boss的召唤攻击方式基本开发完毕
2021-12-08 23:52:17 +08:00
Roman
5c0502497d 似乎成功合并了分支 2021-12-08 19:13:08 +08:00
Roman
83f327571f 任务:搭建基本的系统
1.搭建地藏测试场景
(1.放置单向平台
(2.限制摄像机范围
(3.设置相机跟踪
(4.放置图片素材

2.编写地藏boss逻辑
(1.继承自Enemy(内含基本的变量和事件)
(2.当玩家进入戒备范围,startContinue攻击功能

3.创建塞钱箱脚本
2021-12-08 18:56:47 +08:00
Roman
1619bedd77 任务:搭建基本的系统
1.编写基督小怪逻辑
(1.继承自爱欲品类(巡逻、发现、追踪、击飞、被击飞、死亡、转身等功能)
(2.重写Seek函数,因为爱欲品是一直Seek到玩家位置,而基督需要保留一定距离
((1.Seek时判断基督小怪与玩家的距离,同时指定一个public变量代表攻击范围。若此距离小于攻击范围,触发攻击事件,否则移动位置靠近player

(3.重写OnTouchThePlayer事件,使其与NormalEnemy一致
(4.新增攻击事件
((1.修改状态为atk
((2.创建一个基督闪电攻击器,作为预制体保存在JiDu中
((3.初始化攻击器
((4.等待攻击器触发攻击完毕信号,触发恢复事件(无语句)

(5.新增恢复事件
((1.修改状态为Seek

*:效果:依次降下指定数量的雷(触发器判定区),前一个结束后下一个才开始
2.编写攻击器逻辑,可以指定闪电道数、闪电位置间隔、两道闪电之间的间隔时间、每道闪电的持续时间、闪电的判定范围、攻击后硬直

*:整理脚本,添加注释、摘要、分层和属性特性

至此,基督小怪的逻辑开发完毕

至此,所有小怪的逻辑均开发完毕

通过导出测试

下班
2021-12-07 21:39:49 +08:00
Roman
7d2c965521 任务:搭建基本的系统
1.编写伊斯兰小怪逻辑
(1.继承于Enemy类
(2.初始化时直接为Seek状态
(3.每帧执行Seek函数,让其水平方向有冲向玩家的速度
(4.当触发Touch玩家事件,伊斯兰触发协程Boom
(*.给伊斯兰类添加触发器监听,当玩家进入触发器范围,标记可以炸到玩家;当玩家离开触发器,标记无法炸到玩家
(5.当Boom执行时,标记自身为dead,关闭自身碰撞体,抄一下NormalEnemy的被击飞函数,并使刚体开始旋转。同时判定玩家是否可被炸到,若能,击飞玩家并造成相对的伤害值。
(6.从NormalEnemy代码复制过来了受击逻辑
*:整理伊斯兰代码

至此,伊斯兰小怪的逻辑基本开发完毕

*修复攻击时能够转身的问题

2.编写屏幕和手柄震动相关逻辑
(1.设计震动类
(2.设计静态方法ShakeScream和ShakePad,其中ShakePad为协程,调用时请使用StartContinue。

3.为玩家起跳添加屏幕晃动和手柄震动
2021-12-05 00:40:50 +08:00
Roman
032bef564e 任务:搭建基本的系统
1.完成玩家被爱欲品抓住的逻辑
(1.在玩家类已经留下空事件,需要完成逻辑:当被爱欲品抓住,玩家需要:
((1.声明bool新变量isCatching
((2.更改变量isCatching为true
((3.更改inControl变量为false,此时玩家不再能移动
((4.处理伤害,每秒减去爱欲品的atk的血量
(2.在InputSystem的事件OnMove中,触发转身处,添加一处判定,若此时inControl,才能进行转身操作。若isCatching为真,不触发转身,进而触发爱欲品的挣脱事件。
(*:修改爱欲品完全挣脱事件,使其通知玩家已经完全挣脱
(3.当收到完全挣脱的消息,恢复isCatching为false,同时恢复inControl,同时关闭掉血协程,同时删除记录的抓着玩家的爱欲品

*:至此,爱欲品的行动逻辑基本上开发完成

2.修复玩家用锤子攻击会多次判定到怪物身上的Bug
3.修复玩家挥锤子卡手的问题
4.重新匹配锤子挥动判定与动画
5.修改锤子动画速度曲线
6.解决狂按攻击有概率卡死的问题
7.使玩家攻击的时候无法移动
8.解决玩家被缠抱时可以跳跃的问题
9.解决玩家被缠抱时可以发镰刀的问题

攻击手感很怪,还需要细调
🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔
2021-12-03 23:58:34 +08:00
Roman
5b2e3633ab 任务:搭建基本的系统
1.替换动画源图片为攻击加长版
(*:新建动画“被击飞”并完成状态机逻辑
(*:删除旧动画源图片素材减小项目体积
*:修复攻击动画卡手问题
*:修复被击飞后朝向影响击飞结果的Bug

2.编写佛教小怪逻辑
(1.继承自NormalEnemy(*:与原备注不同,因为后期我发现用NormalEnemy更加合适更加简单)
(2.与普通小怪一样,默认状态会巡逻
(3.当玩家进入感知范围,触发Seek
(4.当玩家创到怪物,触发Atk
(*:改变自身状态为ATK
(*:关闭自身碰撞体,因为要贴在玩家身上
(*:将自身位置和玩家位置同步,但是需要一个附身offset二维向量,因为玩家的图片不在游戏物体的中心
(*:通知玩家,你被爱欲品附身了
(5.当怪物收到伤害,触发Seek
(*:我决定后期根据具体地形完善爱欲品的Seek函数
(6.编写完全挣脱事件
(*:触发死亡事件
(*:死亡后给予随机方向的击飞和旋转
(*:添加public变量breakFreeCount,代表挣脱需要触发多少次方向变换
(*:添加public变量breakFreeCountLeft,代表现在还需要方向变换多少次才能挣脱
(7.添加挣脱行为事件,从player传来,减一点Left并且判断是否完全挣脱,若是则执行完全挣脱事件
3.整理脚本分层,添加摘要和注释

下班,明天写玩家挣脱逻辑和被抓逻辑
🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱
2021-12-03 01:23:07 +08:00
Roman
5105e892f9 Squashed commit of the following:
commit 9b1756077de6fd5005c6d7300b470e2bfa223f97
Author: SAIPO <grasste0403@hotmail.com>
Date:   Thu Dec 2 16:10:18 2021 +0800

    任务:编写屏幕后特效的渲染框架
    1.合并分支
    2.完成框架编写,代码文件在URP文件夹里

commit 994279b09e8676155176aecbcd43f13ab90f2c92
Author: SAIPO <grasste0403@hotmail.com>
Date:   Mon Nov 29 23:59:44 2021 +0800

    任务:编写效果Shader
    1.增加了通过高斯模糊公式实现的高斯模糊shader(建议用在背景层,让画面有一些景深感觉)
    2.增加了像素化的shader,通过在片元着色器上的uv合并,可以使贴图变为像素风格
    3.增加了闪光划过的shader

commit 271e45aeb97212640573a9faf71483cece293043
Author: SAIPO <grasste0403@hotmail.com>
Date:   Mon Nov 29 23:09:30 2021 +0800

    11.29合并分支

commit dfa618fabaf36626e1b92e7ab34c87d497bcdeb3
Author: SAIPO <grasste0403@hotmail.com>
Date:   Sat Nov 27 13:42:16 2021 +0800

    合并分支

commit de8d79b73e560814ff9fc8a0c3418009682c5ef8
Author: SAIPO <grasste0403@hotmail.com>
Date:   Tue Nov 23 21:25:44 2021 +0800

    任务:搭建Mysql数据库相关框架
    1.完成Mysql动态链接库的导入
    2.实现基本的服务器连接数据框架
    3.实现Sql语句查询框架

# Conflicts:
#	.merge_file_a14904
#	.merge_file_a17704
#	Assets/Behavior Designer/Resources.meta
#	Assets/Demigiant/DOTween.meta
#	Assets/Demigiant/DOTween/Editor.meta
#	Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta
#	Assets/Demigiant/DOTween/Modules.meta
#	Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta
#	Assets/Prefabs/镰刀.prefab.meta
#	Assets/Scenes/test.unity
#	Assets/Shader.meta
#	Logs/ApiUpdaterCheck.txt
2021-12-02 20:21:03 +08:00
Roman
1802f8ee83 任务:搭建基本的系统
1.绑定cinemaMachine相机
2.修复锤子攻击后玩家反而被击飞的Bug
(1.为了避免锤子碰撞体抵到地面、锤子将怪物按在地上等问题,现需要将锤子改为触发器,锤子的判定代码移至锤子类
2.替换锤子攻击动画为攻击范围加长一版
2021-12-01 19:14:21 +08:00
Roman
2c278680cc 任务:搭建基本的系统
1.实装部分前期美术素材
(1.放置了一个临时背景
2.编写玩家状态机器雏形
(1.创建待机动画
(2.创建跑步动画
(3.将上述动画写入状态机,并编写脚本呼出动画

明天整,睡大觉,欧亚
嘲哳难为听
🥱
2021-11-30 23:08:26 +08:00
Roman
ff4639d2cf 任务:搭建基本的系统
1.编写普通小怪受击逻辑
(1.受击时获得受击方式和受击方向
(*:新建tweenNow变量记录正在播放的动画
(2.受击瞬间停止tweenNow(否则怪物的物理路径将被锁定在tween中
(*:向玩家类中添加字典,用来查询不同攻击方式的攻击倍率
(*:向怪物基类中添加CheckDead功能
(*:编写受击击飞效果,类似于player
(3.减少生命值,同时呼唤CheckDead
(4.若死亡,更改怪物状态为Dead,呼唤OnDead,编写OnDead,给予其范围内随机一个旋转角速度,同时关闭其碰撞体,同时开启一个协程,使其一定时间后被销毁。
(*:给普通怪物添加positionSource变量,记录游戏开始时怪物的位置
(*:给普通小怪类添加inPath变量,记录一下目前是否正在执行path动画
(5.若未死亡,则让怪物着地后Dotween到初始位置,结束后触发事件,重新开始巡逻
(*:修复速度无法控制怪物真实速度的问题
(*:我超,由于插件存在不可忽略的缺陷,要修改怪物的移动速度做不到自动化了,必须通过在Path组件自行输入持续时间,其实就是多做一个小学算数,呐
2021-11-28 23:34:14 +08:00
Roman
405344bdf0 任务:搭建基本的系统
1.编写玩家受击逻辑BeHit(atk,dir)
(1.受击时得知受到的攻击力和受击方向
(2.受击时向受击方向被击飞一小段
(3.减去相应的生命值
2.编写基本小怪逻辑
(1.wander状态,在两点间巡逻
(2.当触发OnTouchThePlayer,通知玩家BeHit
3.编写了更多摘要和参数解释
4.更新的Dotween插件的版本
2021-11-28 01:33:32 +08:00
Roman
f7e92a473d 任务:搭建基本的系统
1.编写敌人基类,具有一些基本属性,往后重复性不是特别大,决定小怪和Boss均继承此类,其余代码写在具体类中。
(1.具有如下属性:
	HP
	HPLeft
	ATK
	Speed
	Coin
	Enmu State(wander\seek\atk\dead)
(2.具有如下事件
OnDead(死亡的时候触发)
OnTouchThePlayer(给予怪物本体碰撞体,当玩家触碰到怪物触发)
OnBeHit(Enmu攻击方式)(当有东西触碰到怪物本体,检测触碰的是什么,然后返回攻击方式给该事件)
OnFindThePlayer(给予怪物一个触发器,当玩家进入该触发器,怪物进入seek状态)

🐎🐎🐎
2021-11-24 23:23:01 +08:00
Roman
3ca9f6d7ea 任务:搭建基本的系统
1.设置转身事件
(1.当触发转身,翻转角色Scale

2.实现发射镰刀功能
(1.发射有CD,CD之内无法再次发射
(2.若未击中怪物,镰刀飞出屏幕后销毁
(3.镰刀飞行方向由玩家发射时面部朝向决定

❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤
2021-11-23 23:11:53 +08:00
Roman
07ea6e771c 任务:搭建基本的系统
1.实现挥动锤子功能
(1.有一个挥动过程(DoTween)
(2.判定随着锤子挥动动画进行
(3.挥动起始锤子显现
(4.挥动结束锤子消失
(5.CD之内无法再次挥动(不作反应
(6.挥动过程只能进行UI操作
(7.目前判定范围用sprite表示
(8.只有挥动动画时间内有攻击判定

2.引入Odin插件
2021-11-23 00:22:17 +08:00
Roman
c9e34f623c 任务:搭建基本的系统
1.实现走动
(1.识别摇杆方向给予物体X方向的速度
(2.使用赋予速度的方式使其移动
(3.不管摇杆深度,只管摇杆方向
2.实现跳跃
(1.只能跳跃一段
(2.只有着地的时候能够跳跃
(3.使用赋予速度的方法使其跳跃
3.增大了重力系数以增加2D游戏感
2021-11-21 22:32:29 +08:00