スキップしてメイン コンテンツに移動

Hello, world

どっから手を付けていいのか分からないので、とりあえず公式サイトのドキュメントを参考にみていこうと思います。
それにしても、日本語の情報が少ない(´・ω・`)
ちなみにGodotの今の安定バージョンは、2.1ですが、バージョン3.0がベータ段階にあり、そのうち正式にリリースされると思います。興味があればこちらからダウンロードできます。C++で書かれているようです。

プロジェクトの作成

新しい開発環境に触れる場合は、とりあえず、Hello, worldを表示するのがお決まりですね。
プロジェクトマネージャで、「New Project」を選び、プロジェクトのパスを設定します。
「Browse」ボタンをクリックして、プロジェクトの場所を指定できますが、デフォルトでアプリケーションをインストールした場所が表示されるみたいです。しかも、前回の場所を覚えておいてくれないので、プロジェクトを作成する度に毎回、指定するディレクトリまで移動しないといけません。

デフォルトの場所を変更する方法がないか調べてみたのですがどうも見つけられませんでした。(´・ω・`)
最初からアプリケーション自体をプロジェクトフォルダに配置するのがいいのかもしれません。
「Create Folder」をクリックして、プロジェクト用のフォルダを作成することができます。
今回は、「HelloWorld」という名前にしました。

フォルダを選んで、「Create」をクリックすると、プロジェクトの編集画面へ遷移します。

最初は、3Dの画面が表示されますが、上のタプで、「2D」を選べば、2Dの画面に切り替わります。

編集画面は上のような感じになっています。画面中央に、配置された項目が描画される画面があり、右側には、ノードツリー(ノードはGodotで扱う基本要素です)と、ノードのプロパティを表示するパネルがあります。
左側にプロジェクトのディレクトとその中身を表示するパネルがあります。「res://」は、プロジェクトのルートディレクトリを示します。

デフォルトでは上のような構成になっていますが、各パネルの右上にある、▼マークをクリックして位置を変えることもできます。

実行

とりあえず、実行ボタンを押してみます。すると、こんな通知が...

直訳すると、
メインシーンが指定されていません。選択しますか? 後から、プロジェクト設定のアプリケーションカテゴリで変更もできます。
ということなので、「Select」を押して、メインシーンを選択します。
と思ったのですが、そもそもまだ1つもシーンを作ってないので、選択しようもありません。 プロジェクトを作った時に、シーンも1つ自動的に作成されており、今みている画面がそのシーンなのですが、まだ保存をしていないため、これを保存してメインシーンとすることにします。

「Scene」メニユーの「Save Scene」を選択します。

ところが、今度はこんな警告が

ツリールートが無いと保存できません。
とのこと...
ツリーに何かしらルートとなるノードを追加しないと、シーンを保存できないようです。
なので先にノードを追加することにします。

ノードの追加

シーンにノードを追加するには、Sceneパネルの「+」ボタンを押して追加します。

ノードには多くの種類がありますが、全て「Node」から派生しています。「Node」を追加してもいいのですが、今回はテキストを表示したいので、「Label」を追加することにします。
「Search」欄に文字を入力すると、部分一致するノードを抽出できます。

※ノードは大別すると、GUI用のコントロール、2D画面用のノード、3D画面用のノード、それ以外の非表示ノードに分類できます。 ノード選択画面では、GUI用のノードが緑色、2D画面用のノードが青色、3D画面用のノードが赤色、アニメーション用のノードが黄色のアイコンがそれぞれ表示されています。

「Label」をダブルクリックするか、「Label」を選んで下の「Create」をクリックすると、Labelがシーンに追加されます。

デフォルトで画面左上に配置されているので、これをドラッグして、中央辺りにもってきます。
※画面左末が座標(0, 0)で、右下に行くほど値が増えます。

「Inspector」に「Text」というプロパティがあるので、これに、「Hello, world!」と入力します。
※デフォルトの状態では、日本語は入力できないようです。

この状態で、シーンを保存するために、再度「Scene」メニューの「Save Scene」をクリックします。
今回は警告は表示されず、ディレクトリの選択画面が表示されました。 プロジェクトのルート直下に保存してもいいのですが、通常はシーン用のディレクトリを作成して保存するのが推奨されるようです。
なので、ここでは「scenes」というディレクトリを作成し、そこに保存することにします。

シーン名を適当につけて保存します。ここでは「main.tscn」としました。
「tscn」というのは、Godotで使われているシーンファイルの拡張子ですが、他にも、scnやxmlといったテキスト形式も選べます。

これで、シーンが作成されたので、再び実行ボタンを押して実行してみます。

再び、実行

先程と同じようにメインシーンを選択しますかという通知が表示されたので、先程作成した「main.tscn」を選択します。

すると、今度は実行画面がちゃんと表示されました。

めでたし、めだたし メインシーンが設定されたので、次回実行する時はもうシーンを選択する必要はありません。

コメント

このブログの人気の投稿

GDScript

Godotの公式サイトにあるドキュメントの GDScriptのページ を訳してみました。 紹介 GDScriptは、コンテンツを作成するために使用される高度に動的に型付けされたプログラミング言語です。 文法はPythonと似ています。(インデントによるブロックや多くのキーワードが同じです。 その目的は、Godotエンジンに最適化され、緊密に統合され、コンテンツの作成と統合に大きな柔軟性を提供することです。 歴史 初期の段階では、このエンジンは Lua スクリプト言語を使用していました。 Luaは高速ですが、フォールバックを使用してオブジェクト指向システムへバインドすることは複雑で遅く、膨大な量のコードを必要とします。 いくつかの実験の後、 Python も埋め込みが難しいことが判明しました。 出荷されたゲームに使用された最後のサードパーティスクリプト言語は Squirrel でしたが、それも脱落しました。 この時点で、Godotの特定のアーキテクチャをより最適に利用できるのは独自のスクリプト言語であることが明らかになりました。 Godotはスクリプトをノードに埋め込みます。 ほとんどの言語はこれを念頭に置いて設計されていません。 Godotは、2Dおよび3D計算にいくつかの組込みデータ型を使用します。他のスクリプト言語ではこれが提供されず、それらをバインドすることは非効率的です。 Godotは、ネットやディスクからデータを取り込んだり初期化するためにスレッドを頻繁に使いますが、一般的なスクリプト言語のインタプリタでは容易ではありません。 Godotはすでにリソースのためのメモリ管理モデルを持っており、ほとんどのスクリプト言語は独自のものを提供しているため、重複した作業やバグを招きます。 バインディングコードは常に乱雑で障害の温床となり、予期しないバグを招き、一般的にメンテナンス性が低くなります。 これらの考慮の末、GDScriptに落ち着きました。GDScriptの言語とインタプリタは、同等の機能を備えたLuaやSquirrelのバインディングコード自体よりも小さくなりました。 時間の経過とともに、組み込み言語を使うことは大きな利点であることが証明されました。 GDScriptの例 実際

UIコントロールを日本語化する

GUIコントロールを日本語化する Godotには、ユーザインターフェースのための様々なUIコントロールが含まれていますが、これらは標準の状態では日本語に対応していません。 例えば、画面にテキストを表示するための、ラベルというコントロールがありますが、これの Text プロパティに日本語文字を設定しても表示されません。 日本語を扱えるようにするためには、日本語のフォントを使うように設定する必要があります。 日本語のフォントは、Godot 自体には含まれていないので自分で用意する必要があります。 ここでは、Google から提供されている、 Google Noto Fonts を使ってみます。 Noto Fonts のサイトの検索窓に、「cjk jp」と入力すると、日本語用のフォントが表示されるので、これを選んでダウンロードします。 今回は、「Noto Sans CJK JP」をダウンロードしました。 ダウンロードしたファイルを解凍すると、様々な太さの OpenTypeFont ファイル(拡張子が otf のファイル)が入っていますが、ここでは、NotoSansCJKjp-Regular.otf を使います。 選んだフォントファイルを Godot プロジェクトのフォルダにコピーしたら、次は Godot で設定します。 日本語化したいコントロールのインスペクタで、「Custome Fonts」をクリックし、「New DynamicFont」を選択し、次に「編集」を選択します。 次に、DynamicFont の編集画面で、「Font Data」の「Load」を選択し、先ほどフォルダーへコピーしたフォントファイルを選択します。 フォントが設定できたら、サイズも適当な大きさに変えておきましょう。サイズが 0 のままだと文字が見えません。 以上で日本語フォントが設定できたので、ラベルのテキストも日本語が表示されているはずです。 ラベルだけじゃなく、ボタンやテキストエディット等、他のUIコントロールも同じ手順で日本語化できます。

メッシュ変形アニメーション

Godotにメッシュ変形アニメーションが組み込まれるらしい。 https://godotengine.org/article/godot-gets-2d-skeletal-deform これまで簡単なボーンアニメーションは組み込まれていたんですが、メッシュ変形はしてくれませんでした。今回のはボーンの動きに合わせて2Dメッシュも変形させられます。 これで外部アニメーションツールとか使わないでも表現力を格段にアップできそう。 どんどん進化していくね。