最近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. linux 命令启动Oracle数据库

    首先使用oracle用户登录Linux,然后在shell命令行中执行下面的命令: 第一步:打开Oracle监听lsnrctl start 第二步:进入sqlplussqlplus /nologSQL& ...

  2. PHP判断引入文件是否引入成功

    $included_files = get_included_files(); foreach ($included_files as $filename) { echo "$filenam ...

  3. WEB学习笔记3-开发环境和工具

    WEB前端集成开发环境:Aptana Studio和WebStormWEB前端代码调试:IE浏览器自带的IE Dev Toolbar,Chrome浏览器自带的Developer Tools,Firef ...

  4. Django 1.9 + celery + django-celry 实现定时任务

    celery可以进行任务异步处理,celery还有一种Celery的常用模式便是执行定期任务. 执行定期任务时, Celery会通过celerybeat进程来完成. Celerybeat会保持运行, ...

  5. JVM学习二:垃圾收集(Garbage Collection,GC)机制

    JVM的GC分为两个主要部分,第一部分是判断对象是否已死(堆内存的垃圾回收占主要部分,方法区(metaspace)的内存回收在最新的官方文档中未给出详细解释,暂时不做讨论范围),第二部分是对内存区进行 ...

  6. CentOS无法使用ifconfig和root密码修改

    初学Linux,总是有许多问题,这次就遇到了这个问题: 想使用ifconfig命令查看一下虚拟机的ip地址,结果发现ifconfig命令无法使用,总是显示找不到ifconfig这个命令. 上网查询帮助 ...

  7. ps 处理gif

    ps打开gif后,做了修改(去掉了背景色),但之后发现本来是动图的gif不动了. 解决该问题需要注意两点: 一:保存时,要选择保存为web格式 二:在ps中打开时间轴,在时间轴中选中某一帧时,只能有多 ...

  8. 博客作业06--结构体&指针

    1.本章学习总结 1.1思维导图 1.2.本章学习体会 结构体突破了数组的局限,把不同类型有内在联系的数据汇聚成一个整体,这种新的构造数据类型,提供了更便利的手段,更好的实现代码功能.通过代码建立文件 ...

  9. day08文件操作

    今日内容 文件操作 内容详细 1.打开文件 1.open("作业讲解.py",mode="r",encoding="utf-8") 2.文件 ...

  10. synchronized各种使用场景

    synchronized属于JVM锁机制 一.使用场景 在并发量比较小的情况下访问公共资源,使用synchronized是个不错的选择,但是在并发量比较高的情况下,其性能下降很严重 二.应用场景:同步 ...