查看: 367|回复: 13

[引擎各个功能] 【在虚幻 4 中使用 Perforce 作为版本控制软件 | Unreal Engine】

[复制链接]

1

主题

273

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
73034
发表于 2016-6-25 18:44:14 | 显示全部楼层 |阅读模式


本页面的内容:

      
工作流程

在虚幻引擎 4 中使用 Perforce
在本地机器上设置 Perforce 服务器
P4 Typemap
局域网的服务器
云服务商
设置本地的 Workspace
向 Perforce 添加文件
从虚幻编辑器中连接
     
虚幻引擎 4 已经整合了一个叫做 Perforce 的版本控制软件,以便让大家能够在项目上协同工作。版本控制软件能够为团队成员提供一个共享资源和代码的方式,并且还提供了文件的备份以及历史记录查询,这样便能在当有问题发生时将某部分回滚到一个早先的版本上。
工作流程
在虚幻编辑器中,对于资源的工作流程基本上都是遵循了 Perforce 的流程。文件,或者叫资源文件(扩展名为 .uasset 和 .umap)是编辑器主要的工作对象。由于这些文件是二进制的格式,因此并不能被作为文本文件打开,也不能在文本合并工具中合并。因此,当对一个文件进行改动时,编辑器将会锁定该文件(在 Perforce 中被叫做 Check Out),这样其他用户就无法对它同时也进行修改。当该用户完成了对这个锁定的文件的修改编辑,则需要签入(check in 或者 commit)那些文件,将文件上传到服务器上,并且释放文件的锁定状态。
在虚幻引擎 4 中使用 Perforce
在本地机器上设置 Perforce 服务器
可以在 这里 下载到 Perforce 服务器工具。一旦下载后,运行安装文件并选择服务器的路径地址和资源文件名称。

运行 Perforce 服务器又两种方式,P4D 和 P4S。P4D 运行时是一个命令行命令,因此它通常被用来做维护工作时使用。P4S 是一个和 P4D 相同功能的服务,这能让服务器程序在后台运行。当安装 Perforce 服务器工具后,P4S 通常都会被安装并在后台启动。

有时候服务并没有自动启动。要先在 Control Panel -> Administrative Tools ->Services applet 的 列表中找到 Perforce Service 并启动它:

SC_Enable_P4_Service.jpg



一旦服务运行后,可以通过 P4Admin 连接到服务器上。这是该服务器上第一个链接,然后就可以在初始连接对话框中创建新用户了。

SC_P4_Setup.jpg



将服务器的连接信息填入,并点击 OK。一旦在 P4Admin 中连接道服务器后,就可以很容易的创建新的 Depot,用户,用户组。然后就能在 P4V 或者虚幻编辑器中使用新创建的认证信息来连接服务器。

阅读 P4Admin 文档 来获取进一步关于 Perforce 使用的信息。

P4 Typemap
在向新的 Depot 添加文件前,应当先设置 P4 Typemap 来让 Perforce 了解如何对待虚幻文件类型。typemap 的设置能够在 Perforce 中控制文件的只读和可写的形式。然后要做这件事情,需要先在命令行下设置 P4 的环境变量。
p4 set P4USER=your.usernamep4 set P4PORT=localhost:1666
将上面相应的部分替换为您的用户名和连接地址,并用下面的命令打开 typemap 设置。
p4 -P YourPassword typemap
然后将会看到一个文本窗口,这就是当前服务器的 typemap。下面是我们以前用过的 typemap 示例:
# Perforce File Type Mapping Specifications.##  TypeMap:
      a list of filetype mappings; one per line.#


  Each line has two elements:##


  Filetype: The filetype to use on 'p4 add'.##


  Path:     File pattern which will use this filetype.## See 'p4 help typemap' for more information.TypeMap:

  binary+w //depot/....exe

  binary+w //depot/....dll

  binary+w //depot/....lib

  binary+w //depot/....app

  binary+w //depot/....dylib

  binary+w //depot/....stub

  binary+w //depot/....ipa

  binary //depot/....bmp

  text //depot/....ini

  text //depot/....config

  text //depot/....cpp

  text //depot/....h

  text //depot/....c

  text //depot/....cs

  text //depot/....m

  text //depot/....mm

  text //depot/....py

  binary+l //depot/....uasset

  binary+l //depot/....umap

  binary+l //depot/....upk

  binary+l //depot/....udk
完成编辑后,点击键盘上的 Ctrl+S 保存并退出。命令行应该会提示 Typemap saved。

局域网的服务器
可以在本地局域网中设置一个服务器方便团队成员协同工作。只需要遵循上述的过程搭建服务并在客户端使用该服务器的连接信息即可。

云服务商
有一些云服务商提供了 Perforce 的云端架设服务以方便远程协作。可以先快速浏览以下搜索引擎中的 Perforce Hosting 结果。每个主机服务商都有些不同,但总的来说都是会提供一组验证信息供你连接。查看下面的 从虚幻编辑器中连接 的部分来了解连接到 Perforce 云服务的信息。

设置本地的 Workspace
要在 Perforce 管理下的文件进行工作,需要在本机设置一个 Workspace 这样 Perforce 才能管理这些文件。可以在 P4V 界面的主菜单中,View 菜单下的打开 Workspace 分页然后便能创建 Workspace 了:

SC_View_Workspace.jpg



