ゲームエンジンや3Dソフトウェアを利用して高度な表現ができるこの時代でも、プリミティブな描画や動き、アルゴリズムから学べることは多い。それらをJavaScriptで書くクリエイティブコーディングという形で学べる手引書が本書となる。
概要 Three.jsの勉強を始めて半年くらいが経過しました。 現在は、以下のようなアプリケーションを作成できるようになりました。 https://nemutas.github.io/r3f-normal-color/ ここまでに至る過程を少しまとめられたらと思います。 React Three Fiber について 私は主に、React Three Fiber(Three.jsをReact用にラッパーしたライブラリ|以下、R3F)を使用して開発してます。 バニラのThree.jsを触る前に、つまりThree.jsの知識がゼロの状態のときからR3Fを使い始めました。 とてもよく設計されたライブラリで、ほんの数行でBoxを表示することができます。 ただし、よく設計されているということは、それほど抽象化されているということです。学び始めの頃は自分が作りたいシーンを作るために、どのプロパティをいじ
エンジニア同士の情報共有を目的としたコミュニティ「ふわふわエンジニアタイム」が主催する「Markup Meetup」。3回目の今回は、フロントエンドエンジニア、マークアップエンジニア、コーダー、デザイナーの垣根なく、HTML / CSS / JavaScript に関わるナレッジを共有する場として開催されました。ここで登壇したのは、株式会社ゆめみの佐々木祥晶氏。導入事例を交えながら「Three.js」の魅力、メリット・デメリットを語りました。 株式会社ゆめみ所属・新人フロントエンドエンジニア 佐々木祥晶氏:それでは発表いたします。題目は、「Three.js の魅力を語る」です。 目次ですね。最初に軽く自己紹介をして、本編で「『Three.js』とは何ぞや?」とか、そういったことをいろいろ話していき、最後に軽くまとめをしていければなと思っています。 では、軽く自己紹介を。初めまして、佐々木祥
絶対に勝てない6x6リバーシを作りました。あなたは黒番、AIが白番です。 絶対に勝てない6x6リバーシを作りました! ぜひ挑戦してみてくださいhttps://t.co/Ul5n3q9jMp— Yusuke Endoh (@mametter) December 30, 2021 これは何? 6x6の盤面のリバーシは後手必勝 *1 であることが知られています。 このAIは白番(後手)で完璧にプレイします。つまり黒番のあなたは絶対に勝てません。無力感を楽しんでください。 技術的な話 このAIはWebAssemblyになっているので、全部あなたのブラウザの上で動いてます。真のサーバーレスです。 AIのソースコードはRustで書きました。わりと堅実なゲーム木探索になってます。UIは普通にTypeScriptとthree.jsで実装しました。 github.com 作った順に説明します。 盤面の表現
これは MIERUNE AdventCalendar 2023 24日目の記事です! 昨日は@northprintさんによるSvelteKitでURLクエリパラメーターの操作をするでした。 はじめに この記事では新宿駅の屋内地図データを使用して、Three.jsで3Dによる可視化をします。 DEMOはコチラ 使用するデータ 今回は、G空間情報センターで公開されている「新宿駅屋内地図オープンデータ」の統合版(ShapeFile)を使用します。 データについての詳細は製品仕様書に記載されています。 この記事のように、データの加工利用には以下の出典が必要となります。 コンテンツを編集・加工等して利用する場合は、上記出典とは別に、編集・加工等を行ったことを記載してください。なお、編集・加工した情報を、あたかも国(又は府省等)が作成したかのような態様で公表・利用してはいけません。(コンテンツを編集・
TL;DR モチベーション ウェブページの背景に星空を見せたかった。それがちゃんと実際の星空の、リアルタイムの状況を反映していたら面白いよねと思った。 スタート時の状況 主に愛情のこもった手打ち HTML5 と 手打ち CSS でシンプルな Web ページを作っていた https://web.archive.org/web/20210212085818/celestian.io この前にどうやら React が世間では流行ってるらしいということで React と TypeScript を使った小さい 1 ページアプリを作った https://web.archive.org/web/20201202100627/https://celestian.io/ssr/ 今の https://celestian.io/sushi の前身 C# で WPF のデスクトップアプリとか作ってたことがあった
こんにちは、うえむーです。 今回はThree.js(WebGL)で一年以上勉強した成果と便利なクラス/ライブラリを紹介したいと思います。 Three.js(WebGL)とは? Three.jsは、少しでも簡単にWebサイト上に3Dのコンテンツを表示するライブラリです。 ライブラリなしでカメラ・影・ライト・メッシュ実装する場合はそれなりの高度な技術が必要になりJavascriptのコード量が膨大になっていきます。 Three.jsのようなライブラリを導入することで、Javascriptの基礎と、Three.jsのクラスを利用することで気軽に3Dのコンテンツを表示することができます。 当初は、Three.jsを勉強したいけどまずどこから手をつければいいかわからず、公式ドキュメントを見ると英文で何をどうすればいいのかわからないかと思います。 Three.jsをこれから勉強するには、以下のサイトを
React + TypeScript + Three.js を使って「200行ぐらいで書ける」簡単な3Dゲームを作ってみたthree.jsTypeScriptゲーム制作React作ってみた はじめに かけだしバックエンドエンジニアのhiです。 最近、JavaScriptで簡単に3D描画ができるライブラリ「Three.js」に興味を持って触っていました。どうせならなんか作ろうと思い簡単なゲームを作成してみました。よかったら見てやってください。 ゲーム↓ ソース↓ 作成環境 React:18.2.0 TypeScript:4.7.4 Three.js:0.143.0 作り方 0.前提 作り方を理解するには、React、TypeScript、Three.jsがある程度わかるぐらいの知識が必要となります。 特にReact、TypeScriptの知識がないと「???」ってなるので事前に他の記事などで
Why? Can interact with mouse / touch Customize colors & style to match your brand No pixelation – Canvas runs at full resolution Smaller filesize than background videos and large background images – three.js is ~120kb minified and gzipped Runs fast (60fps) on most laptops/desktops What's the catch? Some WebGL effects are slow on older computers. Don't use more than one or two in a single page! Not
ここは文庫本の表紙を、 ただただ眺める為のサイトです。 図書館で棚を眺め歩くように、書店で平置きされた本がふと目に止まるように、あなたが本と出会うちょっとしたきっかけになれば幸いです。 機能指定の文庫と出版年で絞り込んだ、文芸(NDC分類91)の文庫本の表紙が並びます。 情報の取得元は以下のAPIから取得しているのでこれらに未登録の書籍は表示されません。 ※現在はある程度の数の情報を取得出来る文庫のみの実装となっております。[API・出典]国立国会図書館書誌データ(国立国会図書館サーチ 外部提供インタフェース)※週に一度データを更新openBD制作者 @takumin_88 © PLUS-D Inc. All Rights Reserved. PLUS-D Inc.は仲間に加わってくれる方を募集中です。
はじめに この記事ではこんな表現の実装方法を解説します。 ▼ GIF ▼ CodePen (0.5x を押すと見やすいです) ▼ 2021/7/26 追記 CodePen( 慣性スクロールありバージョン) 海外のデザインアワードを受賞するようなリッチなサイトで良く見る演出(個人的主観)です。WebGLの汎用的な表現な気がしますが、その実装方法を解説する記事は(少なくとも日本語では)ほとんど見つけられなかったので、自分の勉強も兼ねて書くことにしました。ちなみに技術記事を書くのは初めてに近いので暖かい目と心で読んでいただけます幸いです。実装はThree.jsを用いています。 注意事項 想定する読者 Three.jsを触ってみたが、サイト制作に活かす術が分からない、同様の表現を良く見るけどどうやって実装しているか分からない、といった方を対象としています。従って本記事では、Three.jsの基本的
はじめまして。フロントエンドエンジニアの田島と申します。 ちょうど今から約1年ほど前に鹿児島にあるアプリファクトリーはるni株式会社というゲーム開発会社様にお声がけいただき、お仕事として企業サイトを制作致しました。 以下のツイートにて、サイト内での操作イメージを短くまとめた動画を添付しています。 サイトの制作方針として、はるni様が制作を得意とする3Dボクセルを中心に据える方針で企画が固まり、技術的にチャレンジングな仕事となりました。その際、私自身多くの方々の技術記事等を参考にさせていただいたため、自分も微力ながら制作の過程で得られた知見を共有できればと思い、記事に残すことにしました。 (ただし、WebGLやThree.jsの扱いに関して未熟な点も多分にあるため、各章でより良いアイデアをお持ちの方はコメント等で温かくご提案いただけますと幸いです。) 技術検証 陰影を事前にベイクするか、リア
杉浦康平氏(1932―)は、わが国のデザイン界の巨匠として世界中から信望を集めるグラフィックデザイナーであり、またアジア図像学研究の第一人者です。杉浦氏がスタッフとともに半世紀以上にわたって手がけた数千点に及ぶブックデザイン作品やポスター作品、思考や制作の過程を辿るデザインプロセス資料、杉浦氏のデザイン哲学やアジア図像学研究の源泉たる旧蔵書まで、杉浦グラフィズムを網羅する「杉浦康平デザインアーカイブ」は、グラフィックデザイン史上における傑出した作品としての評価のみならず、戦後日本の印刷文化の発展を実証する貴重な原資料でもあります。 「杉浦康平デザインアーカイブ」は、2009年に杉浦氏のデザイン事務所である杉浦康平プラスアイズより武蔵野美術大学 美術館・図書館へ寄贈され、以来、美術デザイン教育に寄与してきました。また、2011年に開催したブックデザイン作品を回顧する展覧会「杉浦康平・脈動する
ピクシブ株式会社(本社:東京都渋谷区、代表取締役:國枝信吾、以下ピクシブ)は、3Dアバターモデルを用いたWebアプリケーションの開発をより簡単にするWeb開発者向けライブラリ「pixiv three-vrm」を、2019年9月12日(木)よりオープンソースとして公開します。 pixiv three-vrm: https://github.com/pixiv/three-vrm/ 「pixiv three-vrm」は、人型3Dアバターモデルのデータを扱うためのフォーマットである「VRM」を読み込み、Webブラウザに表示するためのライブラリです。 three-vrmが使用されている「VRoid Hub」(https://hub.vroid.com/) pixiv three-vrmは、3Dアバターモデルを扱うための専門的な技術知識を持たないWeb開発者が、VRMで記述されたモデルデータをより簡
この記事はWebXR Tech Tokyo #1の発表で使用いたしました。 イベントを企画いただいた運営の皆様、会場を盛り上げていただいた参加者の皆様、ありがとうございました! 2020/7/12追記 こちらのテンプレートがGatsby公式に追加されました。引き続きご利用いただけると幸いです。 https://www.gatsbyjs.org/starters/shunp/gatsby-three-ts-plus/ この記事でできるようになること Three.jsを使った3Dウェブページをモダンな技術スタックを使って簡単に開発・公開できるようになります。オリジナルテンプレートを使うことでスムーズに始められ、またGatsbyを用いることで自分好みのカスタマイズを簡単に加えることが可能です。 以下のサンプルシーンは予めテンプレートに組み込まれております。本記事での解説に加え、必要に応じてテンプ
Tens of thousands of YouTube creators have covered Billie Eilish’s “Bad Guy.” These versions are amazing to watch, spanning almost every country, language, and genre. We wondered what would happen if they could all play together. On November 23rd 2020, to celebrate “Bad Guy” hitting 1 billion views, YouTube Music launched Infinite Bad Guy - a unique AI experiment that used machine learning to brin
【Three.js入門】初心者がまず見るべきサイト・書籍まとめ 公開日 : 2021.09.03 最終更新日 : 2022.10.05 コーディング Three.jsを勉強しようと思っても簡単なやり方や概念を説明してくれているサイトはたくさんあるけど、実際案件で使用するためにはどうやって勉強していけばよいのか分からない人は多いと思います。 今回はThree.js初級者が中級者になるために見るべきサイトや書籍をまとめました! これら全てを行えば、初心者を脱出出来るでしょう! 【サイト】Three.js入門サイト WebGLやThree.jsのことを調べるまず最初に出てくる池田 泰延:twitterさんが初心者にも分かりやすくThree.jsのことを説明してくれています。 まずはこちらのサイトから勉強を進めてみるのが良いかと思います。 https://ics.media/tutorial-th
こんにちは。フロントエンドエンジニアになりたてのぼこです。 最近プライベートでBlenderを始めまして、作った3DモデルをWeb上で扱う練習をしたりしています。 ブラウザ上で3Dモデルを表示するためには、まず作成した3Dモデルのデータをgltf(glb)という形式で書き出し、それをWebGL(Three.js)で読み込んでcanvasに表示することになると思いますが、やってみると「あれ、Blenderで作ったときとなんか色味が違う……」っていう現象に陥ることが少なくないように思います。 せっかくBlenderでいい感じに調整したのに、いざThree.jsに持ってきたときに表示が変だと悲しいですよね。 今回はその問題を解決するための備忘録的な記事を書こうと思います。 使用ツールのバージョン Blender: 2.93.0 Three.js: r135 とりあえず結論 Three.jsに持っ
デモページ ソースダウンロード 線を使ったアニメーションは、流れ星や紙吹雪、風の動きなど、さまざまなモチーフの表現をより豊かにしてくれます。 今回はTHREE.MeshLineを使い、リボンのように滑らかに線が動くアニメーションを作る方法を、5つのデモとともにご紹介します。オリジナルのアニメーションを作る際は、ぜひ参考にしてみてください。 THREE.MeshLineとは 筆者は2年前から、Jaume Sanchez EliasがThree.js用に作成したライブラリ『THREE.MeshLine』を使用して、WebGLでヌルヌルと動く線を作りはじめました。 THREE.MeshLineの特徴は、Three.jsが長年抱えてきた「線の幅が変更できない」という問題に取り組んでいる点にあります。MeshLineは、幅のパラメーターをサポートしていないGL_LINEメソッドのかわりに、ビルボード
クリエイティブ開発者のブルーノ・シモンズさんが、3DCGモデリングソフトの「Blender」を使って自身の部屋の3Dモデルを作成し、WebGLとThree.jsを使ってウェブブラウザ上で表現した「My Room in 3D」を公開しています。 My Room in 3D https://my-room-in-3d.vercel.app/ これが「My Room in 3D」。画面右上には部屋の見た目を変更することができる各種パラメーターが用意されています。 「baked」では部屋全体の見た目を変更するオプションが並んでおり、「uNightMix」は部屋の明るさ、「uNaturalMix」は部屋の色味(白基調か木目調か)、「uLightTvStrength」は部屋に配置されているテレビの後ろのライトの強度、「uLightDeskStrength」はデスク周りのライトの強度、「uLightPc
乗り物大好きな子ゃーんに遊ばせてあげよう、と 救急車の3Dモデルデータを購入してThree.jsでグリグリ動かせるようにしてPWAにしてあげた pic.twitter.com/61MUg3MrOR— すぎゃーん💯 (@sugyan) August 1, 2021 子(1歳5ヶ月)が最近すごく消防車とか救急車に興味を持っているようで、またiPadを人差し指で操作することを覚えてきているので、じゃあ好きな車を表示してグリグリ動かせるのを作ってあげよう、と思った。 Web系エンジニアとしてはやはりブラウザで動くようなものが作りやすいな、と思い Web技術を軸に実装してみた。 モデリングデータ まずは3Dモデルを探してみた。海外の救急車のものなどはよくヒットしたが、国内のものでそれっぽく良いものはなかなか見つからなかった。 最終的にこれを購入。 booth.pm 消防車も欲しいけどここには無さそ
こんにちは。フロントエンドエンジニアになりたてのぼこです。 みなさん、Three.jsは好きですか?(唐突) 僕はWebサイトの中でも特に演出やグラフィック、インタラクションに凝ったものが好きなので、表現の幅を増やすためThree.jsと仲良くなれるよう奮闘しております。 話は少し変わりますが、最近はWebサイト制作でも、Next.js(React)やNuxt.js(Vue)を採用することが増えてきている印象です。 NextやNuxtでサイトを作る場合、従来の制作とは手法も考え方も大きく変わると思いますが、そこにThree.jsを導入する場合もやはり注意するポイントが増えます。 そこで、今回は React Three Fiber というライブラリについてお話ししたいと思います。この後詳しく書いていきますが、ReactコンポーネントのようにThree.jsが書けるライブラリで、驚くほど簡単に
はじめに デモページ Three.jsやBabylon.jsのようなWebGLライブラリで、シェーダーを利用すると表現力が向上します。 シェーダーは難解です。これから学習を始める人にとって、どこから手をつけていいのかわからなくなります。WEB上にはシェーダーを扱ったさまざまな記事がありますが、どのような読者を想定して書かれているかは千差万別です。著者が想定している前提知識を持っておらず、読者が内容を理解できないことがあります。 この記事ではThree.jsを利用することを前提に、シェーダーを利用してマテリアルを自作するまでの方法を解説します。 上の2つのリポジトリは、私がシェーダーの学習の過程で製作したものです。先頭のGIFアニメの元のマテリアルもこのリポジトリで公開しています。ご参考までに。 想定する読者 この記事は 現在Three.jsを利用している。 WebGL, GLSLの知識はな
3Dコンテンツの制作において「三角関数は必須」とよく聞きます。ウェブサイト制作で三角関数を使う場面はほとんどありませんが、WebGLの勉強をすすめると3Dでは三角関数を使う場面が多いことに気づきます。本記事では3Dコンテンツ制作で使用頻度が多い基本的な数式と概念をまとめました。 今回解説する内容は地味ですが、ゲームやデータビジュアライゼーションを作る上でこの数式が基本となってきます。高校数学で学んだことをベースに、3つのサンプルを通して学習できるようまとめましたので、ぜひ最後までお付き合いください。WebGLの人気ライブラリの1つ「Three.js」を使って解説しています。 三角関数を使ったデモの紹介 まずは、本題に入る前に三角関数を使ったデモを作成したので紹介します。次のリンクをクリックしてご覧ください。 デモを別ウインドウで再生する ソースコードを確認する 地球をモチーフにしたサンプル
はじめに こんにちは。お弁当盛りつけ係のあんどうです。 📢 Calling all #threejs devs: Let's make a mega thread of performance/efficiency tips & tricks for three.js! Big or small, name something that has helped you boost rendering perf, load times, memory management, etc. Textures, materials, loaders, shaders, geometries, you name it. — Jack Rugile (@jackrugile) 2018年2月21日 先月のことですが、ウェブ/ゲーム開発者のJack RugileさんのTwitterでの「Three.jsに
First launched in 2016, the digital project returns with a series of videos that bring the sneaker design to life. Working with ASMR techniques, multimedia artists and directors created videos featuring the Ace.
Creating Grid-to-Fullscreen Animations with Three.js | Codrops Three.jsを使ったグリッドからぐにゃっとフルスクリーンにアニメーションするデモ 画像拡大の方法が新しい。どんどん進化しますね 関連エントリ シャレオツなページめくり効果のデモ「Page Flip Layout」 ホバーでかっこよくイメージをプレビューする「Image Reveal Hover Effects」
~ この記事はTech KAYAC Advent Calendar 2020の18日目の記事になります ~ こんにちは!クライアントワークチーム・フロントエンドエンジニアの深澤です。web や unity の実装を担当しています。 今日は three.js で soft particle (ソフトパーティクル)を実装する方法を紹介していきたいと思います。 ソフトパーティクルを使って、霧のような雰囲気の中をキツネが駆けるシーンを作ってみました。 この動作デモはこちらから、動作デモのソースはこちらのリポジトリからご覧いただくことができます。 ソフトパーティクルについて ソフトパーティクルとは 特徴 実装方針 three.jsでの実装 JavaScript GLSL 改善点 霧の表現 最後に ソフトパーティクルについて ソフトパーティクルとは おおまかに一言でまとめると「深度値の比較をして透過率
An Online Node-based Geometry Design Tool and Platform
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く