• Like
セーラーソン振り返り
Upcoming SlideShare
Loading in...5
×
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
717
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. セーラーソン12年12月7日金曜日
  • 2. 技術的な内容 • キャラクターの操作 • モデルデータ • キャラクターのアニメーション • カメラ操作 • ステージの制御 • マネジメント12年12月7日金曜日
  • 3. キャラクター操作12年12月7日金曜日
  • 4. カメラ 固定12年12月7日金曜日
  • 5. 横アングル ジャンプ 植木等12年12月7日金曜日
  • 6. 正面アングル 横移動 水たまり等12年12月7日金曜日
  • 7. 自動で視点移動 起伏のあるステージ 前視点 横視点 後視点 横視点12年12月7日金曜日
  • 8. ゲームルール • 障害物に当たるとタイムが遅れる • 一定時間以内にゴールできれば完走12年12月7日金曜日
  • 9. さぁ実装!12年12月7日金曜日
  • 10. あ、でも まずは横固定ね。 千里の道も一歩からっ ていうじゃない12年12月7日金曜日
  • 11. 横アングル視点固定 つまりこういうこと ジャンプ 植木等12年12月7日金曜日
  • 12. Assets->Import Package->Character Controller それと、もともとあるスクリプ トで楽しちゃおっと 3rd Person Controller12年12月7日金曜日
  • 13. 3rd Person Contollerを配置し てみたとこ、このモデルを置き換 えればいいはず? コレ12年12月7日金曜日
  • 14. が、問題が12年12月7日金曜日
  • 15. • カメラのスクリプトがついてるけど、 おもったような動きではないので要改 造 • モデルの座標系が違うのでそのままで は当たり判定等の座標がズレる • 余計なアニメーションが多い12年12月7日金曜日
  • 16. 面倒なんで、スクリプトとコントローラーのコン ポーネントだけ使わせいてもらいましょう! あでも、どう貼るかはもとのやつを参考にするん だけどね Character Controller Third Person Controller(Script)12年12月7日金曜日
  • 17. でも、でも 楽をさせてもらうはずだったけど、、 けっこう手こずりました。 実現可能なレベルの操作系はどこまでもってくの とか、Unityの使い方とか色々と、、12年12月7日金曜日
  • 18. 気づいた事 ThirdPersonControler付属のモデルと、 インポートしようとしてるモデルの座標系 が違うのでそのままではだめだった。 fbxのインポート時の設定でScale Factor を調整して合わせて、ベースの位置を腰か ら足元に変更した。12年12月7日金曜日
  • 19. モデルデータ12年12月7日金曜日
  • 20. うちらのチームの唯一の希望は このアニメーション付きのモデルをデザイナーさ ん作っていてくれたことなんだよね! だからこれを使えばなんとかなるって! 思っていたところもあったんだ、、12年12月7日金曜日
  • 21. これが、ほんとによく出来てる! アニメーションも素晴らしい! これでほぼ完成したも同然じゃーーん! てね12年12月7日金曜日
  • 22. しかし、これ セーラー服とは程遠いし 第7感で埋めるにしてもねぇ、 1から作るのは大変だしなぁ うーーーんんん12年12月7日金曜日
  • 23. デザイナーさんより 自由に使ってもよいという お墨付きのモデル クラウディアがあるよ? という情報を頂く12年12月7日金曜日
  • 24. いいね! それでいこう! 決定! セーラー服は、この際いいか、、12年12月7日金曜日
  • 25. というわけで これのアニメーション部分を 再利用して アニメーション付きのクラウディアの FBXを作成することに成功! デザイナーさんががんばって SoftImageで再設定してくれま した。12年12月7日金曜日
  • 26. というわけで、 アニメーションの設定12年12月7日金曜日
  • 27. 通常状態 ジャンプ 走る コケる12年12月7日金曜日
  • 28. エディタ上でプチプチ 一個ずつ設定する12年12月7日金曜日
  • 29. イベント処理 Space または クリック でジャンプ 障害物にぶつかるとコケる この辺はCharactorController が勝手にやってくれるのてで助 かりました。12年12月7日金曜日
  • 30. TherdPersonControllerより抜粋 宣言: var Animation : Animation; 初期化: _animation = GetComponent(Animation); 処理: if(_characterState == CharacterState.Jumping) { if(!jumpingReachedApex) { _animation[jumpPoseAnimation.name].speed = jumpAnimationSpeed; _animation[jumpPoseAnimation.name].wrapMode = WrapMode.ClampForever; _animation.CrossFade(jumpPoseAnimation.name); } else { _animation[jumpPoseAnimation.name].speed = -landAnimationSpeed; _animation[jumpPoseAnimation.name].wrapMode = WrapMode.ClampForever; _animation.CrossFade(jumpPoseAnimation.name); } } 外部からキャラクタに加速度をつけると勝 手に動いてくれた12年12月7日金曜日
  • 31. カメラ制御12年12月7日金曜日
  • 32. か、カメラは 横からの視点固定12年12月7日金曜日
  • 33. ステージの制御12年12月7日金曜日
  • 34. 全部ポリゴンでステージつく っちゃえば、そりゃ楽ですよ! でも、少ない時間と手数でいか にそれっぽくみせるか、、 てのが難しいーー12年12月7日金曜日
  • 35. 案1 固定ルート フィールド 背景 カメラ12年12月7日金曜日
  • 36. 案1の利点欠点 • 起伏のあるコースを自在に作れる • 直感的で分かりやすい • 背景の画像の準備が大変 • コースの作成もけっこう手間がかかる • 正面や後方のアングルに対応できない12年12月7日金曜日
  • 37. 案2 円錐 背景 フィールド カメラ12年12月7日金曜日
  • 38. 案2の利点欠点 • 正面や背面のアングルが使える • 起伏のあるコースを自在に作れる • スピード感のあるコースを作れない • コースの作成もけっこう手間がかかる • 作るとなると大掛かりになりそう12年12月7日金曜日
  • 39. 案3 素晴らしき妥協案 背景 フィールド 障害物 カメラ12年12月7日金曜日
  • 40. 妥協案の利点欠点 • すぐキャラを動かせれる • 最低限のデモができる • 段階を踏んで最終的なものにしていける • 僕らの大事ななにか・・・12年12月7日金曜日
  • 41. 背景の操作 テクスチャー Plane12年12月7日金曜日
  • 42. 背景のScript 時間で1を割って余りを新しい テクスチャーの座標位置にする // Update is called once per frame void Update () { if(!isPause){ offset.x = Mathf.Clamp01((offset.x + Time.deltaTime)%1.0f); } gameObject.renderer.material.SetTextureOffset("_MainTex", offset); }12年12月7日金曜日
  • 43. 地面の操作 固定 毎フレーム移動する12年12月7日金曜日
  • 44. 地面のScript void Update () { AutoScroll(); ボタンを押したときの if(Input.GetKeyDown(KeyCode.UpArrow)) { ジャンプ処理 JumpAction(); } } void JumpAction() { gameObject.rigidbody.AddForce(new Vector3(0, -jumpPower, 0), ForceMode.Impulse); } 地面のスクロール処理 void AutoScroll() { gameObject.transform.position += scrollSpeed; }12年12月7日金曜日
  • 45. 気づいた事 あれ? ずっと時間一杯つかってScriptを書いてい たような気がするけど、 たったこんだけ? じつは、あんまりScriptでやることって少 ないんじゃないのかなって思った12年12月7日金曜日
  • 46. マネジメント12年12月7日金曜日
  • 47. ファイルの受け渡しってUSBだ とけっこう手間。 ファイル共有とコメントをもっ て簡単に交換出来ないかなぁ? 実は序盤ネットの設定でバタバタして 使えない時間があったので、あとから 接続できた人にどうやって渡すのか? っていうので困ってました12年12月7日金曜日
  • 48. ChatWork http://www.chatwork.com/ja/ 利点 Facebookがあればすぐできる。 使ってない人がいて焦ったけど。 欠点 使い方に戸惑った。癖あり ファイルのアップロード上限があ った12年12月7日金曜日
  • 49. あと、ソースコードの管理はど うしよっかなぁー GoogleCodeってGitとSvnが使 えるようだけど?12年12月7日金曜日
  • 50. Gitを使った 利点 使い慣れている? ひとそれぞれかも 欠点 Unityで管理で必要なファイルとそ うでないファイルがわかってなく て、余計てこずった。 チューターの方に感謝!12年12月7日金曜日
  • 51. でも、結局、 パッケージにしてファイルで 渡したり Scriptだけわたして貼っても らったりしてました。12年12月7日金曜日
  • 52. 反省点12年12月7日金曜日
  • 53. • ゲーム仕様が明確でなかった ◦ 仕様決めに時間がとられる ◦ ゲームとしての面白さがわからない ◦ 必要なデザインリソースがわからない ◦ 力をいれる部分と手を抜く部分がわから ない • 人の適材適所が難しかった (特にデザイナー)12年12月7日金曜日