V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Game Engines
Unreal Engine
MyCryENGINE
x1aoYao
V2EX  ›  游戏开发

请问选 Unity 还是 Godot

  •  4
     
  •   x1aoYao · 2022-11-22 14:15:04 +08:00 · 7087 次点击
    这是一个创建于 730 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大佬们是这样的,半年前我开始在下班后写独立游戏玩,用的是 Rust 的 Bevy 框架。 由于是初次使用 Rust 所以进度很慢,现在仅完成了基本玩法框架,还有非常非常多的地方需要调,但现在遇到一个问题:

    需要输出 3D 游戏画面了,而不是只能用来 Debug 的 2D 纯色块和数字,现在只能我脑内渲染还原,对我调游戏细节帮助很有限。 但是我对渲染完全不懂,只做过服务器开发,也不在游戏行业,所以从 0 开始撸画面还是 3D 的对我来说不现实, 想找一个有非常多开箱即用的渲染工具,至少前期只有我一个人的情况下先用着,而 Bevy 能搜到的资料很少,且离 1.0 稳定版也还早(已经经历了从 0.7 迁移到 0.8 到 0.9)

    所以我只想把它用作服务端,承担大部分业务逻辑,部署在服务器上还能多人联机,然后把客户端主要用作画面渲染表现,这就回到了标题的问题,选 Unity 还是 Godot 来做客户端:

    1. Unity: 用的人多,资料文档都比较丰富,但我没接触过 C#
    2. Godot: 开源,易上手,支持第三方语言,但资源估计要差很多
    43 条回复    2022-11-29 08:25:37 +08:00
    fengjianxinghun
        1
    fengjianxinghun  
       2022-11-22 14:16:12 +08:00
    unity, 别给自己找麻烦。
    HugoChao
        2
    HugoChao  
       2022-11-22 14:26:35 +08:00
    听说 unity 可以用 js 写?效率怎么样
    okakuyang
        3
    okakuyang  
       2022-11-22 14:28:29 +08:00   ❤️ 1
    @HugoChao 现在不支持
    x1aoYao
        4
    x1aoYao  
    OP
       2022-11-22 14:28:31 +08:00
    @fengjianxinghun 那我先研究下 Unity 吧。主要是感觉有点无从下手的感觉... 语言 编辑器 都没用过
    zhuangzhuang1988
        5
    zhuangzhuang1988  
       2022-11-22 14:30:07 +08:00
    C# 不是事儿
    有 ide 给你帮忙
    zhusiyu
        6
    zhusiyu  
       2022-11-22 14:36:02 +08:00   ❤️ 1
    语言问题不大,没文档一个问题卡你半天
    x1aoYao
        7
    x1aoYao  
    OP
       2022-11-22 14:36:18 +08:00
    @zhuangzhuang1988 行。估计最大的问题还是上手 Unity 本身
    a33291
        8
    a33291  
       2022-11-22 15:10:25 +08:00
    u3d 的话他官方示例很快就出一个小游戏,但前提是人家各种美术资源都是预制好的,包括炫酷的动画等。如果没有美工,u3d 应该也不会帮助你太多吧?
    x1aoYao
        9
    x1aoYao  
    OP
       2022-11-22 15:20:32 +08:00
    @a33291 美术模型这些估计只能在网上外包了吧大概 说实话我现在也不知道还会遇到哪些问题....
    a33291
        10
    a33291  
       2022-11-22 15:29:33 +08:00   ❤️ 1
    @x1aoYao 我说说我的感受
    我会 C#,因为个人兴趣也去学习过 u3d ,但当前自我评价为 “会熟练安装卸载 u3d”。然后总结有以下几点

    1. 图形学+数学基础要有,否则一些动画或者效果变换等搞不定
    2. 语言基础(不需要每个特性都会,因为 runtime 不一样,截止 2022 ),u3d 官方后续会切换到 netcore ,当前还是 mono 。个人认为 C#上手很快,官方文档齐全,社区开放活跃。
    3. 编辑器要会用,vs 不说了,这个几乎没有上手难度,而且智能提示一流。u3d 的 editor ,老实说,我不太会用,也不太喜欢他的 ui
    4. 其他(比如发布特定平台有特定要求,典型的如 ios ,你要有开发者认证 66 刀 /年,等)
    x1aoYao
        11
    x1aoYao  
    OP
       2022-11-22 15:45:24 +08:00
    @a33291 感谢大佬。
    图形学这个水太深了,我估计是啃不动了,只能专业的事交给专业的人来搞了。我只期望初期能搜到一些简单的直接复用好了
    语言还好,最初是想尽量减少学习成本了,现在发现这个相对于其他的大概不算啥了,比如美术动效等等
    距离发布,可能还相当早,除非全职。但这个需要有个像样的成果才能说服自己和家人。现在连玩具都谈不上,笑)
    Maboroshii
        12
    Maboroshii  
       2022-11-22 16:17:46 +08:00
    搭车求一个 unity 实在点的教程,感觉网上的野路子太多了,不知道学哪个
    xieren58
        13
    xieren58  
       2022-11-22 16:18:38 +08:00
    Godot 也支持 c#啊.
    xieren58
        14
    xieren58  
       2022-11-22 16:19:12 +08:00
    godot 还可以 rust
    fengjianxinghun
        15
    fengjianxinghun  
       2022-11-22 16:20:41 +08:00
    提醒一下,玩 unity 假如用 vs 一定要去买一个 github copilot ,真正生产力提升。
    morningtzh
        16
    morningtzh  
       2022-11-22 16:40:57 +08:00
    我也是做游戏玩, 一开始玩了 unity, 但发现好多基础知识不够, 然后学习了 blender 做动画. 后面看了一下 games101 的图形学入门课程, 这个建议楼主学习.

    c#很舒服, yyds. 楼主会 rust 肯定会 c++, python 肯定也了解. 这样上手 c#完全无难度的.
    a33291
        17
    a33291  
       2022-11-22 16:41:28 +08:00
    我这种 u3d 渣渣,愧对大佬一词。

    反正既然其他也没有经验,不妨试一下 u3d ,实践才会遇到问题,不要先给自己构造无形的墙。
    u3d 目前的问题在于很过国内中文资料都比较老(比如很多 u3d4 5 的资料),但是他现在版本迭代非常快,所以更多的需要找英文资料和官方文档。

    先从他官方的 demo 入手,应该是个不错的方向
    chnzxg
        18
    chnzxg  
       2022-11-22 17:59:45 +08:00
    楼主有兴趣一起交流下吗,我现在也在尝试自己做独立游戏,目前正在自学 unity 和 blender
    okakuyang
        19
    okakuyang  
       2022-11-22 18:20:33 +08:00   ❤️ 1
    u3d 也好虚幻也好,都是有商店的,模型,代码都可以在上面买,也可以外包。他们本身游戏引擎是不赚钱的,赚钱的做平台抽成。

    商业游戏引擎发展到现在,已经不需要开发者自己去写很多很复杂的底层代码。开发者主要需要写出关卡的逻辑脚本。

    独立开发者最常见的误区就是在“独立游戏引擎”上耗费时间。
    独立游戏引擎常常能让开发者自己参与一部分引擎的实现,但是这些东西你自己写不一定有别人写的好,往往重复造轮子。遇到不完善的部分你翻遍全网也没有答案。这些都会消耗掉制作游戏的宝贵时间。
    Ruohua3kou
        20
    Ruohua3kou  
       2022-11-22 18:28:07 +08:00   ❤️ 1
    @Maboroshii 自己做着玩的话,unity 官网的教程就够了
    kriko
        21
    kriko  
       2022-11-22 18:44:31 +08:00
    其实如果对画面要求不大,那么为何不试试 文字游戏 呢(这里不是指 mud 游戏,当然 mud 也很符合要求)
    steam 上就有一个,游戏名字就叫 文字游戏
    很有创意
    hst001
        22
    hst001  
       2022-11-22 18:55:27 +08:00
    如果你这个项目是认真的,考虑到你只有一个人,其实你的选择只有 Unity ,C# 几乎不用花时间去学,可以直接上手
    ZhouSyou
        23
    ZhouSyou  
       2022-11-22 18:59:25 +08:00   ❤️ 2
    Godot 可以一边做游戏,一边给引擎修 BUG ,用 Unity 做得到吗?
    seekmyduck
        24
    seekmyduck  
       2022-11-22 19:10:47 +08:00   ❤️ 1
    Godot 今年用过一点,刚开始用 gdscript 的时候感觉很爽,学起来快,写代码很快很方便,后来代码越写越长,感觉越来越难维护, 尤其是 IDE 只能同时打开一个文件写代码,然后我换成 vs code 写代码,代码提示又成了问题
    然后就换 C#版的。。用了不到几分钟,我觉得还不如用 unity 呢
    最后就再也没有用过了。
    我觉得 Godot 的使用场景,就是你想拿着一个笔记本,有闲暇的时间,做很小很小的游戏,或者做做小 demo 可以考虑
    ragnaroks
        25
    ragnaroks  
       2022-11-22 19:20:02 +08:00
    独立游戏要么不使用集成框架,要么使用 unity ,所以没得选
    wuxqing
        26
    wuxqing  
       2022-11-22 19:33:26 +08:00
    没人提 Unreal Engine 5 ?
    z1645444
        27
    z1645444  
       2022-11-22 20:08:36 +08:00
    建议等一手 Godot 4.x statble ,然后才去用 Godot ,用 Unity 主要是现存可参考的解决方案会多很多
    FightPig
        28
    FightPig  
       2022-11-22 20:21:10 +08:00
    Unity 吧,资源多,有问题至少能搜索到
    visionsmile
        29
    visionsmile  
       2022-11-22 20:24:13 +08:00
    推荐 UE5
    liuxu
        30
    liuxu  
       2022-11-22 21:31:51 +08:00
    我也想做个游戏玩玩,我想做 2D 多人在线的生活养成类游戏,准备 12 月开始动手,观摩下
    james504
        31
    james504  
       2022-11-22 21:40:03 +08:00 via Android
    如果只能二选其一,那我选第一个。
    wdhwg001
        32
    wdhwg001  
       2022-11-22 22:21:32 +08:00   ❤️ 2
    怎么说呢,C#很甜很好用,基本上没啥障碍,障碍在 Unity 本身。

    你如果用过 Bevy 的话,再回头去用 Unity 的 DOTS 里的 ECS ,会很明显地感觉到落差。

    然后如果退而求其次用传统 Unity 的话,你又会明显感觉到 OOP 的沉重感。

    如果你再去用 Godot 的话,它几乎是纯 OOP 的,虽然套娃感觉会稍微比 Unity 轻量一点点。

    所以建议的话,如果你对 Bevy 现在的那套 ClusteredForward 的管线和 ECS 比较熟悉,不妨继续用 Bevy ,因为你在上面两个引擎里是看不到这么新这么优雅的架构的。

    但如果一定要选一个的话,Unity 就好。
    wdhwg001
        33
    wdhwg001  
       2022-11-22 22:23:35 +08:00   ❤️ 1
    补充一点,如果没有爬屎山的勇气和呼吸面罩的话,不要去尝试 UE ,它对于一个用惯了 Bevy 这样容不下半点额外渣滓的小引擎的人来说简直能熏死人。
    dvsilch
        34
    dvsilch  
       2022-11-23 00:01:01 +08:00
    感觉一开始没必要硬啃 ECS ,unity 现在 DOTS 才刚发 1.0 正式版不久,先把 Burst 和 Job 学会了
    lancelock
        35
    lancelock  
       2022-11-23 02:52:43 +08:00
    你没接触过 c#,难道就接触过 gdscript?
    e7
        36
    e7  
       2022-11-23 09:39:32 +08:00
    godot 感觉编辑器比较稳定,但我不知道改了啥配置游戏进程卡死了,资源占用都正常,只能强杀,都不知道怎么调试。
    unity 只是编辑器有点不稳定,有时候没保存就卡死不响应了,游戏进程正常。
    所以还是 unity 吧
    x1aoYao
        37
    x1aoYao  
    OP
       2022-11-23 09:54:36 +08:00
    @lancelock godot 有 kotlin/golang/rust 等语言的绑定呀,只是大多数都不稳定,而且 3.5 用的 gdnative ,4.0 用的 gdextension ,到时候迁移会很麻烦,所以算了。所以一开始确实是打算用 gdscript 的,感觉和 python 差不多。
    现在决定就 Unity 了。
    x1aoYao
        38
    x1aoYao  
    OP
       2022-11-23 10:00:36 +08:00
    @chnzxg 好呀,我目前对 Unity 还是 0 了解
    mikasyou
        39
    mikasyou  
       2022-11-23 11:19:17 +08:00
    我和楼主一样是后端开发。
    最近也在玩 unity ,目标是虚拟自己家的户型,模拟一些智能家居场景。
    用一周学习 blender 建了户型白模。然后实现人物漫游,搞到人物骨骼,动画这一步了,目前还没遇到什么难点(资料多就是好),主要是很多东西都是第一次了解,需要踩坑。

    (编辑器用 jb 家的 rider 就好,暴论:vs 一坨 shit
    Y9qn1d
        40
    Y9qn1d  
       2022-11-23 16:04:00 +08:00 via iPhone
    看你想做什麼,godot 開發比 unity 快,包體小,h5 支持比 unity 好太多。unity 的 h5 基本不能用。除非你有什麼效果 godot 做不了,非要 unity 才行,或者你想大陸找工作,那就 unity 。個人項目、獨立遊戲我選 godot 。
    chnzxg
        41
    chnzxg  
       2022-11-24 21:25:10 +08:00
    @x1aoYao 我是在 b 站看 m_studio 这个 up 的视频学 unity ,他的视频都比较易懂,就是节奏稍快点。因为本来是做 java 的,接触 c#基本没啥压力。学了一段时间尝试自己做游戏发现逻辑是没啥问题了,但是 3d 模型和渲染这块知识实在是欠缺,就滚去学 blender 了,准备先打好一些图形学基础。楼主有兴趣的话可以加我微信一起交流 : ) gemini_sum
    simoncherrygz
        42
    simoncherrygz  
       2022-11-27 15:04:57 +08:00
    @chnzxg @x1aoYao 我之前是做 Android ,公司项目需要接触了 unity ,用了差不多 2 年; blender 也会一丢丢;看两位朋友也是从其他方向转过来,感觉有点相似,如方便的话希望能够交流交流,谢谢
    Xpeihy
        43
    Xpeihy  
       2022-11-29 08:25:37 +08:00
    去外网搜过一遍你就会清楚,每个引擎都有它们各自的特点,没有说谁就比谁一定好。反正大部分老外的建议就是开一个很小的项目,用每个引擎都试一遍,你就知道你喜欢用哪个了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3673 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 10:35 · PVG 18:35 · LAX 02:35 · JFK 05:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.