autodesk crosswalk 4.1 sdk collada向け新機能 …autodesk crosswalk 4.1 sdk collada...

15
Autodesk Crosswalk 4.1 SDK COLLADA向け新機能紹介 オートデスク株式会社 梅澤 孝司

Upload: others

Post on 25-Apr-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

Autodesk Crosswalk 4.1 SDKCOLLADA向け新機能紹介

オートデスク株式会社 梅澤 孝司

Page 2: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

アジェンダ

  Autodesk Crosswalk とは? Crosswalk の特長をご紹介

  Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能Autodesk Crosswalk 4.1 SDK に含まれる COLLADA向けのバージョンアップ内容をご紹介

  Autodesk Softimage 2010 と Autodesk Crosswalk を使ったパイプラインのデモツール間コンテンツの共有を行うデモ

Page 3: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

Autodesk Crosswalk とは?

  Softimage で作成したリアルタイム向けのコンテンツを3Dパイプラインへ入出力する為の製品

  無償にてダウンロード可能

http://www.autodesk.com/softimage-crosswalk   最新バージョンは4.1   対応製品

  Autodesk 3ds Max   Autodesk Maya   Autodesk Softimage

  対応フォーマット   COLLADA (Softimage のみ)   dotXSI (3ds Max、Maya、Softimage)   FBX (Softimage のみ)

  Maya や Max のCOLLADAプラグインは → http://www.opencollada.org/

Page 4: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

Autodesk Crosswalk SDKとは?

  dotXSI ファイルフォーマットとCOLLADAファイルフォーマットの読み書きを実装するためのカスタマイズ機能を提供

メインになるコンポーネントは2つ   I/O レイヤ   ファイルパーサによるデータへのアクセスを提供

  Semantic Layer   I/Oレイヤの上にあり、データへの構造的なセマンティックなアクセスを提供

Page 5: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能
Page 6: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能

 旧バージョンではSemantic Layer から だけCOLLADA の読み書きが可能   CSLScene::Write() の呼び出し前のCOLLADA xml データは編集不可能   Write() の呼び出し内で COLLADA xml データが生成されていた

  4.0では Crosswalk SDK の Semantic Layer から COLLADA の xml コンテンツの追加や修正が 可能に   Write() の呼び出し前に、別のトリガーで COLLADA xml データを生成し、直接テンプレート情報を編集可能に

Page 7: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

COLLADA のカスタマイズの流れ

1 – COLLADA xml エレメントの生成を呼び出し: CSLCOLLADAScene::Synchronize()

2 – カスタマイズを実行 – 下記のサンプル参照 dotXSIConverter\src\cnv_COLLADA_IO.cpp

3 – Write() 関数を呼ぶ COLLADA xml エレメントの自動生成フラグをオフにする: CSLCOLLADAScene::Write("file name", false)

Page 8: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

COLLADA のカスタマイズの制限

 先に紹介したSynchronizeを呼び出してもアクセスしたり編集することができないノードが存在   transforms   CustomPropertySet   Instance animaiton

 しかし、別のコールバックを使ってカスタマイズが可能

  transforms → COLLADATransformWriteCallback   Custom Property Set → COLLADACustomPropertySetWriteCallback   Instance animtation → COLLADAInstanceAnimatioNWriteCallback

Page 9: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

Tips : Crosswalk プラグインをコンパイル

 下記のようなバッチファイルを使用すると便利

例 2010 SP1 32 ビット用の例

@echo off

call "C:\Softimage\Softimage_2010_SP1\Application\bin\Setenv.bat“ call "C:\Program Files\Autodesk\Crosswalk4.1\SDK\setenv.bat"

set PATH set XSISDK_ROOT="C:\Softimage\Softimage_2010_SP1\XSISDK“ set CROSSWALKSDK_ROOT="C:\Program Files\Autodesk\Crosswalk4.1\SDK"

call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86

"C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe" /useenv

Page 10: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

COLLADA カスタマイズ用のSDKの便利な機能

  GetRootTemplate()   CCOLLADATemplate* CSLCOLLADAScene::GetRootTemplate();

  FindNestedTemplateByName   CCOLLADATemplate* FindNestedTemplateByName ( CCOLLADATemplate* in_pParent,

SI_Char* in_szName, int in_iNth = 0, bool in_bSearchNodeOnly=false);

  FindNestedTemplateByID   CCOLLADATemplate* FindNestedTemplateByID ( CdotXSITemplate* in_pParent, SI_Char*

in_szID);

  FindNestedTemplateBySID   CCOLLADATemplate* FindNestedTemplateBySID ( CdotXSITemplate* in_pParent, SI_Char*

in_szSID);

Page 11: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

COLLADA カスタマイズ用のSDKの便利な機能

  GetLibrary   CSLCOLLADALibrary* CSLCOLLADAScene::GetLibrary( const SI_Char* in_szLibrarySuffix );

  ResolveTemplateURL   CdotXSITemplate* CXSIParser::ResolveTemplateURL ( const SI_Char* in_szLibrary, const

SI_Char* in_URL );

  FindByType   CdotXSITemplate * CdotXSITemplates::FindByType( CSIBCString in_name );

  CreateCOLLADATemplate   CCOLLADATemplate* CreateCOLLADATemplate(CdotXSITemplate* in_pParent = NULL, const

SI_Char* in_szName = NULL);

Page 12: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

COLLADA カスタマイズ用のSDKの便利な機能

  AddAttribute   CdotXSIParam * CCOLLADATemplate::AddAttribute(const SI_Char* in_szName, const SI_Char*

in_szValue);

  AddParam   CdotXSIParam * CCOLLADATemplate::AddParam(const SI_Char* in_szName, int in_iType, const

SI_Char* in_pStringValue = NULL);   CdotXSIParam * CCOLLADATemplate::AddParam(const SI_Char* in_szName, int in_iType,

SI_Float in_fValue);   CdotXSIParam * CCOLLADATemplate::AddParam(const SI_Char* in_szName, int in_iType, SI_Int

in_lValue);   CdotXSIParam * CCOLLADATemplate::AddParam(const SI_Char* in_szName, int in_iType,

SI_Short in_sValue);   CdotXSIParam * CCOLLADATemplate::AddParam(const SI_Char* in_szName, int in_iType,

SI_Bool in_sValue);

  AddExtra   CCOLLADATemplate* CCOLLADATemplate::AddExtra ( const SI_Char* in_szName );

Page 13: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能
Page 14: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

ありがとうございました。

Page 15: Autodesk Crosswalk 4.1 SDK COLLADA向け新機能 …Autodesk Crosswalk 4.1 SDK COLLADA 向け新機能 旧バージョンではSemantic Layer から だけCOLLADA の読み 書きが可能

Thank you