New Features for Softimage 2011 Subscription Advantage Pack (version 9.5) (JP)

ここでは、Autodesk Softimage 2011 Subscription Advantage Packで利用可能になった新しい機能と拡張された機能の概要について説明します。 現在、SDKドキュメントの大幅な設計変更が行われているため、本リリースにおいてのみSDKドキュメントは更新されません。 ただし、Softimage 2011 Advantage Packに導入されたSDKの新機能とAPIの変更点については、このwikiページで詳しく説明しています。

Table of contents

カスタマイズとSDK

SoftimageでのカスタムPythonモジュールの操作

PythonモジュールはSoftimageプラグイン用に再利用できるコードを記述するのに便利です。 Softimageプラグインにモジュールを読み込むには、まず、モジュールを見つける場所をPythonに対して指定するために、モジュールフォルダのパスをPythonシステムパス(sys.path)に追加する必要があります。 モジュールファイルの場所をPythonに対して指定した後、そのモジュールをプラグインに読み込むことができます。

 #---------
 import sys
 sys.path.append( ‘d:\MyModules’ )
 import moduleA
 --------

上記の例は、d:\MyModulesに定義されているmoduleAを読み込みます。 sys.pathには2つ以上のパスを追加できますが、Pythonがモジュールを探す順序は追加したパスの順序によって決まることに注意してください。 パスによっては、sys.pathに追加することが必ずしも最も便利な方法であるとは限りません。 特に、プラグインを異なる場所にインストールする必要がある場合です。 たとえば、プラグインファイルと同じ場所にモジュールがあるとき、プラグインパスをsys.pathに追加しなければなりません。 この場合、Softimageによってプラグインファイルフォルダのパスに設定される__sipath__という変数を使用します。 この変数は常にプラグインファイルのネームスペースに定義され、Softimage Applicationオブジェクトを経由せずにそのまま使用することができます。

 #---------
 import sys
 if __sipath__ not in sys.path:
 	  sys.path.append( __sipath__ )
 import moduleA
 --------

上記の例は、Pythonがプラグインフォルダを検索してmoduleAを読み込みます。 また、このコードでは__sipath__がsys.pathにのみ追加されるようにしています(プラグインはSoftimageの1つのセッション内で複数回ロードされる可能性があるため、この確認が必要です)。 __sipath__は、プラグインフォルダに関連する任意のフォルダパスを指定するために使用することもできます。

 #---------
 import sys
 import os
 myModules = __sipath__ + os.sep + ‘MyModules’
 if myModules not in sys.path:
 	  sys.path.append( myModules )
 import moduleA
 --------

Softimage siutilsモジュールには、モジュールパスをより簡単に指定できる機能があります。 また、ソースコードファイルをモジュールとして読み込む機能もあるため、プラグインを記述するときにバージョン管理を考慮する必要がある場合に便利です。 siutilsモジュールファイルはSoftimageアプリケーションフォルダ(<install_folder>\Application\bin\siutils.py)にあります。 以下に、siutilsで定義される機能の使用例を示します。

  #---------
  Example 1:
  # note: for the sake of the example, the plug-in's __sipath__ variable is set to d:\Application\Plugins
  
  # import the Softimage utility module	
  import siutils
  
  #add some paths to python system path
  siutils.add_to_syspath( __sipath__ )
  siutils.add_subfolder_to_syspath( __sipath__, 'mysubfolder' )
  
  # import eggs from d:\Application\Plugins
  import eggs
  
  def XSILoadPlugin( in_reg ):
	  in_reg.Author = "Softimage"
          in_reg.Name = "TestPlugin"
          in_reg.Major = 1
          in_reg.Minor = 0

	  in_reg.RegisterCommand( "TestCommand", "TestCommand")

	  return True
  
  def TestCommand_Execute(  ):
  	  # INFO: d:\Application\Plugins\eggs.pyc
          LogMessage( 'eggs.__sifile__ ' + eggs.__sifile__  )

          # import foo from d:\Application\Plugins\mysubfolder
	  import foo
	  LogMessage( 'foo.__sifile__ ' + foo.__sifile__  )	
	  return True
  
  Example 2:
  
  import siutils
  
  siutils.add_to_syspath( __sipath__ )
  
  # import foo.py from d:\Application\Plugins
  # INFO: d:\Application\Plugins\foo.pyc
  import foo
  LogMessage( foo.__sifile__ )
  	
  # import foo.py from d:\Application\Plugins\mysubfolderA
  foo = siutils.import_source( __sipath__ + os.sep + 'mysubfolderA' + os.sep + 'foo.py' )
  # INFO: d:\Application\Plugins\mysubfolderA\foo.pyc
  LogMessage( foo.__sifile__ )
  
  # import foo.py from d:\Application\Plugins\mysubfolderB
  foo = siutils.import_source( __sipath__ + os.sep + 'mysubfolderB' + os.sep + 'foo.py' )
  # INFO: d:\Application\Plugins\mysubfolderB\foo.pyc
  LogMessage( foo.__sifile__ )
  ---------

