金庸3DUnity重置入门系列文章
金庸3dUnity重置入门 - lua 语法
金庸3dUnity重置入门 - UniTask插件
金庸3dUnity重置入门 - Cinemachine 动画
金庸3dUnity重置入门 - 大天下实现方案
金庸3dUnity重置入门 - 素材极限压缩
(部分大概放到付费博客)
2022年底~2023年初
2021年中开始的项目,到如今只要从Github下载,便是完全可运行版本,虽然整个项目有点大,素材什么的统共 几个G吧,但还是很靠谱的一个项目,稳固,迭代充足
(后来发现,项目应该从2018~2019即启动,还真要几年时间才华有这个体量,诞生在四川,也就是成都,有点唏嘘,没想到在广州绝迹的端游反而在四川有点生命力,再没落下去,只能去西安,西安去完没地方去,只能去越南了)

开头动画比力复杂,只需要修改 lua ”脚本“
个人不发起新手学这套Lua,真正实战的Lua语法和应用可完全是2回事,
就好像少林长拳和九阳真经练到9重的区别。
练十年长拳真的只能强身健体,成了火头工大概扫地僧
一些根本命令地点目次, BuildResource/Lua

一些事件、故事脚当地点目次, Mods/JYX2/Lua

修改,开头智冠动画 ka691”脚本“:
- --ka691.lua
- ----------------------------
- SetRoleFace(1);
- jyx2_Wait(2.4) --等待2.4秒后再播放黑屏幕,
- -- jyx2_SetTimelineSpeed(3); --播放速度X3
- -- jyx2_PlayTimeline("[Timeline]ka691_小虾米居_醒来", 0, false);
- -- jyx2_Wait(1);
- -- Talk(0, "啊!头好痛呀!是不是最近K书K太凶了,所以有点恍惚了……我记得我正在玩“金庸群侠传”啊!怎么突然就睡着了。管他的,我得赶紧起来玩,这游戏可是等了半年多才玩到的,非第一个破关不可。", "talkname0", 1);
- -- PlayAnimation(-1, 6890, 6932);
- -- jyx2_PlayTimeline("[Timeline]ka691_小虾米居_站起", 0, false);
- -- jyx2_Wait(10);
- -- Talk(0, "咦!我的电脑呢?", "talkname0", 1);
- -- PlayAnimation(-1, 6934, 6986);
- -- jyx2_PlayTimeline("[Timeline]ka691_小虾米居_迷惑", 0, false);
- -- jyx2_Wait(10);
- -- Talk(0, "奇怪,我什么时候换了衣服的,我都不知道。哎!还是古装的?", "talkname0", 1);
- -- PlayAnimation(-1, 6988, 7000);
- -- PlayAnimation(-1, 6988, 7000);
- -- Talk(114, "好了,不能再说下去了,游戏设计者叮咛过我,话不能说太多,否则会犯了游戏的大忌,俗语说……“好GAME不多话”。BYE!BYE!", "talkname114", 0);
- DarkScence(); --增加过场(黑场)
- -- jyx2_StopTimeline("[Timeline]ka691_小虾米居_醒来");
- -- jyx2_StopTimeline("[Timeline]ka691_小虾米居_站起");
- -- jyx2_StopTimeline("[Timeline]ka691_小虾米居_迷惑");
- -- jyx2_StopTimeline("[Timeline]ka691_小虾米居_四处观察");
- -- jyx2_StopTimeline("[Timeline]ka691_小虾米居_转身");
- -- jyx2_StopTimeline("[Timeline]ka691_小虾米居_软体娃娃跳起");
- -- jyx2_StopTimeline("[Timeline]ka691_小虾米居_软体娃娃打招呼");
- -- jyx2_SetTimelineSpeed(1); --播放速度还原
- -- SetRoleFace(0); --修正朝向角度
- LightScence(); --增加过场(黑场还原)
复制代码 修改, 在开头动画一开始旁边的箱子事件 ka695 ”脚本“:
- --ka695.lua
- ----------------------------
- --这个代码应该是保证宝箱只打开一次,暂时屏蔽,因为哥需要多次触发宝箱(录屏几次)
- --ModifyEvent(-2, -2, -2, -2, -1, -1, -1, 2492, 2492, 2492, -2, -2, -2);
- AddItem(1, 3);
- Talk(500, "刚才调整了开头动画,使用的即是Lua脚本,但个人不建议新手学这套Lua,真正实战的Lua语法和应用可完全是2回事,就好像少林长拳和九阳真经练到9重的区别。", "talkname200", 2)
- Talk(0,"刚才写Lua脚本,每个逻辑结束时也没有写分号;个人是“逍遥派”,不写分号派,但也不想破坏原作者的规范,后续不会在Lua脚本上深究了","",2)
- Talk(0,"总结一下就是:github下载源码;Unity2020.3打开;修改Lua脚本(Mode/JYX2/Lua/691.lua;File->BuildSettings找到启动界面;运行即可","",5)
- do return end;
复制代码 大概完全不管,直接使用GM工具
- case "zuoyouhubo": //主角学会左右互搏
- {
- GameRuntimeData.Instance.Player.Zuoyouhubo = int.Parse(paras[1]);
- StoryEngine.DisplayPopInfo(
- "主角设置左右互搏:" + (GameRuntimeData.Instance.Player.Zuoyouhubo == 1 ? "开" : "关"));
- break;
- }
- case "transportwei":
- {
- TransportWei();
- break;
- }
- default:
- Debug.Log("没有识别的指令,将执行lua替代:" + cmd);
- string luaContent = cmd;
- Jyx2.LuaExecutor.ExecuteLuaAsync(luaContent);
- break;
复制代码
自界说GM工具(”脚本“,步伐实现)
由于经常碰到(也大概是个人原因)提示已经在执行事件,其他任何交互功能(事件)变得不可执行了,所以需要一个扩展调试功能:检察当前正在执行什么事件。
原理,就是修改开头动画的 ka691.lua”脚本“即可,由于只要你使用jx 2的默认mod,则肯定会执行开头动画,也能使用 eventlua方法了,
- SetRoleFace(1);
- jyx2_Wait(2.4)
- function eventlua( ... )
- print("eve")
- end
- -- jyx2_SetTimelineSpeed(3); --播放速度X3
- -- jyx2_PlayTimeline("[Timeline]ka691_小虾米居_醒来", 0, false);
复制代码 使用方法:只要在对话框输入:eventlua(),点执行

流个尾巴(TODO)
1.不重新启动游戏,直接执行修改lua文件并立即触发执行
2.Xlua主动转换c#代码 + Profiler + 断点调试
3.在事件脚本 ka691等等中注入lua
4.短,中,和长3个故事脚本
来源:https://blog.csdn.net/avi9111/article/details/128199896
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |