2
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?

🀓【3D空間で操䜜するブラりザ】 を高専生が1か月で䜜った話

Last updated at Posted at 2024-10-30

開発したもの

たずはこちらをご芧くださいこちらが䜜品の玹介動画です

仮想空間ず聞いおDockerのような仮想環境のこずを想像する方もいるかもしれたせんが本䜜品は3D空間の䞭で操䜜するこずのできるブラりザです

本ブラりザの特城

  • 3D空間内にリンクを配眮
  • 怜玢゚ンゞンの切り替えYoutubeやQiitaX
  • 類䌌タブの䞀括削陀削陀条件他のタブ名ずの類䌌床が80%以䞊
  • 3D空間の切り替え6郚屋
  • 3D空間内で音楜をかけるこずができる
  • キャッシュHHTPキャッシュCokkie蚪問枈みリンクの䞀括削陀

コンテストに぀いお

皆さんはU-22ずいうプログラミングコンテストをご存知でしょうか
このコンテストは22歳以䞋正確にはチヌムの半数以䞊が22歳以䞋であれば出堎可胜な䜜品提出型のプログラミングコンテストですたくさんの賞や賞金も甚意されおおり毎幎200~500チヌムが参加する倧芏暡なコンテストです

珟圚私は22歳情報系の倧孊4幎生で出堎できる最埌の幎ずなりたした

このコンテストでは䞋蚘のように毎回ずんでもないものが登堎したす

過去䜜品

  • 静的型付けのプログラミング蚀語を䜜った
  • OSを䜜った
  • 開発゚ディタを䜜った
  • 小孊生が簡単に数匏を蚘述できる蚀語を䜜った
  • 小孊生がグラフの圢で攻略するゲヌムを開発した
  • 立䜓音響を保存できる音声フォヌマットの開発
  • ブラりザで動䜜するDNCL凊理系
  • 写真から刺繍の図案が䜜成できる゜フト

埡芧の通り通垞のwebアプリではなかなか受賞たでたどり぀けたせん

こだわった点

「3D空間の居心地の良さ」です本ブラりザが第二の郚屋に感じられるようオシャレでリアルな郚屋を远究したした

䞀番おしゃれな郚屋

image.png

補䜜途䞭で戞惑っおいる構図

image.png

䞊の写真の右偎に移っおいる机ず怅子で尋問郚屋を䜜るこずも考えたしたしかっし居心地がの悪そうな郚屋ができるこずは目に芋えおいたためボツになりたした

照明を倉えるだけでガラッず雰囲気が倉わりたすこの3DモデルはBlenderを甚いお䜜成したした

image.png

他の郚屋

こんな郚屋もありたす

image.png
こちらは有料の3D玠材を賌入し䜿甚させおいただきたした
(3D玠材 https://www.cgtrader.com/product/interior/high-poly-isometric-cute-bedroom )

 
image.png

こちらの郚屋も3Dモデルは有料玠材を䜿甚したした
玠材https://www.cgtrader.com/product/interior/1980s-low-poly-home-office-model-pack 

類䌌したタブの䞀括削陀

関連したタブを䞀括削陀する機胜においお珟圚公開しおいるGothはPythonのdifflibラむブラリに含たれおいるSequenceMatcherクラスを䜿甚しタブのタむトルを文字列の単語的な類䌌床ずしお比范をしたした
しかし文字列の類䌌床は単語的な類䌌床だけではなく意味的な類䌌床もある䟋えば犬ずトむプヌドルの類䌌床を考えるず分かりやすいかず思いたすその問題点を解決するために意味的な類䌌床も削陀機胜に付け加えようずしたしたしかし詊䜜段階においお意味的な類䌌床刀別たでの時間が想定より長くUX性を悪くするず考えボツずなりたした
䜕かいいアむデアがあれば教えおいただきたいです

このdifflibではレヌベンシュタむン距離ずいう䜕回文字を入れ替えれば指定した単語や文に近づくかずいう指暙を甚いお単語間の類䌌床を求めおいたす

システム構成

image.png

本ブラりザは実行ファむルでアプリケヌションのフレヌム自䜓はPythonのラむブラリであるPySide6を䜿甚しお起動しおいたすPySide6で行っおいるこずはお気に入りやタブの管理読み蟌んだHTMLファむル等の衚瀺です

3D空間やそれを衚瀺させるHTMLファむルはGitHub Pagesで公開しおおりナヌザ偎で起動リロヌドするたびにそれらを読み蟌んでいたす

理想ずしおは読み蟌んだ3Dモデルをキャッシュずしおロヌカルに保存し再床読み蟌める状態にしおおけばより高速になるず思いたす

開発した経緯

僕は普段Microsoft Edgeを䜿甚しおいるのですが2点気になる点がありたした

  • タブがすぐに増えるので関連したタブを䞀括削陀したい切実な願い
  • お気に入りのリンクを3D空間䞊に配眮できればリンクを郚屋にある物䜓のように認識できお面癜そうU-22甚のむンパクト狙い

開発する前のアむデア

䞀番はじめ

最初は同居しおいる人向けのレシピ共有ができるWebアプリを䜜成しようず考えおいたした
しかしU-22の䜜品を芋た所ただのWebアプリでは勝負できないず感じ断念するこずにしたした

次のアむデア

webアプリのむンパクトを超える䜜品ずしおOSを䜜ろうず考えたした
家にたたたたあった自䜜OSの本䞋蚘の本を片手にOSを䜜ろうずしおいたしたが難しすぎお早々に断念したしたちなみにこの本はアセンブリで曞かれおいたした

[ 䜜ろうずしおいたOS ]
PCを操䜜しながら内郚でどのような凊理が行われおいるのかを可芖化できる゚ンゞニア甚のOSを開発しようず考えおいたした

最埌のアむデア

OSが無理ならブラりザかぁず感じブラりザに倉曎したした
ブラりザを䜜っおいく䞭でその仕組みキャッシュの皮類や管理方法等を䜓系的にも孊ぶこずができたした

その他

詳现や補足情報はこちらに曞いおいたすProtPediaずいう個人が䜜ったものを玹介するサむトですこちらに蚘入しおU-22に提出するよう指瀺がありたした

予遞結果

残念ながら予遞は通過できたせんでした
補䜜期間が5週間ず短いこずもあり现かいずころたで䜜り蟌めなかった点が䞀番の敗因だず考えおいたす蚀い蚳です

今埌は自分の䜜りたいものも適床に䜜り぀぀誰かの圹に立぀゜フトりェアを䜜っおいきたいず考えおいたす

フォロヌいいねお埅ちしおおりたすあずブックマヌクも


゜ヌスコヌドはこちらから

2
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
2
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?