最近Pixar的开源USD软件很火,官方在Introduce中明确讲到这个软件的设计开发目标是增强艺术家协作,减少不确定因素,最大化资产版本迭代效率,追求更大的承载能力。

当今行业中传统的线性的制作方式来已经很难满足日益复杂的流程需求了,采用Alemibc是一个好办法,但Alembic只能作为中间文件在Pipeline中传递,并没有提供有力的组装工具,要将多个abc资产组装起来,给予材质,打上灯光,还需要在maya或其他软件中进行。当整个场景非常庞大的时候,maya就会陷入性能的挣扎,在这里需要强调一下:Maya是一个典型的数字内容制作软件,为了提供丰富的操作方式,底层会有大量涉及到交互及传递的实例,在制作过程中这样的机制非常灵活优秀,但在组装过程中,这样的机制就显得冗余了,场景越大,Maya消耗的无关内存就会越多,这也是为什么Pixar要搞USD作为专门的组装的工具的原因。为了应对超大场景的组装,USD的python api是独立于界面的,你可以直接在python中创建场景添加或编辑资产,这个过程非常geek,跳过了显示场景这个最大的性能瓶颈,这也是USD灵活性的一个体现,显然Pixar放言要超越Alembic不是说着玩的。

关于USD怎样介入到Pipeline中,Pixar提供了两个视频:http://graphics.pixar.com/usd/downloads.html,视频中Pixar对各部门的制作顺序及分工做了大致的安排,USD在这样一个有向图中应该着眼于哪一个部分都有阐述,有兴趣可以看看。

官方Introduce中明确说到当前的USD版本在linux中是可以稳定运行的,但在windows、macos中还只能确保运行testsuit无碍,毕竟USD的数据类型及多线程原生基于linux。

基于以上USD的优点,我决定赶个时髦,build一个来研究一下。

废话不多说,步骤如下:

一:安装操作系统

我的操作系统是CentOS7.0的完整版,下载地址:http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1708.iso,你可以选择直接安装到硬盘中,也可以安装到虚拟机中。

如果对CentOS不熟悉,建议安装CentOS7的时候把所有能选的软件包全部选中,防止缺失依赖包。

注意USD的Build过程对虚拟内存大小要求较高,如果虚拟内存不够大,编译是无法继续的。

建议你在terminal中输入free -m查看虚拟内存大小,建议不低于10G,这样不会出错;如果虚拟内存不足,你需要执行以下四行bash命令,其中第一行命令中的count是追加的虚拟内存数,4096000就是追加4G的意思。

dd if=/dev/zero of=/swap bs=1k count=
mkswap swap
swapon /swap
echo “/swap swap swap defaults ” >> /etc/fstab

最后你再次输入free -m查看,确认虚拟内存大小足够。

二:下载USD

下载USD放到硬盘中任意位置,路径中不要有中文,这是常识。下载地址:https://github.com/PixarAnimationStudios/USD

注意:如果你的CentOS7是安装到虚拟机中的,你下载的文件需要从/mnt/hgfs/.中拷贝出来,放到Download中就行,在/mnt/hgfs/中尝试安装会收到权限不足的错误提示。

二:下载Maya2016

下载Maya2016放到硬盘中任意位置,路径中不要有中文,这是常识。下载地址:http://download.autodesk.com/us/support/files/maya_2016_service_pack_6/Autodesk_Maya_2016_SP6_EN_Linux_64bit.tgz

这个Maya安装包中是没有devkit的,安装完毕Maya之后你还需要单独下载Maya的devkit,下载地址:https://github.com/autodesk-adn/Maya-devkit

解压devkit,把linux文件夹中的devkit、include、mkspecs拷贝到Maya安装文件夹中,一般是/usr/autodesk/maya2016。

如果没有安装devkit,你是无法编译安装usdmaya的,这是一个usd提供给maya的插件,如果需要maya与usd进行交互,那么这一步是必须的。

三:安装PySide

在开始菜单栏的Applications->System Tools->Settings中确认当前系统是否联网,如果没有联网,yum install xxx会无法进行。

CentOS提供了yum包管理方式,如果缺少某一个依赖包,你可以通过yum install xxx的方式联网安装,非常方便,这也是我选择在linux中build USD的一个原因。

PySide比较特殊,属于python的库,需要通过pip安装,原生的CentOS需要自行安装pip。安装方法如下:

在terminal中执行以下语句:

sudo yum install pip

输入用户密码,即可安装pip。

然后在terminal中执行以下语句:

pip install PySide

即可安装PySide。

目前最新版本的MacOS是无法安装PySide1.2.6的,所以MacOS可以放弃了,如果你没升级,恭喜你。

四:安装其他依赖项

具体命令如下:

sudo yum install cmake
sudo yum install boost
sudo yum install tbb
sudo yum install alembic
sudo yum install OpenEXR

当然你也可以把五句安装命令写成一行:

sudo yum install cmake boost tbb alembic OpenEXR

执行完毕即可分别安装cmake、boost、tbb、alembic、OpenEXR

五:Buid USD

当以上所有依赖项软件包都安装成功后,你就可以正式安装USD了。

进入USD的build_scripts文件夹中,打开terminal,运行以下命令

python build_usd.py --test --docs --ptex --alembic --hdf5 --maya --maya-location=/usr/autodesk/maya2016 /usr/local/USD

这句命令会将USD编译安装到/usr/local/USD中,于此同时还会安装test、docs、ptex、alembic、usdmaya等组件,接下来你就需要安静的等待了,整个个过程非常漫长,大概一个钟头左右,视机器配置而定。

