clq
浏览(339) +
2022-11-13 12:37:02 发表
编辑
关键字:
[2023-10-20 17:47:08 最后更新]
⭐非著名 3D 引擎收集 这里说的非著名其实只是对我这非专业人士而言。最近在找纯 c /golang/js 版本的跨平台又想要主流非玩具型的,所以收集一下。 1. raylib 应该实用,不过没有 ios 版本? https://github.com/raysan5/raylib/blob/master/BINDINGS.md http://newbt.net/ms/vdisk/show_bbs.php?id=75144142757BE92C8D3C71F40BF3C2A3&pid=164 https://github.com/gen2brain/raylib-go 2. qt5 其实也是可以的,不过似乎 qt6 才有 ios ,而且 qt 自身限制越越来越多,还不如直接上 u3d 好了。 3. GLFW 经常见到这个库。不过它其实应该只是 opengl 的一个实现,并不是完整库。 https://github.com/go-gl/glfw https://www.glfw.org/ https://blog.csdn.net/pengrui18/article/details/114436712 https://www.jianshu.com/p/478f63781204 这里有一篇使用 Assimp 加载模型的方法,还是比较麻烦的。 3. https://github.com/fogleman/choppy 作者是位 golang 的 3d 程序高手,我甚至见过他不用 3d 引擎操作 3d 模型的库。非常推荐。 4. Babylon.js 这个是 js 的 3d 引擎 https://zhuanlan.zhihu.com/p/539177373 微软旗下 WebGL 框架 Babylon.js 5. thingjs 也是做的比较好看的,threejs体系的 threejs 是非常有名的 js 3d 引擎,不过 thingjs 嘛... https://www.cnblogs.com/fps2tao/p/16531471.html 这里有个很好的 threejs 入门教程。 6. cocos 现在其实也有 3d 功能,不过没看到什么著名项目?可以作为 u3d 的备份。另外它直接支持 typescript 这点很吸引我。 https://www.cocos.com/docs#creator https://www.cocos.com/products#CocosCreator 6.2 白鹭引擎 看到好多网友吐chao cocos 说是白鹭引擎更好,我看了一下它也是支持 typescript 的。 https://github.com/egret-labs/egret-core 它应该也是至少部分开源的。 不过听说现在大火的 “羊了个羊”游戏是 cocos 写的。 6.3 https://gitcode.net/hello_tute/SheepASheep godot引擎使用 c# 和一个类似 python 的脚本。当前不是很感兴趣。 6.4 好消息是 cocos 天生支持 vscode http://docs.cocos.com/creator/2.4/manual/zh/getting-started/coding-setup.html 6.5 https://blog.csdn.net/elloop/article/details/52987649 https://zhuanlan.zhihu.com/p/31582820 MagicaVoxel比较容易上手, 画刷工具有六种, L 画线 C 圆 P V 自由矢量 F 面 B 方块 MagicaVoxel 是非常有趣的建模软件。 http://ephtracy.github.io/ 7. ue4 其实现在也是开源的,问题是在 linux 据说得自己编译 ... 8. Castle Game Engine - castle-engine 简单易用的 lazarus/pas/delphi 的半官方引擎。 http://newbt.net/ms/vdisk/show_bbs.php?id=27B82942153968696467D6FEBCFEFBA6&pid=159 这是个完整的游戏引擎,有刚体和碰撞体的概念。参考 https://castle-engine.io/features#_visual_editor ================================================================ ---------------------------------------------------------------- 顺便在这里写一下开发异同吧。 其实 cocos 等引擎还是做得很人性化的,操作与 u3d 很是接近。 1. cocos/u3d 都可以定义属性,然后把场景中的物体拖放到脚本属性上进行关连。 2. 都可以产将脚本拖放到物体上进行关联。 3. 都有刚体和碰撞体的概念,以及重力的概念,物体都是要有碰撞体后才能触发点击事件等。 都有射线的概念。 4. 都是在重载的 update 函数中平滑移动物体。 ----- u3d 的例子 Vector3.Lerp插值的理解 public static Vector3 Lerp(Vector3 a, Vector3 b, float t); 其中a代表起点,b代表终点。 下面是官方的例子是1秒动画位置从从from开始到to结束; public class example:MonoBehaviour{ public Transform start; public Transform end; void Update(){ transform.position = Vector3.Lerp (start.position, end.position, Time.deltaTime); } } ---- cocos 的示例 let cur_pos = this.mainCamera.node.position; let new_pos = cur_pos.clone(); new_pos.x = new_pos.x + 1; //cocos 中的位置单位是什么?米? let speed = 0.005; speed = 1; //表示每秒移动一个单位 cc.Vec3.lerp(new_pos, cur_pos, new_pos, deltaTime * speed); //cocos 的函数比较奇怪,这个大概相关于 u3d 中的 新位置 = lerp(起点,终点,速度) this.node.setPosition(new_pos); cocos 的接口似乎更好用一点,因为它的 deltaTime 两帧间隔时间直接在函数中就有了 update(deltaTime: number)
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.