【ゲームエンジン】Godot Engine
■ このスレッドは過去ログ倉庫に格納されています
せっかく3.0がリリースされたのにスレ無くなってたので
Godot はクロスプラットフォームかつオープンソースの2D/3Dゲームエンジンである。
現在の開発主体はGodot Engine communityであるが、
オープンソース化によってそのような形態をとる前はラテンアメリカの幾つかの企業によって開発、使用がなされていた。 
Wikipediaより
公式サイト
https://godotengine.org 物理エンジンに文句を言いたいほどのエンジンだね。
マグネキャッチで持ち上げたボコブリンの冷蔵庫をわざと自分の頭の上に落とし、
ハート2個ほどのダメージを受けて吹っ飛んで…。
この他にも、転がってくる岩に轢かれてもかなりのダメージ。
ボルトの仕掛けを動かす際、誤ってビリビリに接触して、感電死してゲームオーバーとかも…。 元々インディーズのゲーム会社が使ってたのであると言えばある
メジャータイトルはたぶんまだない 2dのゲームをサクッと作るときは楽だねこのエンジン
3dのシェーダーやボーンに拘ろうとするとunityの方が色んなassetがある分良いんだけど GDScript面倒くさすぎない?
多ファイルの読み込みに特別な構文が欲しい これで商用ゲーム作っても利用料払わなくていいんですか? >>53
2d向けエンジンいろいろありすぎて迷うなあ HTML5 exporter、ローカルで動かす時はFireFoxしか動作しないな
Chromeはリモートのサーバーに上げたやつを見れば開ける Packt 出版からGodot Engine Game Development Projects という本が出ていますね。 ようやく本が出るのか
今までのまとまった解説ってGame From Scratchと公式チュートリアルくらいじゃない?
個人的には逆引き辞典が欲しい ってもしかして公式ドキュメントのtutorial?
あれじゃ痒いところに手が届かないんだけど Unityから乗り換えてコッチ試しに覚えてみようと思ってるんだけど
どれぐらい辛い? 難易度はこっちの方が低い(特に2D)と思う
sceneとnodeの使い方分かればすぐ
英語に抵抗ないなら公式ドキュメントのstep by step:
http://docs.godotengine.org/en/3.0/getting_started/step_by_step/your_first_game.html
を読みながらやるといいんじゃないかな 2Dは、絶対Unityより易しい。
3Dは知らん。 3.1で実装されるtileset editorがかなり良いね
今までプラグインに頼ってたのが自前でできるようになってる blenderとの相性がよくて助かるね
BGEが復活するって噂があるけどしばらくはgodotでいいや AAAレベルを謳ったTPSデモ、やっぱそれなりに重いな。
重いと言われるcryengine使うほうがまだ素直かも discordのコミュニティ見たほうが質問すぐ帰ってきていいね godotとdefoldってどっちがいいのですか?
パズルゲームなどをサクッと作りたいです
プログラミングはほぼ初心者ですが
unityが重いので来ました あと、スクリプトのエディタに補完はないんでしょうか Cocos Creator は、Godot に似てるけど、
Cocos2d-x(Cocos2d-JS)と互換性がない部分もあり、混乱が続く
[Cocos2d-x] Cocos Creatorとは:開発ツールのまとめ
http://site.oukasei.com/?p=1387 GDscriptなんですが、補完はどこから有効にできるんでしょうか?
エディタは内蔵のものです。 全く出てこない?
それとも比較的複雑な場合に出てこない?
ttps://godotengine.org/article/introducing-brand-new-code-completion
古い記事だけどこんな感じで勝手に出てくる
あとはOSとか環境か https://www.youtube.com/watch?v=ybz5CfIPYq0
ありがとうございます
例えばこのチュートを見ると出てきていないように見えます
GDscriptで出るんでしょうか?
32bitも試してみましたが、代わりありませんでした その動画でも14:20くらいのArrayのところで出てるで
printとかは単に入力が早くて表示されてないだけだと思う
単語の途中で止めると大量に出てくる
あとは分からんね 出てきました
書き方が悪かったようです
ありがとうございます >>82
ありがとうございます
とりあえず付属のエディタで作ってみます
しかし何を作ればいいか、、、 とりあえず公式チュートリアル(Dodge)やってみたら 画像をimportする時いつもfilterフラグがOnになっててアンチエイリアスがかかっちゃう
フラグoffにしてreimportすればなんとかなるけど、毎回これやるの面倒で…
Preset...>Set as Defaultにしても上手くいかないんだけど同じ症状の人いる? インポートってドラッグアンドドロップだけなんですよね? それでもいいしInspectorのtextureにD&D or loadでもいい
いずれにせよ自分の場合ImportタブのFlags->Filterが常にチェック入っちゃうから外してreimportをしてる ありがとうございます
基本的にDDなんですね
>>84
ぼんやりしたゲームのイメージはあるんですけど、いざ形にしようとなるとハードル高いですね
unity重いのでこっちに来ました
defoldでもいいかなと思ったんですけど、文字小さくて読めないので インポートしたdaeファイルが「godotで開かれているため削除出来ません」というメッセージが出て削除出来ません。
これはどうしたらいいのでしょうか? ノードは何?Sprite3D?
一応言っておくと画像or3d modelをD&DするのはSprite or Sprite3D nodeをattachした後にtextureをloadするのを簡略化した操作
Sprite(3D) nodeのInspectorタブのTextureを右クリックしてClearしたら? アンビエントオクルージョンはないのでしょうか?
ベイクする記事は見つけましたが 2dでカメラを使っているのですが、設置しただけでは表示されないのでしょうか?
アクティブ化する必要があるのですか?
チュートリアルあれば英語でもいいので教えてください
スプライトとカメラをツリーに追加しているのですが、カメラをツリーに追加していない状態で表示される画面が、カメラを追加した後にも表示されるようです
>>93
解決しました
ごめんなさい ttps://japan.zdnet.com/article/35127322/
GitHubの成長ランキング3位だゾ グラ重視のソフト作ろうと思ったんですが、マテリアルのミラーすらないんですよね
どちらかというと2d向けでサクッと作れる感じに見えます
gDscriptがんばります グラフィック関係はUnreal Engineという強豪がいるからなぁ gdscriptできればc#も出来ますか?
unityはエディタがなんか重くて使いづらい
文字もやたら小さいし 言語仕様は結構違うよ
Pythonなら使えるようになるだろうけど
あと外部エディタで編集はできる(Godotもだけど) パズルの練習してるんでわからない部分教えてくださいあとで
チュートはむずくてわからなかった http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html
キー操作なんですが、GDScriptの場合、どうしてこんなに複雑なコードになるんでしょうか。_unhandled_inputという関数?の中に書かないといけないのですか?
もっと簡易的なコードってありますか? すぐ下に簡単にした例書いてあるじゃん…
_processの中にInput.is_action_pressed()で出来る
というかそのレベルならなおさらチュートリアルやるべきでは 英語読めないのでわからなかったです
ごめんなさいありがとう チュートリアルの内容が難しかったんじゃなくて英語が読めないから難しいって言ってたのか…
中学生とか? 超初歩的な質問なんですが、print("hoge")で文字列を出力したいのですが、画面上やデバッガーに出力できるんでしょうか
動作確認につかいたいのですが
デバッガを開くにチェックを入れても、出てこないです https://godotengine.org/qa/9878/how-to-make-keyboard-controls
再度質問です
スプライトの動かし方ですが、キーをバインドしてから、このコードをnode2dに貼り付けても動かないです
ツリー構造は
node2d
└sprite
という感じです
kinematic2dを使うのかと思ったのですが、キネマティックというのは物理を伴った移動であって、単純移動であればnode2dで良いと認識していますが、違うでしょうか?
自分が作りたいのはパズルなので、特に物理は必要ないです。 Node2Dのメンバ変数のposition.x, position.yの値を変えればいい
リンク先のは変数定義してその値変えてるだけ >>106
Google 翻訳でもすれば?
ウェブページ丸ごとも、翻訳できる >>114
どうも
アドオンはつかってたんですが、godotのサイトだと何故か翻訳されなかったです
まるごとコピペします
>>113
メンバ変数というのは、そのノード特有の変数みたいなものですよね 英語読めないって全く読めないってことはないだろうに…
各ノードのメンバもhelp->searchから調べれられる まぁゲームエンジン初心者・プログラミング初心者・英語わからない
だったら素直に日本語の情報多いUnityの方がええんやな でもgodotユーザーが増えるのは嬉しいけどね
色々Tipsの共有とかしたいし unityはエディタがちと重いし、文字サイズ小さすぎて読めないので、、、 結局あのアドバイスで分かってくれたか不安なのでコードを貼ってあげよう
extends Node2D
func _ready():
pass
func _process(delta):
if Input.is_action_pressed("ui_up"):
position.y -= 10
if Input.is_action_pressed("ui_down"):
position.y += 10
if Input.is_action_pressed("ui_left"):
position.x -= 10
if Input.is_action_pressed("ui_right"):
position.x += 10 ↑ありがとうございます
勉強中です
最終的にはリアルなゲーム作りたいけど、小さいゲームでも作れるようにならないとだめっすね、、、 >>120
これって_processというはじめから入ってる関数を使うんですね
これを使わなければ動かせないということなんでしょうか とりあえずイベントドリブンっていう言葉をググれ
それで全ての謎が解ける もしかして_process関数というのはunreal でいうevent tickのようなものでしょうか?
フレームごとに実行するというような機能ですか
func readyがそれだと思っていましたが readyとprocessの意味から推測できると思うが
readyはオブジェクトが作られた時最初に一度のみ実行される
processはオブジェクトが生成されている間なんども実行される(実行間隔はdelta) なるほど、やっとわかりました
ありがとうございます >>120
スプライトにこのコードで動かす事はできたのですが、position変数というのは最初から入ってる変数ですよね
こういった最初から入ってる関数ってどこで調べられるでしょうか
エンジン上で調べられると楽ですが
https://docs.godotengine.org/en/3.0/classes/class_sprite.html?highlight=sprite
ここのバリアブルにはposition変数のってないです、、、(´・ https://docs.godotengine.org/en/3.0/classes/class_node2d.html
Member Variables
Vector2 position - Position, relative to the node’s parent.
クラスの継承という概念について勉強するしかないね >>128
だからエンジン内のHelp->Searchでノード名検索すればそのメンバ変数やメンバ関数書いてあるって教えたでしょ 要はpositionはNode2DのメンバだけどSpriteはNode2Dを継承してるから使えるってだけ
継承はオブジェクト指向の基本 最初何のパズルがいいですか?
まだグリッド移動とかやってる途中ですけど
>>133
親の持ってる機能を使える
といったのがクラスですよね それは継承
継承はクラスを使う利点の1つだけどそれだけじゃない 最近はプログラミングの学習でも小学生くらいからPython使ってたりするし
ちょうどGDScriptはPython風だし
せっかくだからPython使って1からプログラミング勉強してもいいと思うゾ >>134
>>137
>>134
ありがとう
小さいパズル作れるようになる とりあえず func _process(delta):
if Input.is_action_just_pressed("ui_up"):
position.y += 10
この前もらったコードですが
node2dをクラスリファレンスで調べたところpositionという変数がありました
positionというのはvector2クラスの持っている変数なのか、node2dの持っている変数なのか、読み方がよくわからないのですが、教えてください だからプログラミングから勉強しる
これは変数の型という概念だ vector2は変数の型ですか
型であると同時にクラスでもあるのですか? input.is_action_just_pressed
みたいなコードの場合、このドットは階層構造を表しているということでしょうか
フォルダような
input>is_action_just_pressed
といった感じですかね
この場合inputがクラスで、is_actionは関数だと思いますが、
クラス.クラス.関数
といった並びになる場合もあるのですか? Godotって、無料でちょっとオモチャっぽさもあるけど、
UnityやUnrealも理解した上で、あえて通る道ではあると思う。 var list_x=[0,1,2,3]
var list_y=[0,1,2,3]
func _ready():
for x in list_x:
print(x)
パズルで位置を表す場合2次元配列を使うと思いますが、どのように書くといいんでしょうか
このあたりの参考になるサイトがあれば教えてください。
x0y0のいちを表す場合、list_x[0],list_y[0]みたいな感じに表すと思いますが、具体的な書き方がわからないです
とりあえずグリッドを作製したいです Godot grid movement とかでググればいくらでも出てくるじゃん…
あとその書き方だと二次元配列じゃなくて配列を二つ用意しただけ
配列の配列にしないと あと何度も言うがチュートリアルとかドキュメントの初めのあたりは読んでくれ godotに関係ない話を一切するなとは言わないけど
全部godotじゃなくてプログラミングの質問だからなw
プログラミング好きな奴にとってはgodotは結構しっくりくるけど
プログラミング勉強したくない奴は他のゲーム製作ツールの方がいいのかも知れん ■ このスレッドは過去ログ倉庫に格納されています