之后你就可以愉快的运行test中的测试样例来开启USD的新篇章了。

USD在Windows中的安装方式,与linux大同小异,具体可以参考这篇文章:https://qiita.com/takahito-tejima/items/f820e16869ca4343a600

国庆期间比较闲,我会再翻译一些USD的document出来,学习并分享。

以上。

USD在CentOS7.0操作系统下的安装方法的更多相关文章

  1. Linux系统centOS7在虚拟机下的安装及XShell软件的配置

    前面的话 本文将详细介绍Linux系统centOS7在虚拟机下的安装 准备工作 [系统下载] 在安装centOS7之前,首先在官网下载合适的版本 然后,选择一个链接下载即可 [虚拟机配置] 接下来,需 ...

  2. centos7.6环境下编译安装tengine-2.2.2的编译安装

    centos7.6环境下编译安装tengine-2.2.2的编译安装 .获取tengine2..2的源码包 http://tengine.taobao.org/download/tengine-2.2 ...

  3. Linux下软件安装方法即路径设置

    Linux下软件安装方法即路径设置 http://www.cnblogs.com/edward259/archive/2010/07/02/1770066.html

  4. (转载)EhLib 在 Delphi 7 下的安装方法

    EhLib 在 Delphi 7 下的安装方法 1.将 EhLib 解压到一个目录,如:E:\VCL\EhLib: 2.将 EhLib 安装目录下 Common 目录.DataService 目录下的 ...

  5. [学习分享] 在Windows操作系统下如何安装RMySQL包

    最近在做股票的高频交易数据分析,需要用到数据库,而我只对MySQL比较熟悉,于是就安装了MySQL.当我安装好了MySQL后,正兴冲冲地准备安装RMySQL包时,问题来了:RMySQL包不支持wind ...

  6. Linux 操作系统下,安装软件 apt-get、yum 的区别

    Linux 操作系统主要分为两大类: RedHat系列:Redhat.Centos.Fedora等: Debian系列:Debian.Ubuntu等. yum(Yellow dog Updater, ...

  7. OpenEXR-2.2.0在Win7 x64系统下的安装方法

    最近在研究openexr这种文件格式,免不得安装一下OpenEXR软件,这个软件是开源的,需要编译安装,我的安装方法是这样的,分享一下. 一:去官网http://www.openexr.com/dow ...

  8. linux(centos7.0以上版本)安装 mysql-5.7.24-linux-glibc2.12-x86_64.tar 版本的mysql

      1:查看 linux下是否有老版本的mysql(有删除) 查找old mysql:rpm -qa | grep mysql 卸载:卸载命令:rpm –ev {包名}——:rpm -ev mysql ...

  9. elasticsearch-5.2在windows下的安装方法

    elasticsearch-5.2.1安装方法 1. 安装java 下载安装java jdk 1.7 以上 配置java环境变量 右击[我的电脑]---[属性]-----[高级系统设置]---[环境变 ...

随机推荐

  1. SQLServer数据库

    分离数据库:右键数据库→任务→分离数据库→确定 附加数据库:数据库右键→任务→附加→选择要附加的dlf文件→附加 导出SQL脚本步骤:右键数据库→任务→生成脚本→高级→要编写脚本的数据的类型→架构和数 ...

  2. 关于iptables添加规则不生效的问题

    原文:https://blog.csdn.net/donglynn/article/details/73530542 1.我们要增加的规则是:-A INPUT -p tcp -m state --st ...

  3. IP通信基础课堂笔记----第一章(重点)

    七层数据传输:应用层.表示层.会话层.传输层.网络层.数据链路层.物理层 1.物理层:设备----集线器.Hub 两台主机的最大跨度----2500m 在物理层工作----(1)所有设备都处于同一冲突 ...

  4. redis初始化服务器

    从启动 Redis 服务器, 到服务器可以接受外来客户端的网络连接这段时间, Redis 需要执行一系列初始化操作. 整个初始化过程可以分为以下六个步骤: 初始化服务器全局状态. 载入配置文件. 创建 ...

  5. 3D数学基础(二)向量

    向量的基本运算包括加法.减法.点乘.叉乘.单位化运算等,而在游戏开发中使用最为广泛的是减法.点乘.叉乘.单位化运算.向量是具有方向和长度的矢量,有2D.3D.4D等的.在游戏开发里面一般使用的是2D和 ...

  6. WEB学习笔记2-结构组织和文件命名

    常用的前端文件的组织结构: .js(放置javascript代码) .lib(放置框架javascript文件) .custom.js .css(放置CSS样式代码) .lib(放置框架CSS文件) ...

  7. C语言链表:逆序建立单链表

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<malloc.h> #define LEN sizeof( ...

  8. D1——初读《Head First Java》

    今天随便看了点<Head First Java>,发觉这本书的风格真是有趣.打算先把这本书踏踏实实的看了.学习切忌好高骛远.心浮气躁,尤其入门基础阶段更应该踏踏实实地学习知识.下面随便谈谈 ...

  9. [ 随手记 4 ]C/C++ 模板(Template)使用/重载区别

    (原创)个人理解: 模板,故名思义,就是一个模子: 模板分为:类模板和函数模板(也可叫模板类和模板函数): 模板特点:(1)函数名字一样: (2)调用的形参的数据类型不同,但形参个数相同: (3)函数 ...

  10. Pymongo使用事项

    基本上的教程都有,就不阐述了,这里主要记录使用时遇到的问题 1. 再使用有权限的mongodb连接时,需要user指定role所在的集合,如图: 在pymongo创建MongoClient 除了增加u ...