1 of 28

技術書展14

最期の8日間

2 of 28

自己紹介

やす�Twitter:@Ykoba791

自動制御技師やVR技術者、CGエンジニア等業務とかみ合わない資格を取っている、VRとかが好きな量産型プログラマーです。

最近は3Dスキャンした飯テロとか好き。

3 of 28

このLTについて

Babylon.jsには、PlayGroundというブラウザ上で手軽に試すことが出来る環境が用意されています。�URLだけで他のユーザーとソースと実行結果を簡単に共用できるこの仕組みでの事例について紹介します。

4 of 28

状況

去る、2023年5月21日 技術書典14が開催されました。�BabylonJS勉強会では合同で同人誌を作成しています。

出版物の用意が終わってから技術書典14の開催までの空白期間で行われた出来事についてお話しです。

5 of 28

技術書典14 ホームページ

6 of 28

余談

Babylon.js を、業務利用できないかという記事を�書かせて頂きました。

7 of 28

最期の8日間

8 of 28

5/14(日)02時

   参加者の1人が、会場のレイアウトで何か始める

9 of 28

5/14(日)02時

 速攻で床と柱が立つ

10 of 28

5/14(日)20時

 床がサイバーな感じになり、ブースの強調表示も実装

11 of 28

5/15(月)~ 5/17(水)

 

  とくになにもなく過ぎる

12 of 28

5/18(木)02時

  会場の見取り図は14日に連携されていたので、他人の   Playgroundに乗っかる。�

13 of 28

5/18(木)02時

 ブースや柱がForでXY座標をずらして作成されていた。�柱でブースの配置が変則的な場所があったりしたので JSONで、XYZ座標を指定するよう変更しました。

 他、ブースの番号やサークル名等も持てるようにしたが、他所の名前とか入れるの微妙かなぁ?� と思って適当にダミーデータ入れたまま放置。

14 of 28

JSONで座標指定するように変更した点

for (let j = 0; j < 18; j++) {

for (let i = 0; i < 5; i++) {

var deskA = BABYLON.MeshBuilder.CreateBox("deskA",

let boxData = [

{ "x1": 6.4, "y1": 0, "z1": 5.9, "x2": 6.4, "y2": 3

{ "x1": 6.4, "y1": 0, "z1": 24, "x2": 9.6, "y2": 3,

for (let i = 0; boxData.length > i; i++) {

createBox(bDt[i].x1, bDt[i].y1, bDt[i].z1, …  

15 of 28

5/20(土)06時

  エフェクトとかで遊び始める(1)

16 of 28

5/20(土)06時

  エフェクトとかで遊び始める(2)

17 of 28

5/20(土)11時

  遊んでたら参加メンバーの発言で状況が一変する。

��

  この発言の時点でイベントの前日である。

  壁やデータは、それっぽく適当に作ってたので慌てて修正を  始める。 

  /(^o^)\ぬぉぉぉ

18 of 28

5/20(土)14時

 サンシャインシティの見取り図から、2F全体の壁を作成

 壁やブースの数が多くて手打ちでは時間がかかりそう� だったので、Google spreadsheetでJSONを作成する。

座標を打つと、JSON 化するシート

19 of 28

5/20(土)15時

 見取り図からの作成ミスの指摘。なんてこった!� ※柱1つではなく、横の長さ自体ズレてた!�

20 of 28

5/20(土)16時

 会場の長さ間違いによりレイアウトの7割程度が修正対象。

 JSONの作成は自動化したので、座標データを直上のセルに加算 するようにして一気に修正。

直上のセル+20 のように指定して

起点のデータを変更したら以降ズレるよう調整

21 of 28

5/20(土)16時

 レイアウト修正してる間になんか機能が追加されていた

22 of 28

5/20(土)18時

 さらに、JSONデータにあるブース番号から紐づけできるよう� 機能が追加された。

23 of 28

待ってくれ、見えないし使わないかなって�ブース番号は適当なダミー値なんだ!

俺もなんとお!です。JSONの中身拾われると思ってなかった。�慌ててJSONを修正する。spreadsheet大活躍。

24 of 28

5/20(土)21時

 JSONデータの修正とチェック手伝ってもらう。� ChatGPTも有能だなぁ。

 このあたりでTwitterや主催のDiscodeに連携して終了。

25 of 28

5/21(日)08時 (当日)

 と思ったら朝修正されていたw これで最期。

26 of 28

まとめ

以上、技術書典14直前にBabylon勉強会で行われた活動の一部を紹介しました。

Playgroundは気軽にソースを弄ることが出来るので、思いついたら即参加できて小回りが利く、非常に面白い仕組みだと思います。みんなも活用しよう!

また、Boxを並べるだけでも割とそれっぽい表示ができるサンプルになったのではと思う。

27 of 28

まとめ2

今回はペアプログラミングのような状態になり、品質や進捗が向上した。多分!

ただ、Playgroundにはマージ機能がないので、手動でマージをする必要がある。ちょっとめんどい。

28 of 28

ご清聴ありがとうございました!

PlayGround越しのペアプログラミングが楽しそう、と感じていただければと思います。

おわり