最近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. Hadoop Hive HBase Spark Storm概念解释

    HadoopHadoop是什么? 答:一个分布式系统基础架构. Hadoop解决了什么问题? 答:解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储(HDFS) ...

  2. 记Weblogic部署BUG(websocket)

    将含有websocket的SSM项目部署在Weblogic上面,遇到websocket报错如下 java.lang.ClassCastException: org.springframework.se ...

  3. 【Python】关于decode和encode

    #-*-coding:utf-8 import sys ''' *首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将 ...

  4. matlab画图命令笔记

    1 函数画图fplot % Create a function plot of y = x^3 over the domain of [-2 2]. % Plot with a thick red l ...

  5. s21day23 python笔记

    s21day23 python笔记 一.内容回顾及补充 字符串格式化 %s # 示例一:特别注意:最后的右括号前面必须有逗号(,) msg = '我是%s,年龄%s'%('alex',19,) # 元 ...

  6. Centos中安装gitlab

    安装依赖: sudo yum install curl openssh-server openssh-clients postfix cronie sudo service postfix start ...

  7. Matlab 如何/怎样 读取图片 显示图片 转换成灰度图

    % 读取图片 im = imread('路径') >> im = imread('ny.png'); % 显示图片 imshow(im) >> imshow(im) % 转换成 ...

  8. PTA——数组平移

    PTA 7-52 数组元素循环右移问题 #include <stdio.h> int main(){ ]; int n,m,t,c; scanf("%d%d",& ...

  9. 2018.5.24 lvm创建pool

    在调试生产环境时遇到以下情况: 好奇心驱使下,发现是lvm的一个功能——lvm创建pool,就手动创建了相似的环境,操作截图如下: 主要命令: vgcreate -s 32M vg /dev/vdb1 ...

  10. 一个简单springboot搭建

    首先,新建一个maven项目,new maven project 然后打开pom.xml,引入需要的jar包,代码如下: <parent> <groupId>org.sprin ...