SlideShare a Scribd company logo
1 of 93
ゴルフゲームで
Unity の限界を突破する方法


      KLab 株式会社
         饒平名 秀成
自己紹介
 • 饒平名 秀成(のひな ひでなり)
    –   へなちょこエンジニア
    –   入社4年目の新卒2年目(いわゆる新古品)
    –   沖縄県宮古島出身




六本木でモバイルゲームつくったり Unity で遊んだりしてます。
絵描きになりそびれて今はエンジニアやってます。
実家のマンゴー畑の行く末が当面の悩み・・・
KLab 株式会社 ってどんなと
こ?
• 六本木の高い建物の中にあります。




       ← だいたいこの辺
KLab 株式会社 ってどんなと
こ?
• ほかにもいろんなところにあります。
                       ・六本木
                       ・大阪
                       ・福岡
                       ・仙台
               ●   ●   ・シンガポール
             ●●●
         ●
                       ・サンフランシスコ
                       ・マニラ
     ●       ●
                       ・上海
KLab 株式会社 ってどんなと
こ?
• モバイルゲームとかつくってます。
       こんなのとか
KLab 株式会社 ってどんなと
こ?
• 中の雰囲気はこんな感じです。
       こんなかんじ




                ※ 一部 941 ブログさんからお借りましました
今回紹介するもの
• ゴルフパラダイス ( 仮 )
 ※ 商標の関係でタイトルは今後変更予定

 –   スマートフォン向け本格ゴルフゲーム
 –   今冬リリース予定
ゴルフパラダイス ( 仮 )
• スマホで綺麗グラフィックなゴルフコー
  スを体験!
ゴルフパラダイス ( 仮 )
• 個性的なキャラクター!
ゴルフパラダイス ( 仮 )
• 多彩なバリエーション!
ゴルフパラダイス ( 仮 )
• いっしょにコースをまわるお供!
ゴルフパラダイス ( 仮 )
• トリック、必殺技による派手な演出!
ゴルフパラダイス ( 仮 )
• ここがこだわりポイント!
 –   ボールを遠くへ飛ばす爽快感
 –   スマホでもハイエンドなグラフィック


               ← ちなみにこんなプレイ画面(仮)
DemoTime
ここから本題
今日のおはなし
• そもそもなんで Unity だったのか
• Unity の限界突破!
• 綺麗グラフィックを追求するまでの道の
  り…
の前に
ちょっと前置き
詳細なことを説明したら・・・
• Unity というよりも個別の開発論の話に
  なっちゃいました。
• かなりエンジニアよりの話をします。




