O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
© POKELABO, INC.
© POKELABO, INC.
自己紹介
池田 博幸 41歳
エフェクトアーティスト
主な社歴 スクウェア 、CyberConnect2
略歴
背景デザイナー
↓
エフェクトアーティスト
↓
株式会社ポケラボ入社後
・クロスサマナーの奥義を担当
© POKELABO, INC.
プレゼンの流れ
1. 私の哲学
2. クロサマ誕生の理由
3. 奥義演出仕様と運営の話
4. Unityの課題
5. その解答
6. エンジニア寄りの話
7. まとめ
もくじ
© POKELABO, INC.
1. 私の哲学
私の哲学
© POKELABO, INC.
私の哲学
© POKELABO, INC.
私の哲学
魔王が魔王であるために
© POKELABO, INC.
私の哲学
© POKELABO, INC.
私の哲学
© POKELABO, INC.
2.クロサマ誕生の理由
クロサマ誕生の理由
© POKELABO, INC.
クロサマ誕生3つの理由
1. 社内コンペ優勝作
2. フルネイティブ(Unity)への挑戦
3. 競合との差別化(ドット絵)
+ド派手演出への渇望感←私自身の欲望
クロサマ誕生の理由
© POKELABO, INC.
3.奥義演出仕様と
運営の話
奥義演出仕様と運営の話
© POKELABO, INC.
1. 低レア (★3) 1~15combo
2. 高レア (★4) 15~25combo
3. 最高レア(★5) 25~35combo
※あくまで目安。最終的には企画側の調整あり
この仕様に従ってアーティストが...
© POKELABO, INC.
演出の全てをAnimationで管理
奥義演出仕様と運営の話
クロサマ演出の中身
© POKELABO, INC. 142015/2/10
近接系 size x=0.5
遠隔系 size x=4.0
超遠隔系 size x=8.0コライダのsize xの値で
相対距離を設定
これが開幕時の立ち位置
奥義演出仕様と運営の話
※...
© POKELABO, INC.
1. 攻撃判定がやられ判定に重なった時、指定した角度に指定した強度で敵を飛ばす
2. 地面判定あり※赤い線が地面
90°
270°
0°180°
45°135°
225° 315°
ノックバックの仕組み
奥義演...
© POKELABO, INC. 162015/2/10
自キャラ 敵
0 1.00.5
CloseUpCenterRate
値が0の場合自キャラ、0.5の時は双方、1の時は敵を捉える
奥義演出仕様と運営の話
カメラワークの仕組み
© POKELABO, INC.
奥義演出仕様と運営の話
1. レアリティ変更に伴う演出調整
2. 属性変更に伴うエフェクト差し替え
3. ジョブ変更に伴う演出変更
これらを・・・
運営側の修正要望
© POKELABO, INC.
何度も聞いたこのセリフ
© POKELABO, INC.
4.Unityの課題
Unityの課題
© POKELABO, INC.
即時対応するためには
リアルタイムプレビューが
絶対必要
Unityの課題
© POKELABO, INC. 21
ポケラボ創立前
すでに先駆がいました
一昔前の先駆者
※ポケラボ創立日は2007年11月8日
© POKELABO, INC.
でもUnityは・・・
Unityの課題
© POKELABO, INC.
再生しないと確認できない
1. ParticleはAnimation内で再生されない
2. 物理演算の加減が分からない
3. スクリプト生成物の挙動予測が困難
4. 実機確認に約6秒←これが一番の課題
Unit...
© POKELABO, INC.
Unityの課題
© POKELABO, INC.
Unityの課題
© POKELABO, INC.
5.その解答
その解答
© POKELABO, INC.
Skill Simulator
(奥義リアルタイム制作エディタ)
それが
その解答
© POKELABO, INC.
その解答
ボタン一発で
AnimationをFlash感覚で制御可能
ココを押すだけ
© POKELABO, INC.
近接系/剣士(敵との相対距離x=0.5~2.0)
アニメーション
地上連続攻撃
↓
打ち上げ
↓
空中連続攻撃
↓
打ち落とし
↓
(溜め)
↓
フィニッシュ
※リアルタイムプレビューがなかったときの字コンテ
...
© POKELABO, INC.
実演
© POKELABO, INC.
6.エンジニア寄りの話
エンジニア寄りの話
© POKELABO, INC.
エンジニア寄りの話
//AnimationWindowの取得
EditorWindow[] editorWindows =
Resources.FindObjectsOfTypeAll(typeof(Edito...
© POKELABO, INC.
エンジニア寄りの話
//publicメソッドの取得
MethodInfo[] methods = animationWindow
.GetType().GetMethods(BindingFlags.Publi...
© POKELABO, INC.
エンジニア寄りの話
if (HitBounds.Intersects( TargetCollider ().bounds) )
Particleの再生
Particle.Simulate( nowTime );...
© POKELABO, INC.
7.まとめ
まとめ
© POKELABO, INC.
まとめ
人生を演出せよ
枠に囚われず、反逆せよ
© POKELABO, INC.
まとめ
Próximos SlideShares
Carregando em…5
×

クロスサマナーのド派手演出制作を支えたクリエイティブ開発環境

9.589 visualizações

Publicada em

GameGraphicsGroove講演資料

Publicada em: Celular
  • Seja o primeiro a comentar

クロスサマナーのド派手演出制作を支えたクリエイティブ開発環境

  1. 1. © POKELABO, INC.
  2. 2. © POKELABO, INC. 自己紹介 池田 博幸 41歳 エフェクトアーティスト 主な社歴 スクウェア 、CyberConnect2 略歴 背景デザイナー ↓ エフェクトアーティスト ↓ 株式会社ポケラボ入社後 ・クロスサマナーの奥義を担当
  3. 3. © POKELABO, INC. プレゼンの流れ 1. 私の哲学 2. クロサマ誕生の理由 3. 奥義演出仕様と運営の話 4. Unityの課題 5. その解答 6. エンジニア寄りの話 7. まとめ もくじ
  4. 4. © POKELABO, INC. 1. 私の哲学 私の哲学
  5. 5. © POKELABO, INC. 私の哲学
  6. 6. © POKELABO, INC. 私の哲学 魔王が魔王であるために
  7. 7. © POKELABO, INC. 私の哲学
  8. 8. © POKELABO, INC. 私の哲学
  9. 9. © POKELABO, INC. 2.クロサマ誕生の理由 クロサマ誕生の理由
  10. 10. © POKELABO, INC. クロサマ誕生3つの理由 1. 社内コンペ優勝作 2. フルネイティブ(Unity)への挑戦 3. 競合との差別化(ドット絵) +ド派手演出への渇望感←私自身の欲望 クロサマ誕生の理由
  11. 11. © POKELABO, INC. 3.奥義演出仕様と 運営の話 奥義演出仕様と運営の話
  12. 12. © POKELABO, INC. 1. 低レア (★3) 1~15combo 2. 高レア (★4) 15~25combo 3. 最高レア(★5) 25~35combo ※あくまで目安。最終的には企画側の調整あり この仕様に従ってアーティストが演出を制作 奥義演出仕様と運営の話 クロサマコンボ数基準
  13. 13. © POKELABO, INC. 演出の全てをAnimationで管理 奥義演出仕様と運営の話 クロサマ演出の中身
  14. 14. © POKELABO, INC. 142015/2/10 近接系 size x=0.5 遠隔系 size x=4.0 超遠隔系 size x=8.0コライダのsize xの値で 相対距離を設定 これが開幕時の立ち位置 奥義演出仕様と運営の話 ※分かり易くするためにコライダを視覚化 奥義演出開幕時の相対位置
  15. 15. © POKELABO, INC. 1. 攻撃判定がやられ判定に重なった時、指定した角度に指定した強度で敵を飛ばす 2. 地面判定あり※赤い線が地面 90° 270° 0°180° 45°135° 225° 315° ノックバックの仕組み 奥義演出仕様と運営の話 白○=攻撃判定 緑○=やられ判定 矢印=ノックバック方向
  16. 16. © POKELABO, INC. 162015/2/10 自キャラ 敵 0 1.00.5 CloseUpCenterRate 値が0の場合自キャラ、0.5の時は双方、1の時は敵を捉える 奥義演出仕様と運営の話 カメラワークの仕組み
  17. 17. © POKELABO, INC. 奥義演出仕様と運営の話 1. レアリティ変更に伴う演出調整 2. 属性変更に伴うエフェクト差し替え 3. ジョブ変更に伴う演出変更 これらを・・・ 運営側の修正要望
  18. 18. © POKELABO, INC. 何度も聞いたこのセリフ
  19. 19. © POKELABO, INC. 4.Unityの課題 Unityの課題
  20. 20. © POKELABO, INC. 即時対応するためには リアルタイムプレビューが 絶対必要 Unityの課題
  21. 21. © POKELABO, INC. 21 ポケラボ創立前 すでに先駆がいました 一昔前の先駆者 ※ポケラボ創立日は2007年11月8日
  22. 22. © POKELABO, INC. でもUnityは・・・ Unityの課題
  23. 23. © POKELABO, INC. 再生しないと確認できない 1. ParticleはAnimation内で再生されない 2. 物理演算の加減が分からない 3. スクリプト生成物の挙動予測が困難 4. 実機確認に約6秒←これが一番の課題 Unityの課題
  24. 24. © POKELABO, INC. Unityの課題
  25. 25. © POKELABO, INC. Unityの課題
  26. 26. © POKELABO, INC. 5.その解答 その解答
  27. 27. © POKELABO, INC. Skill Simulator (奥義リアルタイム制作エディタ) それが その解答
  28. 28. © POKELABO, INC. その解答 ボタン一発で AnimationをFlash感覚で制御可能 ココを押すだけ
  29. 29. © POKELABO, INC. 近接系/剣士(敵との相対距離x=0.5~2.0) アニメーション 地上連続攻撃 ↓ 打ち上げ ↓ 空中連続攻撃 ↓ 打ち落とし ↓ (溜め) ↓ フィニッシュ ※リアルタイムプレビューがなかったときの字コンテ 当時はいわば目隠し状態で、ユニットと敵の間合い、ノックバックを考慮しながら制作 カメラワーク CenterRate0.5/Zoom25 ↓ CenterRate0.5/Zoom25 ↓ CenterRate0.5/Zoom20 ↓ CenterRate0.5/Zoom20 ↓ CenterRate0.0/Zoom15 ↓ CenterRate1.0/Zoom35 ノックバック force1.0/angle90 ↓ force3.0/angle45 ↓ force1.0, angle45 ↓ force4.0, angle135 ↓ (none) ↓ force6.0, angle90 その解答
  30. 30. © POKELABO, INC. 実演
  31. 31. © POKELABO, INC. 6.エンジニア寄りの話 エンジニア寄りの話
  32. 32. © POKELABO, INC. エンジニア寄りの話 //AnimationWindowの取得 EditorWindow[] editorWindows = Resources.FindObjectsOfTypeAll(typeof(EditorWindow)) as EditorWindow[]; foreach (EditorWindow editorWindow in editorWindows) { if (editorWindow.title == “UnityEditor.AnimationWindow”) { animationWindow = editorWindow; break; } } //タイムラインの取得 timeLineTime = (float)animationWindow.GetType().InvokeMember("get_time", BindingFlags.InvokeMethod, null, animationWindow, null); //選択中のAnimationClipの取得 object state = animationWindow.GetType().InvokeMember("get_state", BindingFlags.InvokeMethod, null, animationWindow, null); AnimationClip clip = state.GetType().InvokeMember("m_ActiveAnimationClip", BindingFlags.GetField, null, state, null) as AnimationClip; AnimationWindowの取得方法
  33. 33. © POKELABO, INC. エンジニア寄りの話 //publicメソッドの取得 MethodInfo[] methods = animationWindow .GetType().GetMethods(BindingFlags.Public|BindingFlags.Instance|Bi ndingFlags.DeclaredOnly); //protectedメソッドの取得 MethodInfo[] methods = animationWindow.GetType().GetMethods(BindingFlags.NonPublic|Bindin gFlags.Instance|BindingFlags.DeclaredOnly); ProtectedなMethodや Parameterの確認方法 一覧を表示する関数があると便利
  34. 34. © POKELABO, INC. エンジニア寄りの話 if (HitBounds.Intersects( TargetCollider ().bounds) ) Particleの再生 Particle.Simulate( nowTime ); GameObject.SampleAnimation( clip, nowTime ); Coliderの判定 Animation内のAnimationの再生 Rigidbody(物理演算)の再現 EditorWindowのUpdate内で手動で物理シミュレーション ParticleがActiveになるかScriptからInstantiateされた個数分を予めhierarchyに生成 その他オリジナルのScript 気合いでEditorWindowのUpdate内からアクセスして操作 ※シミュレーションする前提のスクリプトなら楽(クロサマは後付けだった)
  35. 35. © POKELABO, INC. 7.まとめ まとめ
  36. 36. © POKELABO, INC. まとめ 人生を演出せよ 枠に囚われず、反逆せよ
  37. 37. © POKELABO, INC. まとめ

×