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

UE5 同事同时使用 Win 和 Mac 怎么协同开发

  •  
  •   XLJZT · 234 天前 · 1708 次点击
    这是一个创建于 234 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们现在有个项目,美术已经完成所有预览的逻辑和大概效果,现在进入开发阶段,由于公司并没有成熟的开发流程,而且还同时拥有 Mac 和 Win 两大操作系统,最终效果是要输出成 Win 的版本,目前美术(Win)做的版本我们拿到自己电脑( Win )上依旧有各种打不开的问题,是采用将主要的几个文件夹复制并覆盖到新的项目中,然后进行跑通的,在 Mac 上是根本跑不了的。所以我的问题是:

    1.我使用 Mac 应该解决和打家协同开发这个问题? 2.想问一些公司的大佬是怎么解决和美术策划等协同开发一个项目的,git or svn? 创建各自分支吗? 3.现在进入开发阶段,是不是应该重新开一个新工程,然后根据计划在新工程上进行开发,不是在美术的展示效果工程进行修改(我觉得这样不可行,因为美术写的东西很冗长,改起来不如自己写,并且我们可以让美术把资源从老工程上搬到新工程上,又可以省去冗余的 assert),或者我想听一下大佬们的建议 (项目是一个数字孪生的项目)

    13 条回复    2023-09-07 11:32:48 +08:00
    MCVector
        1
    MCVector  
       234 天前
    美术资源比较多的话我们会用 perforce.。代码和资源也可以分开管理。
    itskingname
        2
    itskingname  
       234 天前
    现在都有虚幻 5 了吗?我还一直以为最新的是虚幻四。国内还有很多公司用虚幻 3
    lysS
        3
    lysS  
       234 天前
    最终效果是 win ,就统一 win 上开发啊
    XLJZT
        4
    XLJZT  
    OP
       234 天前
    @itskingname 5.2 了已经,越来越大,越来越牛 b
    XLJZT
        5
    XLJZT  
    OP
       234 天前
    @lysS 在公司用的自己电脑,公司没给安排电脑呢还
    XLJZT
        6
    XLJZT  
    OP
       234 天前
    @MCVector 刚了解了下,看起来很不错
    hxm0070
        7
    hxm0070  
       234 天前   ❤️ 1
    同行建议:
    1.弃用 MAC ,除非你们要发布的平台包含 mac 或者 iphone 。使用 UE 为主要生产工具的,最终都会走向这一条路。我们以前用 MAC 的平面美术都已经改用 Win 了,毕竟有时候需要自己看一下效果,装个 UE 省事。
    2.NAS 吧,UE 跟代码不一样,动辄几十 G ,临时文件缓存文件又多,SVN 和 GIT 不合适,而且对美术来说学习和习惯养成成本太高。搞个 NAS ,内网千兆或 2.5G ,有钱的话上万兆,分配好权限和目录,帮他们本地固定好访问路径,他们只需要复制粘贴就好了。每次项目执行过程中保留所有版本,项目完成后统一进行一次版本归档和清理。
    3.既然有打不开的问题,那就新开工程,你们还只是内部协作,我们有时候找外包做美术,UE 版本都不一样,没用的关卡、assert 一大堆,拿到后第一件事就是开新工程转移必要的资源,还能减少工程体积。
    XLJZT
        8
    XLJZT  
    OP
       234 天前
    @hxm0070 感谢大佬的细心回复
    yucao
        9
    yucao  
       233 天前
    槽点有点多,我作为在大厂混了几年的游戏客户端程序来讲讲:
    1 、统一用 Windows ,所有商业游戏引擎对 Windows 的支持都显著优于 Mac ; Mac 只要能编译出包就行(构建 IOS 程序)
    2 、我司使用的是 SVN ,但是其实 Perforce 也很不错,项目人不多的话,统一在主干线上开发即可(我经历的项目 200+人大部份都在主干开发,没有什么问题),如果要进行一个 feature 验证等,再去拉分支,如无必要,不要无意义去拉分支,这样只会在后期带来合回主干等各种麻烦事(不建议使用 Git ,美术用不明白的,血的教训...)另外,缓存文件不用上传,你应该要知道哪些缓存文件本地生成就行,哪些一定要传,可以通过配置把临时文件给屏蔽出上传 List 里面,比如你用 VSCode ,那像.vs 这种文件夹里面的东西,显然是可以不用传的
    3 、如果你觉得应该新开一个工程,就新开一个吧,但是新开一个就别换了,引擎一定要选择一个版本不要动,可以从 GitHub 上拉取一个分支编译专门给你们项目用,不然不同人用不同的引擎,出了一些底层相关的 bug 根本没有办法定位,后期要升级引擎也可以统一升级,不应该让其他人去下载公开版的 UE (你发帖的时候还是 UE 5.2 ,今天出了 5.3 ,你咋办)
    leconio
        10
    leconio  
       233 天前 via iPhone
    啊? epic 和 apple 不是官司对手吗,ue5 在 mac 上一直不太行吧,很多特性都没有。而且如果之后苹果想搞 epic ,ue5 不一定能经常在 mac 上更新
    XLJZT
        11
    XLJZT  
    OP
       233 天前
    @yucao 谢谢大佬回复 2. 已经感受到美术用不明白的痛苦了,另外针对上百人在一个分支上进行开发,我想问一下是不是有什么规定或者办法去解决多人同时修改文件的问题呢,还是说每个人负责各自的模块不会进行互相的修改?
    yucao
        12
    yucao  
       233 天前
    @XLJZT 我经历的项目是大家分工都是很明确的,比如程序是按照负责的模块处理,美术在游戏上,分为模型、特效、场景、灯光等,这些都是解耦的,组合到一起是策划的职责,这也是非常重要的一部分。另外,要有管线概念,比如等到场景基本完成后,灯光美术再介入等等,来构建制作流水线
    但是当如果你发现很多人都在改同一个东西,或者改某件东西时,会影响到一个全局的东西,导致反复冲突时,作为程序就要检查为啥会影响,可不可以解耦拆出来,比如可以拆成一些可以分别保存的 bytes ,然后在具体跑起来的时候进行动态组合,总之程序在一个 UE 项目中应该是当作一个润滑剂来加速团队的管线
    XLJZT
        13
    XLJZT  
    OP
       233 天前
    @yucao 了解了 谢谢大佬
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2797 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:08 · PVG 18:08 · LAX 03:08 · JFK 06:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.