要创建一个新的 Workspace,右键点击 Workspace 窗口空白处,选择 新建 Workspace 选项。然后输入要创建的 Workspace 的资源文件名称,以及你希望文件存储在本机的位置资源详细内容,即 Workspace 的根资源详细内容。

SC_New_Workspace.jpg



一旦有了服务器以及一个本地的 workspace 设定,便可以开始添加文件了。目前这必须在编辑器外,通过 P4V 来完成。如果 workspace 中已经有了其他成员设置过的文件,则可以先跳过这一步。在创建一个新项目时,可以选择是 C++ 项目还是纯蓝图项目。如果选择了 C++ 项目,则可以在项目资源详细内容中可以看到有 Source/ 资源详细内容。下面这些项目资源详细内容初始就应当被添加到版本管理中:

SC_P4_Files_To_Add.jpg



被高亮为 绿色 的资源详细内容和文件应该被添加到项目的 Depot 中。Binaries 资源详细内容高亮为 黄色,可以选择是否要加入到版本管理中,这取决于团队自生的工作需要。如果团队中每个人都准备自己来编译引擎和游戏的话,那么 Binaries 则无需加入到版本管理中,但如果团队中有人只是想获取一个版本就能直接在编辑器中工作的话,则需要把 Binaries 添加上去。请留意先前的 server typemap 的设置,能够让程序员们直接重新编译版本而不受在默认的 Perforce 管理配置下这些文件只读属性的限制。

向 Perforce 添加文件
向 Perforce 添加文件可以通过以下几个步骤完成。

要添加文件/资源详细内容到 Perforce的话,先在 P4V 中选择这些文件/资源详细内容,然后 点击右键 并选择 标记为添加 Mark For Add 选项。

SC_P4_Mark_For_Add.jpg



这将会在默认的 changelist 中添加这些文件。所有添加的文件都可以在待上传 Changelist 分页中查看到:

SC_View_Pending_Changelists.jpg



要提交文件的话,首先在 changelist 上 点击右键 并选择 Submit。然后就可以填写上传的描述信息,并点击 Submit 按钮完成提交。

SC_P4_Submit_Files.jpg



如果要在一个其他人已经开始的项目中工作,可以直接在 P4V 中从 Perforce 上获取最新版本。只需要在 P4V 的 Depot 视图中找到相应的项目资源详细内容,然后再该项目上 点击右键 并选择 获取最新版本。然后将会根据当前 workspace 的根资源详细内容设置来获取该项目的所有文件到本地硬盘中。

从虚幻编辑器中连接
可以在编辑器中直接连接 Perforce 服务器,只需点击 工具栏 的 版本控制 按钮:

SC_UE4_SC_Enable.jpg



打开后,选择 Perforce 作为软件版本管理软件的提供商,并输入登录验证信息。如果已经设置过 workspace 的话(当前项目正在该 Workspace 内),登录信息将会自动填上。

SC_P4_UE4_Setup.jpg



对于有些服务器,也包括很多云端的服务,可能会需要手动输入主机和密码信息才能在编辑器中访问 Depot。可以在 Perforce 的登录对话框中打开高级选项即能看到:

SC_P4_UE4_Setup_Advanced.jpg





   



   


      




   


      相关页面

  




       源代码控制集成








      内容浏览器








      重定向链接








      项目设置








      配置文件




回复

使用道具 举报

0

主题

903

帖子

2955

积分

vip会员

Rank: 1

积分
2955
发表于 2016-7-2 19:06:53 | 显示全部楼层
哈哈哈好大呀
回复 支持 反对

使用道具 举报

0

主题

836

帖子

2751

积分

vip会员

Rank: 1

积分
2751
发表于 2016-7-3 00:35:14 | 显示全部楼层
谢谢楼主分享哈!
回复 支持 反对

使用道具 举报

0

主题

864

帖子

2858

积分

vip会员

Rank: 1

积分
2858
发表于 2016-7-4 04:59:00 来自手机 | 显示全部楼层
看看贵不贵,不贵就下
回复 支持 反对

使用道具 举报

0

主题

843

帖子

2805

积分

vip会员

Rank: 1

积分
2805
发表于 2016-7-4 14:51:23 | 显示全部楼层
不错,我喜欢这个,看看多少金币哦
回复 支持 反对

使用道具 举报

0

主题

1246

帖子

3918

积分

vip会员

Rank: 1

积分
3918
发表于 2016-7-7 03:44:50 | 显示全部楼层
哈哈  找i了好久
回复 支持 反对

使用道具 举报

0

主题

934

帖子

3100

积分

vip会员

Rank: 1

积分
3100
发表于 2016-7-9 11:25:52 | 显示全部楼层
很好的东西!
回复 支持 反对

使用道具 举报

0

主题

1247

帖子

3904

积分

vip会员

Rank: 1

积分
3904
发表于 2016-7-11 02:51:00 | 显示全部楼层
好东西,多些楼主分享
回复 支持 反对

使用道具 举报

0

主题

851

帖子

2807

积分

vip会员

Rank: 1

积分
2807
发表于 2016-7-13 09:55:14 来自手机 | 显示全部楼层
真是是好人啊,,过来看看
回复 支持 反对

使用道具 举报

0

主题

880

帖子

2898

积分

vip会员

Rank: 1

积分
2898
发表于 2016-7-13 15:56:51 来自手机 | 显示全部楼层
好东西,所噶
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部