セーラーソン振り返り

53
セーラーソン 12127日金曜日

description

 

Transcript of セーラーソン振り返り

Page 1: セーラーソン振り返り

セーラーソン

12年12月7日金曜日

Page 2: セーラーソン振り返り

技術的な内容• キャラクターの操作• モデルデータ• キャラクターのアニメーション• カメラ操作• ステージの制御• マネジメント

12年12月7日金曜日

Page 3: セーラーソン振り返り

キャラクター操作

12年12月7日金曜日

Page 4: セーラーソン振り返り

カメラ

固定12年12月7日金曜日

Page 5: セーラーソン振り返り

横アングル

ジャンプ植木等

12年12月7日金曜日

Page 6: セーラーソン振り返り

正面アングル

横移動

水たまり等12年12月7日金曜日

Page 7: セーラーソン振り返り

自動で視点移動

横視点前視点

横視点後視点

起伏のあるステージ

12年12月7日金曜日

Page 8: セーラーソン振り返り

ゲームルール

•障害物に当たるとタイムが遅れる•一定時間以内にゴールできれば完走

12年12月7日金曜日

Page 9: セーラーソン振り返り

さぁ実装!

12年12月7日金曜日

Page 10: セーラーソン振り返り

あ、でもまずは横固定ね。千里の道も一歩からっていうじゃない

12年12月7日金曜日

Page 11: セーラーソン振り返り

横アングル視点固定

ジャンプ植木等

つまりこういうこと

12年12月7日金曜日

Page 12: セーラーソン振り返り

Assets->Import Package->Character Controller

3rd Person Controller

それと、もともとあるスクリプトで楽しちゃおっと

12年12月7日金曜日

Page 13: セーラーソン振り返り

コレ

3rd Person Contollerを配置してみたとこ、このモデルを置き換

えればいいはず?

12年12月7日金曜日

Page 14: セーラーソン振り返り

が、問題が

12年12月7日金曜日

Page 15: セーラーソン振り返り

•カメラのスクリプトがついてるけど、おもったような動きではないので要改造

•モデルの座標系が違うのでそのままでは当たり判定等の座標がズレる

•余計なアニメーションが多い

12年12月7日金曜日

Page 16: セーラーソン振り返り

Character ControllerThird Person Controller(Script)

面倒なんで、スクリプトとコントローラーのコンポーネントだけ使わせいてもらいましょう!

あでも、どう貼るかはもとのやつを参考にするんだけどね

12年12月7日金曜日

Page 17: セーラーソン振り返り

でも、でも楽をさせてもらうはずだったけど、、

けっこう手こずりました。実現可能なレベルの操作系はどこまでもってくの

とか、Unityの使い方とか色々と、、

12年12月7日金曜日

Page 18: セーラーソン振り返り

気づいた事ThirdPersonControler付属のモデルと、インポートしようとしてるモデルの座標系が違うのでそのままではだめだった。

fbxのインポート時の設定でScale Factorを調整して合わせて、ベースの位置を腰か

ら足元に変更した。

12年12月7日金曜日

Page 19: セーラーソン振り返り

モデルデータ

12年12月7日金曜日

Page 20: セーラーソン振り返り

うちらのチームの唯一の希望はこのアニメーション付きのモデルをデザイナーさ

ん作っていてくれたことなんだよね!だからこれを使えばなんとかなるって!思っていたところもあったんだ、、

12年12月7日金曜日

Page 21: セーラーソン振り返り

これが、ほんとによく出来てる!アニメーションも素晴らしい!

これでほぼ完成したも同然じゃーーん!てね

12年12月7日金曜日

Page 22: セーラーソン振り返り

しかし、これセーラー服とは程遠いし

第7感で埋めるにしてもねぇ、1から作るのは大変だしなぁ

うーーーんんん

12年12月7日金曜日

Page 23: セーラーソン振り返り

デザイナーさんより自由に使ってもよいという

お墨付きのモデルクラウディアがあるよ?という情報を頂く

12年12月7日金曜日

Page 24: セーラーソン振り返り

いいね!それでいこう!決定!

セーラー服は、この際いいか、、12年12月7日金曜日

Page 25: セーラーソン振り返り

というわけでこれのアニメーション部分を

再利用して

アニメーション付きのクラウディアのFBXを作成することに成功!デザイナーさんががんばってSoftImageで再設定してくれま

した。12年12月7日金曜日

Page 26: セーラーソン振り返り

というわけで、アニメーションの設定

12年12月7日金曜日

Page 27: セーラーソン振り返り

通常状態

走る

ジャンプ

コケる

12年12月7日金曜日

Page 28: セーラーソン振り返り

エディタ上でプチプチ一個ずつ設定する

12年12月7日金曜日

Page 29: セーラーソン振り返り

