vision
Last updated
Last updated
今後数年間で、Web上での3Dの利用は大幅に拡大すると私たちは信じています。今日ではネイティブアプリが一般的ですが、より多くのコンテンツがWebアプリまたはとして利用可能になっています。新しいVRおよびARデバイスは、興味深い問題を生み出します。レスポンシブとは突然「小さな画面」または「大きな画面」だけでなくなり、空間、3D、空間配置、そして潜在的にメガネやコントローラーも扱うことになります!
さらに、よりインタラクティブ性とコラボレーションへの推進が加わり、興味深い課題の組み合わせが生じます。
Needleでは、この空間でのアイデア出しと制作が容易であるべきだと信じています。私たちは、これらの目標を達成するために独自のランタイムを作成し、物事を加速させることに着手しました。そのため、ARおよびVRへのデプロイ機能をコアコンポーネントに組み込み、新しいアイデアがプラットフォーム間で機能することを継続的にテストしています。
数多くの選択肢があるのは事実です!私たちは、現在のシステム1がおおよそ2つのカテゴリーに分類できることを発見しました。一部は優れたアセット処理、ツール、アーティストフレンドリーなワークフローを持っていますが、何らかのバイナリブロブを出力します。他はよりコードに焦点を当て、開発者フレンドリーで、最新のWebワークフローへの優れた統合を可能にします2。
私たちはこれらの世界を橋渡しし、両方の良いところを組み合わせたいと考えています。アーティストフレンドリーなワークフローと最新のWebテクノロジーです。最新のフォーマットと迅速なワークフローを組み合わせることで、より多くのクリエイターがコンテンツをWebに持ち込むことができるようになると信じています。また、最初からAR、VR、およびコラボレーションを正しく行う機会も見出しました。
1: 例としては、Unity、PlayCanvas、three.js、react-three-fiber、Babylon、A-Frame、Godotなどが挙げられます。2: これには入門的な段落に収まる以上のニュアンスがあります!すべてのエンジンとフレームワークには長所と短所があり、常に進化しています。
私たちは、次の波のWeb向け3Dアプリが、より良い_ワークフロー_をもたらすと考えています。誰もがWeb上で3Dシーン、アートギャラリー、製品プレゼンテーション、3Dスキャンを組み合わせたり、シンプルなゲームを作成したりできるべきです。この目標を達成するには、特定のシステムをサポートし、そこからWebにエクスポートするだけでは不十分です。
私たちの目標は、人々が_彼らの_クリエイティブツール(Unity、Blender、Photoshop、またはそれ以外)からWebにデータを持ってこれるようにすることです。これが大きな目標であることは認識していますが、すべてを一度に行うのではなく、一緒に反復して近づいていきたいと考えています。
Needle Engineの中核には、フォーマットとそのカスタム拡張機能による拡張能力があります。目標は、単一の.glb
ファイルにアプリケーション全体のデータを含めることです。
glTF内に実際のコードを同梱することは目標ではないことに注意すべきです。コードの同梱と実行は、最新のWebランタイムとバンドリングの仕事です。ロジックの抽象的な表現(グラフ、ステートマシンなど)がある程度標準化され、相互運用可能なワールドを可能にすることは確かに想像できますが、まだその段階ではありません。
迅速なイテレーションと高速なデプロイ。
3D Webプロジェクトでの作業が、2D Webプロジェクトでの作業と同じくらい簡単であること。
開発者とアーティストが直接コラボレーションできること。
レスポンシブWebが画面を超えて拡張されること - ARとVRが後付けではなく組み込まれていること。
オープンソースプロジェクトに貢献したいと考えていること。
3DおよびWeb標準に関するオープンな議論。
オープンフォーマットでデータの持ち込み・持ち出しが可能であること。
特定のフレームワークやベンダーにロックインされず、使用するWebフレームワークを選択できること。
一般的なユースケースが、コーディング経験なし、または限定的なコーディング経験で機能すること。
すべてのエディターバージョン、機能セット、レンダーパイプラインのすべての組み合わせを100%カバーすること。
完全なノーコード環境を提供すること。
他のエンジンの機能セット、能力、またはランタイムパフォーマンスに匹敵すること。
長年Unityを扱ってきた経験から、エンジンとエディターは素晴らしいペースで進化している一方で、WebGL出力はやや遅れていることが分かりました。UnityプレイヤーのWebベースシステムへの統合はかなり難しく、周囲のウェブサイトとの「会話」には多くの回避策が必要であり、そして何よりも、UnityがすべてのコードをIL2CPPを介してWebAssemblyにパックする方法により、イテレーション時間が非常に遅いです。これらのテクノロジーは素晴らしいもので、優れたランタイムパフォーマンスと多くの柔軟性をもたらします。しかし、最新のWeb開発ワークフローに比べて非常に遅く、閉鎖的であるため、私たちは自らの手で事態を収拾することに決めました。
Needle Engineはthree.jsを基盤としています。すべてのレンダリングはthree.jsを介して行われ、glTFファイルはthree.jsの拡張インターフェースを介してロードされ、私たちのコンポーネントシステムはthree.jsのObject3Dとシーングラフを中心に展開しています。私たちは、変更や改善の一部をthree.js本体に貢献し、プルリクエストを作成し、問題を報告することに取り組んでいます。
このページはAIによって自動的に翻訳されました。