3ds MaxとAway3Dを使った
 キャラクターアニメーション


      株式会社ICS
       鈴木 克史
自己紹介

•   鈴木 克史(すずき かつし)
•   株式会社ICS
•   Flashup
•   3Dキャラクターアニメーション
    (3ds Max & Lightwave)
AIRアプリのご紹介
Away3Dを使ったスマートフォンアプリ
     「どこでも イタメくん」




http://www.nichireifoods.co.jp/character/itamekun/apli/docodemo.html
                       『イタメくん アプリ』で検索

                              © ニチレイフーズ
                          企画: 株式会社IMJ (敬称略)
本日のメニュー


• 3ds Max ワークフロー

• Away3D ワークフロー
3ds Max ワークフロー
3ds Max ワークフロー



 モデリング    ボーンの挿入とス   アニメーションリ   モーションの作成
            キニング       グの作成




アニメーション   UVマップの作成   テクスチャの作成   AWDファイルの
カーブの調整                            書き出し
モデリング




 ポリゴン数:     ポリゴン数:
頭部: △1600    △480
 体: △1500
ボーンの挿入とスキニング




     ボーン数: 29本         頭部と小道具はウェイト
(1頂点に影響するボーンの数は2~4本)     100%に設定
アニメーションリグの構築




ボーンを直接操作しないようにコントローラーを作成
アニメーションリグの構築




  頭部のコントローラーリグ
アニメーションリグの構築




           リグ全体図
バク宙を頭を中心に行うため、縦回転用のコントローラーを頭部に配置
アニメーションリグの構築




  足にIKを使った古典的なリバースフット

腰を下げる or 踝の位置を変える → 自動的に膝が曲がる
アニメーションリグの構築




     小道具用コントローラー
位置・角度を丸いつまみ一つで自由に設定可
アニメーションの作成



手を振る   バク宙    尻もち




バンザイ   おねだり   バランス
アニメーションの作成

    手を振る     バク宙      尻もち     バンザイ     おねだり   バランス




•   アニメーションをすべて1つのタイムラインで作成

•   1アニメーション = 1 SkeletonClipNode (Away3D)

•   アニメーションの区分 → 設定ファイル(sequences.txt)を使用




    sequences.txt を忘れるとアニメーションが書きだされ
                    ないので注意!
アニメーションカーブの調整




Maxスクリプトを活用してツールをカスタマイズする
     例:F5キーでフレームを挿入する
UVマップの作成




UVアンラップに3D-Coat を使用
   (ペイントにも一部使用)
テクスチャの作成

デフューズ                アンビエント
                     オクルージョン




ダストマップ               最終テクスチャ




モバイルAIRでの負荷軽減のため、シャドウやライティング
などの質感をテクスチャに描き込む
AWDファイルの書き出し


           スキンモディファイアの
           拡張パラメータタブ




ウェイト調整の際に「ゼロウェイト削除」をしておかない
    と3ds Maxごとフリーズするので注意!!
AWDファイルの書き出し




GZIP圧縮を使用すると容量は半分程度に削減される
AWD読み込み時間の比較
       (5回計測の平均)




圧縮あり         圧縮なし

850.4 ミリ秒    732.2   ミリ秒




 圧縮した場合、解凍時間にコストがわずかにかかる
AWDファイルの書き出し




残念ながら現時点ではマテリアルまでは書き出されないの
        で、AS側で設定を行う
AWDファイルの書き出し




jointsPerVertexの値を3以上にするとテクスチャが崩れ
る現象が稀に起こる
→ 3ds Max側のウェイトの振り直しで解決!
Away3D ワークフロー
Away3D ワークフロー
   Away3Dシーンの作成



   AWDファイルの読み込み



    マテリアルの割り当て



   アニメーションの割り当て



  アニメーション切り替えの設定
Away3Dシーンの作成
// シーンの作成
view = new View3D();
// アンチエイリアスの設定
view.antiAlias = 4;
addChild(view);

// カメラ設定
camera = new Camera3D();

// パースの変更
camera.lens = new PerspectiveLens(3);
view.camera = camera;


    パースの値(PerspectiveLensの引数)を変更するとキャラク
    ターの印象が大きく変わる
AWDファイルの読み込み
// 読み込み
AssetLibrary.enableParser(AWD2Parser);

// イベントの取得
AssetLibrary.addEventListener(AssetEvent.ASSET_COMPLETE,
onAssetComplete);
AssetLibrary.addEventListener(LoaderEvent.RESOURCE_COMPLETE,
onResourceComplete);
AssetLibrary.addEventListener(LoaderEvent.LOAD_ERROR, onLoadError);

