Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

12 1. 特徴は?

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

18

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

24 Unity Godot GameObject Node Component Node Prefab Node Scene Node

Slide 25

Slide 25 text

Unity GameObject Transform Component1 25 Component2 Component3

Slide 26

Slide 26 text

Unity GameObject Transform Component1 Node 26 Godot Component2 Component3 Node1 Node2 Node3 Node4 シーン シーン ↓ 実体は ルートノード GameObject ・・・ ・・・ Node

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

33 Sphereが出てきたよ!

Slide 34

Slide 34 text

34 この二つよく見ると…

Slide 35

Slide 35 text

35 上位 ノード 下位 ノード 上位 ノード 下位 ノード

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

40 C#も使えるんです!

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

Unity 42 GameObject1 GameObject2 GameObject3 GameObject4 GameObject5

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

47 Prefab ぽいノードを作る

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

50 Stage.tscnを選択する

Slide 51

Slide 51 text

51

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

タイマーノード

Slide 56

Slide 56 text

Autoload Singleton.tscn 登録

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

Group エネミーノード

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

72 まとめ

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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