0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WEBGL用ゲームエンジン作ってみる ~20日目~

Last updated at Posted at 2023-03-17

初めに

こんにちわ。
やろうって決めたゲームエンジンづくりですが、
今のところ挫折せずになんとか続いております。
あっという間で具体的に初めてから20日間がたちました。

前回の記事の続きです。
1日目:https://qiita.com/osakasho/items/f02d7acf8a822e25d3e0
10日目:https://qiita.com/osakasho/items/543eb0888b0a4e9162d2
20日目:イマココ<<

以下、現在のエディタ進捗キャプチャ
※当初設計より、めちゃUI変更しました。
editorCap1.jpg

美しいUIにするだけでそれっぽいですね。
とりあえず暫定的にPlayとStopで動作しますが、
まだ、作成途中です。

GITHUBレポジトリも作成しました。
※まだ全然使えるレベルじゃないです。
MITライセンスですべてオープンソース化します。

追加した内容

エディタUIの更新

スケール・回転・位置の変更をできるようにしました。
スクリーンショット 2023-03-17 023326.jpg

プレイヤーエディタ

直感的にアニメーションを追加できるようにしました
motioneditorcap.gif

地形メーカー

これは以前記事で書いたリソースもの(https://qiita.com/osakasho/items/3155111258125ba6a22d)
を、少し使いやすくしただけなのであまり進化してないです。
terraineditorcap.gif

デバッグプレイ機能

これが一番大事かもしれませんね。
エディタで追加したオブジェクトをすぐに確認できる機能です。
debugplayeditorcap.gif

スクリプトエディタ

より複雑な機能にはコードベースが必須なので、用意しました。
今のところ書けて保存できるだけです。
scriptplayeditorcap.gif

シェーダエディタ

これもかけるだけなので、
実際に表示しながらかけないといけませんね。
image.png

今後の課題

  • バグつぶし:ありすぎて何をかけばいいかわかりません。
  • スクリプト対応:JSで任意のオブジェクトに対して対話的に操作できるようにする
  • コンテンツブラウザの表示軽量化:Canvasで一時的にモデルをロードして表示するのが、ファイルが多すぎるとメインビューが止まってしまう
  • サンプルゲームの作成:FPSっぽい何か作りたい
  • WebRTCプラグインの実装:Skywayを使ってマルチプレイヤー対応する
  • UI編集および追加:3Dオブジェクトのように直感的にUIを配置できるようにしたい。
  • 物理エンジンの強化:今は三角形とAABBの衝突判定しかないので、AABBとAABBで軽量化するなど最適化が必要。
  • 自動LODの実装:Next.jsでモデルアップロード時に自動で低ポリを作成し、エディタから自動LODを選択できるようにしたい。
  • カメラレイヤー自動切換え:カメラからの距離で自動で表示非表示を切り変える処理

空いてる時間あれば
狂ったようにこれを作っているので、
来月には1つのゲームサンプル作って公開したいです。

おわり。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?