// 読み込み
AssetLibrary.loadData(new ModelData());


// ロード後のメッシュの取得方法
character = AssetLibrary.getAsset(“モデルの名前”) as Mesh;
マテリアルの割り当て
// 輪郭線の作成
var outlineColor:uint = 0x3c3b34;
var outlineSize:Number = 0.35;
var outlineMethod:OutlineMethod = new OutlineMethod(outlineColor,
outlineSize, true, false);


// キャラクターのマテリアル
var bmd:BitmapData = Bitmap(new ImageData()).bitmapData;
var modelTexture:BitmapTexture = new BitmapTexture(bmd);
var material:TextureMaterial = new TextureMaterial(modelTexture);
material.addMethod(outlineMethod);




      OutlineMethodで輪郭線を追加
アニメーションクラス概念図

                                               Skeleton
                                              (ボーン構造)

SkeletonClipNode
  (1モーション)




SkeletonClipNode
  (1モーション)                       SkeletonAnimator
                                   (スイッチャー)



                 SkeletonAnimationSet                  Mesh
SkeletonClipNode   (アニメーションの束)                      (キャラクター)
  (1モーション)
各クラスの解説

・キャラクターのボーン構造
→ Skeletonクラス

・アニメーションの動作1つ(バク宙、待機などの単位)
→ SkeletonClipNodeクラス

・一連のアニメーションをセットにしたもの
→ SkeletonAnimationSetクラス

・アニメーションを切り替えるためのスイッチャー
→ SkeletonAnimatorクラス
実際のコード
// ボーン構造の取得 (ルートのボーン)
skeleton = Skeleton(AssetLibrary.getAsset("Bone001"));

// 待機モーション
breatheState = AssetLibrary.getAsset(ANIM_BREATHE) as
SkeletonClipNode;

// ループの設定
breatheState.looping = false;

// アニメーション用の入れ物を作成する
animationSet = new SkeletonAnimationSet();

// 待機モーションを挿入
animationSet.addAnimation(breatheState);

// モーションとボーン構造を元にアニメーションを制御するアニメーターを作成する
animator = new SkeletonAnimator(animationSet, skeleton, false);

// アニメーターをメッシュに適用する
character.animator = animator;
アニメーション切り替えの設定
// アニメーションのブレンド時間の設定
crossfadeTransition = new CrossfadeTransition(0.5);

// 切り替え
animator.play("Breathe", crossfadeTransition);

// 1アニメーションの終了イベントを取得するには?
skeletonClipNode.addEventListener(AnimationStateEvent.PLAYBACK_CO
MPLETE, イベントハンドラ);
Links

・Away3D Tutorials Wiki
 http://away3d.com/tutorials/

・3DS Max Workflow
 http://away3d.com/tutorials/3DS_Max_Workflow

・3dflashlo
 http://3dflashlo.wordpress.com/

More Related Content

PDF
20180901blockchain
PPT
羽ばたき飛行機製作工房のご紹介
PDF
Fuse18 dチーム
PPTX
VTuberハッカソン大阪大会 (2018.09.01-02)
PDF
「3Dプリンタってどんなマシン?羽ばたき飛行機をつくって飛ばそう!」ワークショップ資料
PDF
Flashup14 Away3d basic material setting
PDF
3Dプリント羽ばたき飛行機「空飛ぶパンツ改良型」 組立説明書
PDF
Minecraft modding 10
20180901blockchain
羽ばたき飛行機製作工房のご紹介
Fuse18 dチーム
VTuberハッカソン大阪大会 (2018.09.01-02)
「3Dプリンタってどんなマシン?羽ばたき飛行機をつくって飛ばそう!」ワークショップ資料
Flashup14 Away3d basic material setting
3Dプリント羽ばたき飛行機「空飛ぶパンツ改良型」 組立説明書
Minecraft modding 10

What's hot (20)