データファイルを使用したワークグループへの接続

ワークグループを管理する別の手段として、接続したいワークグループのパスをworkgroup_path.dataと呼ばれるファイルに保存した後、このファイルをSoftimageのインストール場所(ファクトリ)またはユーザパスのDataフォルダに配置する方法があります。 Softimageは起動時にこれらの場所を自動的にスキャンし、このファイルが見つかった場合は見つかった各エントリのワークグループパスに接続します。

workgroup_path.dataファイルは通常のテキストファイルであり、複数のディレクトリパスを含めることができます。 個々のパスは1行ごとに追加し、各行の最後には改行文字が必要です。

シェーダ定義ウィザードとシェーダパーサウィザード

シェーダ定義とシェーダパーサのコードテンプレートを自動生成する新しい2つのウィザードが導入されました。 これらの主な目的は、Softimageにハードウェアシェーダ(C++リアルタイムシェーダ)を定義および実装するために必要なコードを生成することです。 以下の項目を参照してください。

  • Shader Definition Wizard
  • Shader Parser Wizard

また、リアルタイムシェーダはユーザおよびワークグループのパス解決を完全にサポートします。 リアルタイムシェーダの完全ローカルパスはシーンに保存されなくなりました。

オブジェクトモデルの変更点

Autodesk Softimage 2011 Subscription Advantage Packで既存のオブジェクトに対して利用可能になった新しいメソッドは以下のとおりです。


C++ APIの変更点

新しいクラスとメソッド

廃止されたC++ APIメソッド

  • CStatus Command::PutHandler( const CString & ) ;
  • CStatus Command::PutLanguage( const CString & ) ;
  • CStatus Command::PutFileName( const CString & ) ;
  • CStatus Command::PutCode( const CString & ) ;


スクリプトコマンドの変更点

新しいコマンド

  • FBXExportCacheFile (http://softimage.wiki.softimage.com/sdkdocs/2011_5/si_cmds/FBXExportCacheFile.html)
  • FBXExportGroupAsCache (http://softimage.wiki.softimage.com/sdkdocs/2011_5/si_cmds/FBXExportGroupAsCache.html)
  • FBXImportCacheFile (http://softimage.wiki.softimage.com/sdkdocs/2011_5/si_cmds/FBXImportCacheFile.html)
  • FBXImportFillTimeline (http://softimage.wiki.softimage.com/sdkdocs/2011_5/si_cmds/FBXImportFillTimeline.html)
  • FBXImportFrameRate (http://softimage.wiki.softimage.com/sdkdocs/2011_5/si_cmds/FBXImportFrameRate.html)


This page was last modified 19:42, 9 Dec 2010.
This page has been accessed 5485 times.

© Copyright 2009 Autodesk Inc. All Rights Reserved. Privacy Policy | Legal Notices and Trademarks | Report Piracy