# p_ltg_utils **Repository Path**: LT_COLD_CODE/p_ltg_utils ## Basic Information - **Project Name**: p_ltg_utils - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-06-07 - **Last Updated**: 2022-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简介 这是一个可以运行时查看并修改Laya3D对象的调试工具半成品 ## 目前实现了以下功能 1. 树状Laya对象列表 2. 对象激活控制 3. 对象改名 4. 将对象打印到控制台 5. 对象基本信息展示及修改(位置,旋转,缩放),鼠标按住蓝色区域可拖动数值 6. 3D场景实时预览,按住鼠标右键同时按wasd可移动相机 7. 3D场景的雾效属性实时修改 ## 期望实现功能 与unity ide类似 ## 运行效果如下图 ![效果图](/doc/img/main.png) ## 使用方法 ### 初始化 1. clone 该工程 2. 使用vscode打开工程 3. 执行 npm i 4. 执行 build-all ### 游戏端注入代码 1. 将libs/ltg.d.ts放入自己游戏工程的libs下 2. 拷贝bin/client/js/debugger.js到自己游戏目录的bin/js/debugger.js 3. 修改自己游戏目录的bin/indejx.js 在 loadLib("js/bundle.js"); 前加入 loadLib("js/debugger.js"); 4. 在游戏代码中laya初始化完成之后执行 new ltg.DebugInject().Init("ws://127.0.0.1:8787", '自己游戏名字'); ### 工具启动 1. 执行 run-server 2. 点击 运行-以非调试模式运行 ## 原理 通讯通过debugger.js和本地server链接,传输调试数据给调试工具使用 场景图传通过单独维护的Laya.Camera渲图rt转base64(目前没有压缩,所以会占用总线带宽)之后传输 ## 扩展 核心功能代码主要位于src/client中 ui工程在fgui.project中,需要的大佬可以自行扩展,同时欢迎各种提交 ## 已知问题 chrome开发者工具会不停记录websocket发送的数据,长时间会导致chrome开发者工具自行退出,目前并没有什么办法解决,只能隔段时间F12几下 ## 联系 QQ821580467