登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> CLQ工作室开源代码 >> 主题: ⭐非著名 3D 引擎收集     [回主站]     [分站链接]
标题
⭐非著名 3D 引擎收集
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)



总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录
跨框架 3d 操作参考 更多



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1