ご了承を――― (^^;
では、気を取り直して
そもそもなんで Unity だったの
       か
入社間もない彼の頃
~大阪勤務なバイト時代 09’ ~

突然の本社からの電話。
「のひなくん、 3D って興味ない?」
え?
「 3D ゲームの企画が出てるんだけど作らない?」
え? え?
「じゃぁ、企画書送るからあとはよろしく!」
えええええぇぇぇ!?

そのまま添付メールで企画書がやってきました。
3D の知識もなかったので
いろいろとググる。まずはグーグル先生頼り。

なんか 3D のゲームエンジンがフリーで公開されたらしい
   。
Unity とか言うらしい。あと Unreal っていうのもあるら
   しい。
とりあえず簡単そうな Unity で触ってみるか。
日本語ドキュメントなくてよくわからないけどまぁいーや
   。
で、つくってみた
なんか知らないけど、ソフトいじってたらゲームになって
  る。
コードもあまり書く必要はない。
よく知らないけど動いた!すげー

「あ、動いたんだ。じゃぁ、経営会議でプレゼンしてき
  て」
「出張申請しておいたから、あとはよろしく!」


えええええぇぇぇ!?

そのまま六本木に飛ばされました。
時は流れて
正社員になって東京勤務に慣れてきた頃。

当時運用していた某ゴルフゲーム界隈にて。
「やっぱりガラケー向けはちゃっちいよね」
「もっとハイクオリティなことやりたいよね、 3D とか」
「そういやのひなくん昔 Unity とかいうのやってたよね」
え?
「じゃぁ、ゴルフで 3D で爽快感だから!あとはよろし
   く!」


えええええぇぇぇ!?
とまぁ、
脚色は入っていますが、だいたいこんな感
 じ。
冗談はさておき、
なぜ Unity を選択したのか
• 主だった処理はエンジン側がだいたいや
  てくれる。
• なので動くものを見せられるまでが早い
  。
• 他社のものとくらべても比較的安価。
• コミュニティが活発で問題が起きても誰
  かしらがそれを解決してくれている。
楽にサクっと作れちゃいます!
• 動くものができるまでは本当に早い。
              当時のプロトタイプ。

              グラフィックはいまい
              ちだけど、一通りゴル
              フができるものがひと
              月くらいでできた!
ちなみに、
• これが
ちなみに、
• こうなって
ちなみに、
• こうなって
ちなみに、
• こうなりました
しかし、そう上手くはいかないも
ので
•    Unity はだいたいなんでもやってくる
•    けれど思わぬところに落とし穴が・・・
    –   シンプル設計が故に意外とかゆいところに手が届か
        ない
    –   品質向上のためにはそれなりの努力が必要
    –   コアの部分に手をつけたくてもコードが公開されて
        いないから無理
    –   多人数で開発した際のコンフリクトの多発問題



    意外と予想外な問題に突き当たる。
    プロトタイプを作ったあとの開発はそんな
    に楽じゃない。
特に問題を抱えたのが
•    物理演算
    –   Unity の Rigidbody はあくまでも剛体シミュレー
        タオンリー
        •   速度と重力の計算しか入っていない
        •   空気抵抗などの計算があまり考慮されていないので、実際
            のボールの軌道とは似つかない
            –   ボールに回転を加えても無回転で飛んだ状態と同じものとし
                て計算される
            –   回転が挙動に大きく影響を与えるものには向かない
    –   処理がブラックボックス化されていることによる問
        題
        •   厳密な計算が難しい。
            「このドライバーでこれくらいの力で打ったら 230 ヤード飛ぶ」
            というようなパラメータの設定や推定が難しい。
これは Unity の限界
そこで
Unity の限界突破!
我々がやりたいこと
  • 打撃に爽快感が欲しい
  • 回転で浮き上がり、空気抵抗で失速しな
    がら飛んでいく、現実のゴルフボールの
    ような挙動を実現したい
        –      これは Unity の生の演算処理では不可能

                                         ← こういう軌道にしたい




http://yspz.blogspot.jp/2010/04/4.html
実際にやったこと
• 物理演算部分は Unity のものを使わず
  、自前で実装する
 –   ただし、あくまでもゲームなので、精度を
     追求するわけではない
 –   要件を満たす程度にある程度の物理的な挙
     動を模擬する
 –   こだわるのは打撃時の爽快感
前提
•   滞空時の動作に対する演算は、
    – 速度( Velocity )
    – 質量( Mass )
    – 空気抵抗( Drag )
    – 重力( Gravity )
    くらいしか使われていない

      ちなみに、 Drag や Mass の影響を出ないようにパラメータを調整し
      て、 Unity の生の演算と、自前で処理をかけたものを比べるとだいたい同じ
      結果になった。

      rigidbody.velocity += Physics.gravity * Time.deltaTime;


•   また、使われているものもそこまで
    厳密ではない
大まかに定義してやるもの
• ボールに対する空気抵抗
• 回転による揚力
要は流体力学!
まずは資料の収集
• ゴルフボールの弾道シミュレーションに
  利用できるデータは多くがネット上に公
  開されている
 –   学術論文
     •   実際の演算方法
 –   企業の特許情報
     •   空気抵抗係数などのパラメータ
とにかく集める!
とにかく読み込む!
なるほどわからん (´ ・ ω ・` )
でも、
なんかよくわからないけど
書いてるとおりに実装したら
  動くのかしら・・・
なんかよくわからないけど・・
       ・
ということで実装
実際に使った計算
•       定数定義
    –    Fw   :   重力
    –    Fd   :   抗力
    –    Fl   :   揚力
    –    U    :   対空気速度( m/s )
    –    N    :   回転速度( rps 。ゴルフ関係の資料は rpm なことが多いので注意)
    –    m    :   質量
    –    g    :   重加速度
    –    d    :   ボールの直径
    –    A    :   前面投影面積
    –    ρ    :   空気密度
    –    Kv   :   空気動粘度
    –    Cd   :   空気抵抗係数
    –    Re   :   レイノルド数
実際に使った計算
入手した資料内の公式から
 –   Fw    =m*g
 –   Fd    = 1/2 * Cd * ρ * U^2 * A
 –   Fl    = 1/8 * π^2 * ρ * d^3 * U * N


とすると、ボールにかかる力 F は
 –   F = Fw + Fd + Fl


各種パラメータを決めてやって、
上記の式に入れ込むとボールの移動速度が算出できる。


 ※   この資料で利用する公式は一部ゴルフボール
     を完全に球体だった場合として簡易的に近似
     していることに注意。
実際に使った計算
• 定数の値の設定
 –   まず、簡単に決められるものから
         m = 45.3 / 1000   ※1
         d = 42.7 / 1000   ※1
         g = -9.81         ※2
     あたりの数値を入れる。

           ※1    これは各社のゴルフボールの規格によって変わるので適当
     な           ものをんでやる。
           ※2    g は実際には Vector3(0, -9.81f, 0)
                 とか Physics.gravity とか使ってや

                 れば良いよ。
実際に使った計算
同様に、入手した資料内の公式から
 –   A = 1/4 * d^2 * π
より
 –   A = 1/4 * 42.7^2 * π
実際に使った計算
気候条件を決めてやる必要のあるデータは、
標準大気圧 (0.1013MPa) で 20℃ で仮定して決める。
 –    ρ     = 1.205
 –    Kv    = 1.512*10^(-5)

 –    Re = U * d / Kv
より、

 –    Re = U * d / (1.512*10^(-5))

 ※    厳密にやりたいならここも可変が良いが、とりあ
      えずは固定して考える。
 ※    実際は、ゲーム内に天候条件があるので必要に
      応じて変更。
実際に使った計算
•       Re が決まったので、 Cd の値が算出できる。
    –    ただし、この Re-Cd 関係は算出する式が存在しない(実験
         データとの照合の必要がある)。
    –    完全な球体として扱って良い場合は、適当に以下のような近
         似式を使う。
          Cd = 24/Re
             * (1 + 0.152 * Re^(1/2) + 0.0151 * Re)

          ※   Re-Cd 関係はメーカー(というよりも各ゴル
              フボールの規格)によって全然違う数値に
              なる。
          ※   特にメーカー等の指定がなければ、学術論
              文やゴルフボールの特許資料などに乗って
              いる実験値などから適当な値を抽出。
          ※   実際には、収集したデータをもとに、上記の
              近似式をあるゴルフボール用に改良(という
              よりも操作)を加えたものを利用している。
実際に使った計算
ここまで決めてやれば、計算に利用
するデータはすべて揃うので、初期
値として
 –   Velocity          : 速度
 –   AngularVelocity   : 角速度
 –   WindVelocity      : 風速


を決めてやって、 U と N の値を決定し、
上記の計算式にはめ込んでやると、
ボールの弾道シミュレーションができる。
実際に使った計算
• 最後の3つのパラメータは実測ベース
 –   基本的にはネット上に出回っている標準
     データを利用する。
 –   ただし、特定のクラブの特定の条件での打
     撃などで抜け漏れが発生する。
     •   なので、実際に現場に行ってデータを計測する
         。


     ※ ちなみに、ここで計測したデータはけ
       っこう重要で、なかなか出回らない
       ショット失敗時のデータも取得できる。
実際に使った計算
• ゴルフ場のクラブ健康診断などを利用す
  ると、このようなデータが取得できる。


          ← 社員が実際に打ったデータ
実際に利用した計算
• ここまでのデータをもとにシミュレーシ
  ョンを行う。

 ※ 実際のソースコードは公開できませんが、
   ここまでのものをそのままコードに落とせ
   ば同様の計算ができます。
動いた ( `・ ω ・ ´)
なんかよくわからないけど・・
       ・
できるようになったこと
•    ボールの回転による空気抵抗まで加味するの
     で、より自然なかたちでボールが 飛ばせるよ
     うになった
•    事前にどの程度の力を加えればどの程度ボー
     ルが飛ぶのか判断できるようになった
    –   ただし、⊿ t(deltaTime : 微小時間 ) 毎に次々の
        タイムステップを計算していくような、時間領域の
        差分を利用する方法では、実際に計算を回さないと
        結果はわからない
    –   なので、飛ばしたい距離分打つにはど
        の程度の力を加えれば良いのか裏で
        計算 をして力の設定をしています
要は飛ばして爽快!
DemoTime
Before
After
今回お話したのは
• キャリー ( 飛来 ) 中の弾道シミュレーシ
  ョン


• 実際は以下のものも自前で起こしていま
  す
 –   バウンド時の跳ね返り方向の判定
 –   ラン ( 転がり ) 中の挙動シミュレーション
参考にしたデータ
•       テニスの力学
    –     http://goo.gl/m9kym
•       ゴルフボールの弾道シミュレーション方法
    –     http://goo.gl/e8Usx
•       ゴルフボールのディンプル数に対する飛翔特性と流れ
    –     http://goo.gl/0zPDu
•       AERODYNAMICS OF A GOLF BALL WITH GROOVES
    –     http://goo.gl/JQGU5
•       地球の雨・タイタンの雨
    –     http://goo.gl/ypiYw
•       土木工学ハンドブック
    –     http://goo.gl/HT4KT
•       転がりの科学
    –     http://goo.gl/PQtLv


    いろいろ資料はあるけど、だいたいこれだけ読めばお k !
限界突破したかな。
では、次なる限界突破
データのフォーマット問題
• ロードできるデータが固定されている
 –   Resources.Load 、 AssetBundle で使
     用可能なフォーマットが固定
     •   パラメータ設定とかに CSV とか使いたいよね…
     •   なので、独自のローダを開発!
         –   Resources.Load で読めない例外的なデータはこち
             らからローディング
ローカルのセーブデータ
•    Unity 内臓の PlayerPrefs クラスなんかだと
     、直接データを覗けば簡単に構造が読めてし
     まう
    –   XML や JSON も同様
•    C# の BinaryFormatter でシリアライズす
     るパターンも、直接抜き出してデコードした
     ら一発で解析可能
    –   ファイルの冒頭に「 Assembly-CSharp 」という
        記述があるため、すぐにデコード方法は推定可能
    –   そもそも、 BinaryFormatter は iOS で利用でき
        ない

    ※ 余談として、データの保管には
      EZ Saver といアセットがある
ローカルのセーブデータ
• 解決策
 –   セーブデータをハッシュ化したものを文字
     列変換して保存する
     •   こんな感じ
         –   EXP:100;LEVEL:3;CURRENT_STAGE:5;
 –   変換した文字列を公開鍵暗号を利用してさ
     らに 16 進数の文字列郡に変換
     •   鍵はサーバ側で定期的に更新して
         おけば安全
データの動的更新
• 定期的なデータの更新のたびに申請を出
  すのが手間
 –   こちらはむしろプラットフォーム側の問題
 –   一部機能を WebView で実現する
     •   イベント
     •   告知ページ
     •   ランキング
限界突破したかな。。
ここからは個別のチューニングと
    Unity の仕様の話
速度チューニング
•       Raycast 飛ばしすぎ
    –    Raycast は処理が重たい
    –    NGUI などの GUI ツールは Raycast でタップ判定をしてい
         る
         •   ここはなるべくひとつのカメラにまとめる
•       GUI/ 演出でカメラがいっぱいある
    –    実は Unity は画面に描画をかけていなくても、場にカメラが
         存在するだけで計算が入る
         •   利用していないカメラは小まめに deactive に
•       データのロードで固まっちゃう
    –    エフェクトのロードなど、一度にたくさんのデータや、重た
         いデータのロードをかけると一瞬固まってしまう
         •   確実に利用されるとわかっているデータは事前ロード
             –   シーンを開始した最初のフレームで読み込んでいる
             –   若干、機動が遅くなるがあとの処理落ちは回避できる
GUI と日本語
•       DrawCall 削減のために GUI は基本的に NGUI と
        iTween
    –    一部例外的なアニメーションは iTween を拡張して独自実装
•       日本語化
    –    Unity では日本語のダイナミックフォントがサポートされて
         いない
         •   Bitmap Font Generator ないしは Glyph Designer を利用
             する
             –   TTF 形式のフォントをビットマップ画像に変換し、テクスチャ化し
                 たものを文字データと関連付ける
         •   これだけだと、一枚のテクスチャにすべての
             文字データが入っていけないという仕様上、
             利用できない文字が発生してしまうので、ユ
             ーザが「日本語で」自由入力する部分は Web
             View の機能を利用する

             ※ Unity4 では日本語が標準サポートのようです。
GUI と日本語
• GUI の今後
 –   オートデスクの Scaleform が便利そう!
     •   Flash ( AS2/AS3 )で作成したコンテンツを
         利用するためのソリューション
     •   もともと Web アプリを作っていた会社のため、
         Flash の知識のある人材がデザイナに多いので
         、こちらに移行する(かも)
         –   試しに別案件の Flash ゲームを Unity に移植したと
             ころ簡単に動作できた!
         –   Unity のバイナリではなく、 SWF のデータ
             で扱うため、シーンの編集中に他人の書い
             た GUI を壊しちゃった、みたいなことも少な
             くなりそう
DemoTime
分析ツール
• ユーザの行動分析はどうするか
 –   Flurry を導入予定
     •   こちらは未だ実装に入れていないので、あくま
         で「予定」として


 ※ 別の勉強会で話を伺った某社は Google
   Analytics を利用しているとのことでした
仕様でのバグバグ
•    Application.LoadLevelAdditive() につい
     て
    –   LoadLevelAdditiveAsync にしなかった際に
        「シーンを読むまで呼び出し元の処理を止める」も
        のと勘違い。
        •   実際には「シーンのロードが終わるまで次のフレームに行
            かない」
            –   ちなみに、 Application.LoadLevelAdditive() も
                Application.LoadLevelAdditiveAsync() も、
                内部的には Application.LoadLevelAsync()
                を利用してシーンを読み込んでいる模様

                基本的 にシーンを読む関数はすべて
                最終的にこちらを参照するようになっ
                ている
限界突破したかな。。。
と、
ここまでが限界突破の話
ここまでやったところで
持ち時間使い切っちゃいましたよ
ね
• グラフィック編は、次回以降要望ないし
  はプレゼン枠の空きがあればやります。
 –   綺麗グラフィックを追求するまでの道のり
     …


• 同様に、 Unity にこだわらず「ス
  ポーツゲーム(ほとんどゴルフに
  特化するでしょうけど)の作り方」のテ
  ーマでも、要望等あれば
  やります。
まとめ
• Unity はプロトタイプ開発には便利
• だけど、本当に凝ったことをしようと思
  うとひと手間加える必要がある場合があ
  る
• 結局のところ、コンテンツを作りこんで
  いく苦労は Unity でも変わらない
• ただし、難しいことは調べれば既にあっ
  たりする(特にアルゴリズムと数式系)
 –   意外と学術論文とか使えるんです!
最後に
• 当プロジェクトは現在誠意製作中です!
 –   リリースをお楽しみに
以上です。
ありがとうございました。

More Related Content

What's hot

【Unity道場Houdini編】Houdini Engine とプロシージャル法
【Unity道場Houdini編】Houdini Engine とプロシージャル法【Unity道場Houdini編】Houdini Engine とプロシージャル法
【Unity道場Houdini編】Houdini Engine とプロシージャル法UnityTechnologiesJapan002
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -historia_Inc
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜Unity Technologies Japan K.K.
 
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...KLab Inc. / Tech
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!Masahiko Nakamura
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>エピック・ゲームズ・ジャパン Epic Games Japan
 
UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!com044
 
UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計Masahiko Nakamura
 
UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-com044
 
UniTask入門
UniTask入門UniTask入門
UniTask入門torisoup
 

What's hot (20)

【Unity道場Houdini編】Houdini Engine とプロシージャル法
【Unity道場Houdini編】Houdini Engine とプロシージャル法【Unity道場Houdini編】Houdini Engine とプロシージャル法
【Unity道場Houdini編】Houdini Engine とプロシージャル法
 
Fortniteを支える技術
Fortniteを支える技術Fortniteを支える技術
Fortniteを支える技術
 
Mask Material only in Early Z-passの効果と仕組み
Mask Material only in Early Z-passの効果と仕組みMask Material only in Early Z-passの効果と仕組み
Mask Material only in Early Z-passの効果と仕組み
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
 
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
 
Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明)
 Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明) Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明)
 
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
 
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
 
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
 
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
 
UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!
 
UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計
 
UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-
 
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
 
UniTask入門
UniTask入門UniTask入門
UniTask入門
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
 
60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編
 

Similar to ゴルフゲームでUnityの限界を突破する方法

Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究Yuichi Yoshida
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)NTT DATA Technology & Innovation
 
メガ Unity ユーザーミートアップ 2012
メガ Unity ユーザーミートアップ 2012メガ Unity ユーザーミートアップ 2012
メガ Unity ユーザーミートアップ 2012cfm_art
 
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!Nishida Kansuke
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウKentarou Mukunasi
 
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆5mingame2
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1MinGeun Park
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化COLOPL, Inc.
 
もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…Yasumasa Suenaga
 
[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence LearningDeep Learning JP
 
分散Key/Valueストア Kai 事例紹介
分散Key/Valueストア Kai事例紹介分散Key/Valueストア Kai事例紹介
分散Key/Valueストア Kai 事例紹介Tomoya Hashimoto
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
NodeにしましょうYuzo Hebishima
 
地質調査デジタル化の現状と期待(産業技術総合研究所・吉川様)
地質調査デジタル化の現状と期待(産業技術総合研究所・吉川様)地質調査デジタル化の現状と期待(産業技術総合研究所・吉川様)
地質調査デジタル化の現状と期待(産業技術総合研究所・吉川様)OSgeo Japan
 
Linuxで温度計測あれこれ
Linuxで温度計測あれこれLinuxで温度計測あれこれ
Linuxで温度計測あれこれKenichiro MATOHARA
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会Kimikazu Kato
 
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Hasegawa Yusuke
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス5mingame2
 

Similar to ゴルフゲームでUnityの限界を突破する方法 (20)

Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究
 
K初めてのstylus
K初めてのstylus K初めてのstylus
K初めてのstylus
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
 
メガ Unity ユーザーミートアップ 2012
メガ Unity ユーザーミートアップ 2012メガ Unity ユーザーミートアップ 2012
メガ Unity ユーザーミートアップ 2012
 
㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
 
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
 
もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…
 
[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning
 
分散Key/Valueストア Kai 事例紹介
分散Key/Valueストア Kai事例紹介分散Key/Valueストア Kai事例紹介
分散Key/Valueストア Kai 事例紹介
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
地質調査デジタル化の現状と期待(産業技術総合研究所・吉川様)
地質調査デジタル化の現状と期待(産業技術総合研究所・吉川様)地質調査デジタル化の現状と期待(産業技術総合研究所・吉川様)
地質調査デジタル化の現状と期待(産業技術総合研究所・吉川様)
 
Linuxで温度計測あれこれ
Linuxで温度計測あれこれLinuxで温度計測あれこれ
Linuxで温度計測あれこれ
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会
 
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
 
Processing
ProcessingProcessing
Processing
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 

ゴルフゲームでUnityの限界を突破する方法