Space または クリック でジャンプ

イベント処理

障害物にぶつかるとコケる

この辺はCharactorControllerが勝手にやってくれるのてで助

かりました。

12年12月7日金曜日

Page 30: セーラーソン振り返り

宣言: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); }}

TherdPersonControllerより抜粋

外部からキャラクタに加速度をつけると勝手に動いてくれた

12年12月7日金曜日

Page 31: セーラーソン振り返り

カメラ制御

12年12月7日金曜日

Page 32: セーラーソン振り返り

か、カメラは横からの視点固定

12年12月7日金曜日

Page 33: セーラーソン振り返り

ステージの制御

12年12月7日金曜日

Page 34: セーラーソン振り返り

全部ポリゴンでステージつくっちゃえば、そりゃ楽ですよ!でも、少ない時間と手数でいかにそれっぽくみせるか、、てのが難しいーー

12年12月7日金曜日

Page 35: セーラーソン振り返り

案1 固定ルート

背景フィールド

カメラ12年12月7日金曜日

Page 36: セーラーソン振り返り

•起伏のあるコースを自在に作れる•直感的で分かりやすい•背景の画像の準備が大変•コースの作成もけっこう手間がかかる•正面や後方のアングルに対応できない

案1の利点欠点

12年12月7日金曜日

Page 37: セーラーソン振り返り

案2 円錐

カメラ

背景

フィールド

12年12月7日金曜日

Page 38: セーラーソン振り返り

•正面や背面のアングルが使える•起伏のあるコースを自在に作れる•スピード感のあるコースを作れない•コースの作成もけっこう手間がかかる•作るとなると大掛かりになりそう

案2の利点欠点

12年12月7日金曜日

Page 39: セーラーソン振り返り

案3 素晴らしき妥協案

背景

フィールド

カメラ障害物

12年12月7日金曜日

Page 40: セーラーソン振り返り

•すぐキャラを動かせれる•最低限のデモができる•段階を踏んで最終的なものにしていける•僕らの大事ななにか・・・

妥協案の利点欠点

12年12月7日金曜日

Page 41: セーラーソン振り返り

背景の操作

Plane

テクスチャー

12年12月7日金曜日

Page 42: セーラーソン振り返り

背景のScript

// Update is called once per framevoid Update () { if(!isPause){ offset.x = Mathf.Clamp01((offset.x + Time.deltaTime)%1.0f); } gameObject.renderer.material.SetTextureOffset("_MainTex", offset); }

時間で1を割って余りを新しいテクスチャーの座標位置にする

12年12月7日金曜日

Page 43: セーラーソン振り返り

地面の操作固定

毎フレーム移動する

12年12月7日金曜日

Page 44: セーラーソン振り返り

地面のScriptvoid 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日金曜日

Page 45: セーラーソン振り返り

気づいた事

あれ?ずっと時間一杯つかってScriptを書いてい

たような気がするけど、たったこんだけ?

じつは、あんまりScriptでやることって少ないんじゃないのかなって思った

12年12月7日金曜日

Page 46: セーラーソン振り返り

マネジメント

12年12月7日金曜日

Page 47: セーラーソン振り返り

ファイルの受け渡しってUSBだとけっこう手間。

ファイル共有とコメントをもって簡単に交換出来ないかなぁ?

実は序盤ネットの設定でバタバタして使えない時間があったので、あとから接続できた人にどうやって渡すのか?

っていうので困ってました12年12月7日金曜日

Page 48: セーラーソン振り返り

ChatWork利点

Facebookがあればすぐできる。使ってない人がいて焦ったけど。

欠点使い方に戸惑った。癖あり

ファイルのアップロード上限があった

http://www.chatwork.com/ja/

12年12月7日金曜日

Page 49: セーラーソン振り返り

あと、ソースコードの管理はどうしよっかなぁー

GoogleCodeってGitとSvnが使えるようだけど?

12年12月7日金曜日

Page 50: セーラーソン振り返り

Gitを使った利点

使い慣れている?ひとそれぞれかも

欠点Unityで管理で必要なファイルとそうでないファイルがわかってなく

て、余計てこずった。チューターの方に感謝!

12年12月7日金曜日

Page 51: セーラーソン振り返り

でも、結局、パッケージにしてファイルで

渡したりScriptだけわたして貼ってもらったりしてました。

12年12月7日金曜日

Page 52: セーラーソン振り返り

反省点

12年12月7日金曜日

Page 53: セーラーソン振り返り

•ゲーム仕様が明確でなかった◦仕様決めに時間がとられる◦ゲームとしての面白さがわからない◦必要なデザインリソースがわからない◦力をいれる部分と手を抜く部分がわからない

•人の適材適所が難しかった(特にデザイナー)

12年12月7日金曜日