PPTX
ふくあず#8
PPTX
Summer camp2018 group1
PDF
㉒初期プロジェクトを改造!
PDF
スクリプトエンジンをつくる話
PPTX
Summercamp2020 group3
PDF
Cocos2d xでぬるぬる動くビルダー機能実装
PDF
Flashup 12 Basic Training of Away3D
PDF
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
PDF
Sfstudy02 team UKETSUKE
PPTX
Led cube lt
PDF
コンピュータエンジニアへのFPGAのすすめ
PPTX
Summercamp2020 group2
PDF
ClipASTERImage
PPTX
Xsi unity pipeline
PDF
IkaLog20170316pynq_dist
PDF
Flashup13 Basic Training of Flare3D
PPT
Core Animation 使って見た
PDF
艦これタイマー for firefox addonの拡張
PDF
20140330 yatsuhaka
PDF
【concrete5】CMS夏祭り2015@mttokyo
ふくあず#8
Summer camp2018 group1
㉒初期プロジェクトを改造!
スクリプトエンジンをつくる話
Summercamp2020 group3
Cocos2d xでぬるぬる動くビルダー機能実装
Flashup 12 Basic Training of Away3D
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
Sfstudy02 team UKETSUKE
Led cube lt
コンピュータエンジニアへのFPGAのすすめ
Summercamp2020 group2
ClipASTERImage
Xsi unity pipeline
IkaLog20170316pynq_dist
Flashup13 Basic Training of Flare3D
Core Animation 使って見た
艦これタイマー for firefox addonの拡張
20140330 yatsuhaka
【concrete5】CMS夏祭り2015@mttokyo
Ad

Viewers also liked (20)

PPTX
Stage3D勉強会「Away3D 4.0 GOLD 入門」
PDF
GDC2012学生報告会1
PPTX
Unity外注発注改善
PPTX
Pepperモーション制作ハッカソン 〜チームラボ流モーション制作術〜 【前編】
PDF
Scc2013 air
PDF
『天空の城ラピュタ』のエピソード構成表
PPTX
中年以降エンジニアの成長戦略
PDF
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
PDF
「AIRネイティブ拡張」を使って、 AndroidでNFCを読み込んでみた
ODP
Unityは神,Unrealは現実
PDF
Unity道場08 Unityとアセットツールで学ぶ 「絵づくり」の基礎 ライティング 虎の巻
PDF
How to inspect complete scenes with Unity?
PDF
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
PDF
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
PDF
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
PDF
最新Mayaを使ったUnity 5向けキャラクターセットアップセミナー&使いこなしTips
PDF
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
PDF
Making of ユニティちゃんステージデモ in ComicMarket 86
PDF
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
PDF
Unity道場08「絵づくりの基礎」ライティング虎の巻
Stage3D勉強会「Away3D 4.0 GOLD 入門」
GDC2012学生報告会1
Unity外注発注改善
Pepperモーション制作ハッカソン 〜チームラボ流モーション制作術〜 【前編】
Scc2013 air
『天空の城ラピュタ』のエピソード構成表
中年以降エンジニアの成長戦略
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
「AIRネイティブ拡張」を使って、 AndroidでNFCを読み込んでみた
Unityは神,Unrealは現実
Unity道場08 Unityとアセットツールで学ぶ 「絵づくり」の基礎 ライティング 虎の巻
How to inspect complete scenes with Unity?
「ユニティちゃんを踊らせよう!」モーションキャプチャーデータのアニメーション演出
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
最新Mayaを使ったUnity 5向けキャラクターセットアップセミナー&使いこなしTips
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Making of ユニティちゃんステージデモ in ComicMarket 86
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
Unity道場08「絵づくりの基礎」ライティング虎の巻
Ad

Similar to 3dsMaxとAway3Dによるキャラクターアニメーション作成 (11)

PDF
Inside of 聖徳玉子 by O2
PDF
Cocos2dを使ったi phoneゲーム開発手法
PPTX
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
PDF
Savonius Windmill by 3D printer with magnet
KEY
Introduction for cocos2d
PDF
UDEC発表原稿-Udon概論-
KEY
Html5勉強会資料 2012821
PDF
TAと歩くGDC2013報告会資料
PDF
openFrameworks Workshop in Kanazawa v001
PDF
Media Kinect2014 day7
PDF
20200704 Deep Snake for Real-Time Instance Segmentation
Inside of 聖徳玉子 by O2
Cocos2dを使ったi phoneゲーム開発手法
Cocos2d-x(JS) ハンズオン #12「Cocos2d-xとSpine」
Savonius Windmill by 3D printer with magnet
Introduction for cocos2d
UDEC発表原稿-Udon概論-
Html5勉強会資料 2012821
TAと歩くGDC2013報告会資料
openFrameworks Workshop in Kanazawa v001
Media Kinect2014 day7
20200704 Deep Snake for Real-Time Instance Segmentation

3dsMaxとAway3Dによるキャラクターアニメーション作成