万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    【第5回】渋谷Unity技術勉強会 ~プログラミングをしないでゲームを作る方法~&『ゆるロボ製作所』の開発事例を大公開! / Unity開発事例 三次元解剖学書

    プログラミングをしないでゲームを作る方法
    伊藤 周氏

    3Dゲーム制作が容易
    マルチターゲット、マルチプラットフォーム

    iPhoneAndroid向けのゲームが作れる

    プログラミングしなくていい=簡単

    ・ペンギンが滑る2Dゲーム

    Phosoの画像
    フォトショップでバラバラに
     body
     head
     wing
     tail
     foot
    →動かすのが大変

    Asset Store
    Smooth Moves($35)

    SmoothMoves->NewAtlasを作成

    ・RebuildAtlas
    →バラバラの絵を一つにまとめる
     高速のため

    ・TextureAtlas
    ドローコールを減らす
    テクスチャーを一つにまとめる
    →描画を軽くするための前準備

    NewBoneAnimationData

    Bone
    →骨の関係性

    複数選択したパーツにキーフレームを設定できる

    pivot・・・駆動するところの中心位置

    1つのアニメに1つの状態だとアニメにならない→2つにする

    Manipulateをいじることで角度を動かせる
    □は拡大できる

    ジャンプ
    AnimationのRootは動かすか否か
    ・動きは物理で
     →Animationで動かない方が無難

    飛ぶ前はStay、飛んでる最中は物理

    アニメーション遷移をプログラミング?
    →playMaker

    ・playMaker
    状態の移り変わりを可視化
    フローが変わりやすい
    アニメーション遷移に最適
    (Smooth Movesと連動)作者同士が連動「playmaker Smooth Movesでググる

    Main Camera
    → PerspectiveではなくOrtograpingにしないといけない

    FSM・・・有限状態機械(Finite State Machine)

    状態が繋がってないと「!」マークが出る

    滑らかなステージ
    →RAGE spline(作者はUnityに就職)

    スプライン曲線で2Dを書ける
    横スクロールゲームのステージ作成に最適

    PhysicsをBoxedにしてコライダーを作れる。
    Physics split countで分割数を
    Phiscs materialでiceにした(iceは滑りやすいマテリアル、伊藤さん自作)

    スリップするときに回転Zの固定を解除
    Freeze Positionをx,yのチェックを外しておく。
    playMakerにはコントロールするのはない。
    →作者に問い合わせると今後作ります

    コピペコードでも可能

    自動車の挙動があり、car tutrialはパラメータが多くて
    →もっとわかりやすい Edy's vehicle Physics($60)

    ロープの物理挙動は難しい
    →QuickRopes Rope Phisics($40)

    ゆるロボ製作所開発事例 – ドローコール削減技 n 連発!
    吉谷 幹人氏

    ・ゆるロボ
    キャラが3D。
    無料で、Admobのみ

    ・開発人数5人
    スクラム(スプリント(開発期間)を何回も回す)
    PM(スクラムマスタ)1人+補佐一人
    デザイナ:メイン1人、3Dヘルプ 1人
    プログラマ:1人

    バーンダウンチャートは使わなかった

    NGUIを使用した
    →他と比較した結果、使いやすくパフォーマンスが良かった

    Gitでバージョン管理

    素材の受け渡し・適用のオーバーヘッドはゼロ
    デザイナが素材をUnityプロジェクトに追加
    位置や細かいパラメータはデザイナが行う。

    ・スプリント1
     基本システムの実装
     ロボ企画、3Dモデル6体
     ミニマムで遊べる状態

    ・スプリント2
     チュートリアル
     〜〜〜

    ・スプリント3
     広告の仕込み
     UIのブラッシュアップ
     ロボ3Dmoderu 完成(30体)

    ・スプリント4
     ソーシャルメディア投稿機能
     ゲームバランス調整
     社内テストドードバック適用3回

    3Dのパフォーマンスはデザイナにしてもらった

    ・ドローコールを削減
    15体をわらわらさせたい

    ・いろんな機種でも対応させたい

    ・ドローコール
     描画命令を送る回数
     コール数を減らせばFPSが上がる
     GameペインのStatsから見らる

    iPhone4に関して
    200コール:15fpr
    100コール:30fpr
    50コール:50fpr

    ドローコール20を目標

    ロボ15体:15コール
    ねじこ:1コール
    影16体分:16コール

    Blob Shadow Projects1つで1コール

    スキッメッシュオブジェクト1つで1コール

    非スキンメッシュの影ポリを足元に配置
    同じマテリアルならバッチ化され1コール
    ※注意:なるべくRaycastは飛ばさない
    地面の位置測定に使いたくなる
    Updateで行うと割り高負荷
    〜〜

    スキンメッシュオブジェクトはまとめる
    全部ひっくるめて1コールに

    アニメーションはスクリプトで動かす
    ・出荷高の開く・閉じる
    ・ベルトコンベア
    ・工場のガジェット

    ・NGUI
     ドローコールを減らすポイントがある

    テクスチャをまとめる
     アトラスがある、アトラスごとにコールされる
     UIもフォントも1枚(1024x1024)に収めた


    ・パネルをまとめる

    ・スカイボックスを利用しない
     半球にテクスチャ張って代用

    ・動かさないオブイェクトはStaticをOnに
     Static Batchingの対象にする

    ・Dynamic Batching分断に注意
     Transform.scale(-1,1,1)と(1,1,1)交互に配置しない

    ◯まとめ
    ・バッチ化でコールをまとめる
    ・スキンメッシュオブジェクトに注意
    ・NGUIがいい

    Q.Admobはアセット?
    A.自前で実装した

    Q.gitはデザイナはGUI?
    A.Windowsで、TortoiseGitをつかった。ぷろーん?

    Unity開発事例 三次元解剖学書と猫ゲーム
    金田 宙志氏

    Unityで作られた人の体、構造など、
    ついっぷるはTwitterすべて出る
    →自分のアプリのURLで検索してみる

    WebPlayer面白いよ!
    @kyusyukeigo

    WWWクラスでツイートするとき
    クロスドメイン

    ロードが遅い
    8秒以内にやらないとユーザはバックしてしまう


    ・容量の対策

    最初のシーンだけを載せよう
    LoadUnityWeb()

    Webプレイヤーを読み込んで実行する
    10KBなのですぐダウンロードされる

    DL後、表示
    PlayerPrefs.SetString

    問題点
    CPUをくってしまう