Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unityを1000時間やった人がGodot Engineに挑戦してみた件

Unityを1000時間やった人がGodot Engineに挑戦してみた件

2023年10月14日に開催された、「ゲームジャム高梁2023 事前勉強会」で発表したスライドです。

イベント詳細 : https://hirouni.connpass.com/event/288332/
アーカイブ動画 : https://www.youtube.com/watch?v=j9aZkNt6G48

NAKAOKU Takahiro

October 18, 2023
Tweet

More Decks by NAKAOKU Takahiro

Other Decks in Technology

Transcript

  1. Unityを1000時間やった人が
    Godot Engine に挑戦してみた件
    ナカオクタカヒロ
    1

    View full-size slide

  2. ナカオク タカヒロ Follow me!
    Github/FB
    @kamera25
    X(旧Twitter)
    @csc_kamera25
    仕事 : ネットワークの人@広島
    趣味 : ゲーム制作
    2

    View full-size slide

  3. 3
    https://unityroom.com/users/kamera25

    View full-size slide

  4. 4
    発表内容を変更しました。ごめんなさい🙇
    Unity 2022LTSの機能紹介→Godotの話

    View full-size slide

  5. 6
    引用 : https://blog.unity.com/ja/news/plan-pricing-and-packaging-updates

    View full-size slide

  6. 7
    君たち(私も)は どう 生きるか?

    View full-size slide

  7. 8
    引用 : https://twitter.com/reduzio/status/1622648296555544592

    View full-size slide

  8. 9
    引用 : https://twitter.com/gamemakerstk/status/1681376508688883713

    View full-size slide

  9. 12
    1. 特徴は?

    View full-size slide

  10. Godotの特徴
    ・完全オープンソースのゲームエンジン
     MITライセンスを採用
    ・マルチプラットフォーム (エディタおよび出力が可能)
     Windows/mac/Linux/Android/Web…
    ・独自&最適化された開発言語 - GDScript

    View full-size slide

  11. ステップ 1:収益対象となる価格を確認しましょう。
    Godot
    収益しきい値
    (過去 1 年)
    無償
    インストール数しきい値
    ステップ 2:支払い金額はインストール数に応じて価格が決まります。
    Godot
    1 ~ 100,000
    無償
    100,001 ~ 500,000
    500,001 ~ 1,000,000
    1,000,001 以上
    寄付 大歓迎!
    https://godotengine.org/donate/

    View full-size slide

  12. https://gamemakers.jp/article/2023_02_09_31413/

    View full-size slide

  13. 16
    2. Godotの基本を学んでみよう

    View full-size slide

  14. 19
    シーン
    ※ヒエラルキー
    ファイル
    システム
    ※プロジェクト
    インスペクター
    ※インスペクター
    ビューポート
    ※シーン
    ツールバー

    View full-size slide

  15. 20
    ファイル
    システム
    ※プロジェクト
    インスペクター
    ※インスペクター
    ビューポート
    ※シーン
    ツールバー
    シーン
    ※ヒエラルキー

    View full-size slide

  16. 21
    Godotは(シーン含め)
    全てノード
    からできています。
    by Juan Linietsky(Godot創設者)
    https://twitter.com/reduzio/status/1709518193155362900

    View full-size slide

  17. 22
    Godotは(シーン含め)
    全てノード
    からできています。
    by Juan Linietsky(Godot創設者)
    https://twitter.com/reduzio/status/1709518193155362900
    全てがノードとは?

    View full-size slide

  18. 23
    Unity Godot
    GameObject Node
    Component Node
    Prefab Node
    Scene Node
    Godot では Node が全ての機能の根幹となる

    View full-size slide

  19. 24
    Unity Godot
    GameObject Node
    Component Node
    Prefab Node
    Scene Node

    View full-size slide

  20. Unity
    GameObject Transform
    Component1
    25
    Component2
    Component3

    View full-size slide

  21. Unity
    GameObject Transform
    Component1
    Node
    26
    Godot
    Component2
    Component3
    Node1
    Node2
    Node3
    Node4
    シーン
    シーン

    実体は
    ルートノード
    GameObject
    ・・・
    ・・・
    Node

    View full-size slide

  22. 27
    シーン
    ルートノード
    シーンの根幹を表す1つのノード
    シーン配下のノードは、ルートノードにぶら下がる。
    根(root) →

    View full-size slide

  23. 28
    シーン
    ※ルートノード作成後
    Node3D → 「Transform と Visiblity」
    ※Unityの「Transform」と「enable」と類似の機能

    View full-size slide

  24. 29
    ≒UGUIコンポーネント
    ≒3Dコンポーネント(3D座標を持つもの全般)
    ≒上記以外のコンポーネントに相当
    ≒2Dコンポーネント(2D座標を持つもの全般)

    View full-size slide

  25. 30
    プリミティブを表示してみる
    Nodeを継承した、
    Node3Dを継承した、
    VisibleInstance3Dを継承した、
    GeometoryInstance3Dを継承した…
    MeshInstance3Dノード
    ※UnityのMeshRendererに相当

    View full-size slide

  26. 31
    ひょ、表示されていない…?

    View full-size slide

  27. 32
    MeshInstance3D の Mesh
    を押したら、Meshがぞろぞろ出てきたぞ…
    SphereMeshを選択すると…

    View full-size slide

  28. 33
    Sphereが出てきたよ!

    View full-size slide

  29. 34
    この二つよく見ると…

    View full-size slide

  30. 35
    上位
    ノード
    下位
    ノード
    上位
    ノード
    下位
    ノード

    View full-size slide

  31. 36
    上位
    ノード
    下位
    ノード
    上位
    ノード
    下位
    ノード
    ノードの継承によって、機能を追加する

    View full-size slide

  32. Unity Godot
    GameObject Transform
    (コンポーネント)
    Position
    this.transform.position
    has
    Node3D
    self.position
    Node
    Transform Position
    Visible
    is
    37
    例 : 座標(ポジション)のプロパティ取得

    View full-size slide

  33. 38
    GDScript
    ・Godotに最適化された
     オリジナルのスクリプト (Python似)言語
    ・エディタに組み込まれている。
     ※VSCodeなど無しで動作
    ・ホットリロードで動作する。

    View full-size slide

  34. 39
    _ready()
    _process()
    Start()
    Update()
    Unity Godot
    開始時
    每フレーム
    実行する処理
    Unityぽく書ける!!

    View full-size slide

  35. 40
    C#も使えるんです!

    View full-size slide

  36. 41
    Unity Godot
    GameObject Node
    Component Node
    Prefab Node
    Scene Node
    Godot では Node が全ての機能の根幹となる

    View full-size slide

  37. Unity
    42
    GameObject1 GameObject2 GameObject3 GameObject4 GameObject5

    View full-size slide

  38. Unity
    43
    GameObject1 GameObject2 GameObject3 GameObject4 GameObject5
    Godot「よくよく考えると、Prefabって必要?」

    View full-size slide

  39. Unity
    44
    シーン サブシーン1
    サブシーン2
    サブシーン2

    View full-size slide

  40. Unity
    45
    Godot
    シーン
    シーン
    サブシーン1
    サブシーン2
    サブシーン2
    チャイルドシーン1
    チャイルドシーン2
    チャイルドシーン3
    SceneManager(マルチシーン編集)が実装されたのは、Unity 5.3(2015年〜)時代
    https://blog.unity.com/technology/multi-scene-editing

    View full-size slide

  41. Unity
    46
    Godot
    シーン
    シーン
    サブシーン1
    サブシーン2
    サブシーン2
    チャイルドシーン1
    チャイルドシーン2
    チャイルドシーン3
    SceneManager(マルチシーン編集)が実装されたのは、Unity 5.3時代
    https://blog.unity.com/technology/multi-scene-editing
    Godot「全てはノードである」

    View full-size slide

  42. 47
    Prefab
    ぽいノードを作る

    View full-size slide

  43. 48
    シーンファイルを保存する

    View full-size slide

  44. 49
    Instantiate Child Scene
    を選択
    mainシーンを作成

    View full-size slide

  45. 50
    Stage.tscnを選択する

    View full-size slide

  46. 52
    Unity Godot
    GameObject Node
    Component Node
    Prefab Node
    Scene Node
    Godot では Node が全ての機能の根幹となる

    View full-size slide

  47. 53
    3. 洗練されたGodotの機能

    View full-size slide

  48. 54
    タイマー専用のノードが組み込まれてる
    シングルトンはAutoloadにお任せ!
    VisualShaderでグラフィカルにシェーダを書け
    る!
    Tweenで補間もなめらかに動くよ!
    XRのノードでAR/VRのゲームも作成可!
    フォワードレンダリングが標準
    シグナルで疎結合な呼び出し
    gltfが標準で読み込める!
    推しポイント

    View full-size slide

  49. タイマーノード

    View full-size slide

  50. Autoload
    Singleton.tscn
    登録

    View full-size slide

  51. Autoload
    Singleton.tscn
    他のノード
    アクセスできる!

    View full-size slide

  52. Group
    Unity使ってるけど
    複数のタグを1つのGameObjectに
    入れたいな…

    View full-size slide

  53. Group
    エネミーノード

    View full-size slide

  54. VisualShaders
    https://docs.godotengine.org/ja/stable/tutorials/shaders/visual_shaders.html

    View full-size slide

  55. Signal(イベント処理)
    Collider 発火
    OnCollisionEnter()
    など
    Unity
    Component1
    Component2
    Component3
    コールバック
    実行
    衝突

    View full-size slide

  56. Signal(イベント処理)
    Godot
    シグナルが
    利用可能に

    View full-size slide

  57. Signal
    Godot
    Node1
    Node2
    Node3
    シグナル発生時に
    実行する関数を登録

    View full-size slide

  58. Signal(イベント処理)
    当たり判定ノード 発火
    area_enterd
    シグナル
    実行
    メッセージパッシング
    Godot
    Node1
    Node2
    Node3

    View full-size slide

  59. 65
    4. もう少し皆んなで頑張っていく必要があるところ

    View full-size slide

  60. 66
    1. Godotの文献がまだまだ少ない(Unity/UE比)
    和書 洋書

    View full-size slide

  61. 67
    1. Godotの文献がまだまだ少ない(Unity/UE比)
    https://godot-jp.connpass.com/event/297061/

    View full-size slide

  62. 68
    2. Godotに最適化されたアセットが少ない…
    https://godotengine.org/asset-library/asset

    View full-size slide

  63. 69
    グローバルゲームジャムで作成された、
    全てのゲームの
    ソースコードとデータが
    公開される。
    各ページ ソースファイル
    と実行ファイル

    View full-size slide

  64. 今年のGGJ22では
    108ヶ国、
    800ヶ所で、
    3万9千人が参加
    7600個 のゲームが生まれ、
    501個
    がGodotで
    作られた
    70

    View full-size slide

  65. 今年のGGJ22では
    108ヶ国、
    800ヶ所で、
    3万9千人が参加
    7600個 のゲームが生まれ、
    501個
    がGodotで
    作られた
    71
    動ごく、プロトタイプを沢山入手できる!
    ※GGJ24では、沢山のGodot4のプロジェクトが作られるはず!

    View full-size slide

  66. 73
    Unityはシンプル(簡潔) Godotはシンプル(洗練)
    Godot は(ほぼ)全てノードで作られた世界
    気軽に試して、遊んでみよう!

    View full-size slide

  67. 74
    ゲームジャム高梁で
    Made With Godotのゲームを作りませんか!?

    View full-size slide