[フレーム]
1 - 37 件 / 37件
ゲームエンジンや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 作った順に説明します。 盤面の表現
はじめに この記事では新宿駅の屋内地図データを使用して、Three.jsで3Dによる可視化をします。 DEMOはこちら サンプルコードはこちら 使用するデータ 今回は、G空間情報センターで公開されている「新宿駅屋内地図オープンデータ」の統合版(ShapeFile)を使用します。 データについての詳細は製品仕様書に記載されています。 この記事のように、データの加工利用には以下の出典が必要となります。 コンテンツを編集・加工等して利用する場合は、上記出典とは別に、編集・加工等を行ったことを記載してください。なお、編集・加工した情報を、あたかも国(又は府省等)が作成したかのような態様で公表・利用してはいけません。(コンテンツを編集・加工等して利用する場合の記載例)「新宿駅周辺屋内地図データ」(国土交通省)(https://www.geospatial.jp/ckan/dataset/mlit-i
デザイナーにもお勧め! CSSもThree.jsもタイムライン編集を可能にするTheatre.jsが凄い ウェブサイトの演出を作る上でアニメーションの実装は欠かせません。一般的には、CSSアニメーションやJavaScriptのライブラリ(GSAPジーサップなど)を用いてコードベースで動きをつけることが多いと思います。ですが、完全にコードだけでアニメーションを調整するのは大変だと思ったことはないでしょうか? 一度実装したことがある方は共感いただけるかもしれませんが、少し直そうにもコードに戻って調整し、反映されたブラウザ画面を確認して、もう一度コードを直して...と往復していると結構大変です。また、アニメーションさせるプロパティや要素が複数ある場合には、コードを解読する難易度も上がります。 本記事ではそんな悩みを解決できる、GUIからアニメーションを調整できるライブラリ「Theatre.jsシアタ
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をこれから勉強するには、以下のサイトを
ウェブサイトにおけるダイナミックなクリエイティブ表現の裏側には、多くの場合JavaScriptライブラリの力があります。有名なものにThree.jsがありますが、HTML Canvasを利用したライブラリであるp5.jsの表現力も決して劣りません。本記事では、まだあまり知られていないp5.jsを使ったウェブサイトを通して、p5.jsのウェブ制作への活用方法を紹介します。 p5.jsの表現力を活かしたウェブサイト/アプリケーション紹介 p5.jsは、ProcessingをベースにしたJavaScriptライブラリで、ビジュアル表現やインタラクションの実装を得意とします。描画はHTMLの<canvas>タグに出力されるため、既存のコンポーネントやフレームワークとも統合できます。 本記事では、p5.jsの活用事例のうち、Awwwardsで評価されたものを紹介します。 ※(注記)Awwwardsとは、優れ
はじめに かけだしバックエンドエンジニアの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の知識がないと「???」ってなるので事前に他の記事などで勉強することをおすすめします。 Three.jsについては、↓のサイトに詳しい情報を載せてくださっている神様がいらっしゃいますので恭しく(うやうやしく)確認していただければと思います。 ht
「React Three Fiber」は、Three.jsをReactで扱うためのライブラリです。Reactの特徴である再利用可能なコンポーネントを活かしながら、宣言的に3Dシーンを構築できるのが大きな魅力です。 通常のThree.jsでは、メッシュの作成、マテリアルの適用、シーンへの追加などひとつひとつの処理を命令的に記述する必要があります。しかしReact Three Fiberを使えば、裏側の複雑な処理をライブラリ側が担ってくれるため、作りたいシーンをコンポーネントとして宣言でき、処理の流れがわかりやすいコードが書けます。 ▼ 通常のThree.jsで立方体メッシュを記述する例 const geometry = new THREE.BoxGeometry(); const material = new THREE.MeshNormalMaterial(); const box = n
はじめに この記事ではこんな表現の実装方法を解説します。 ▼ GIF ▼ CodePen (0.5x を押すと見やすいです) ▼ 2021年7月26日 追記 CodePen( 慣性スクロールありバージョン) 海外のデザインアワードを受賞するようなリッチなサイトで良く見る演出(個人的主観)です。WebGLの汎用的な表現な気がしますが、その実装方法を解説する記事は(少なくとも日本語では)ほとんど見つけられなかったので、自分の勉強も兼ねて書くことにしました。ちなみに技術記事を書くのは初めてに近いので暖かい目と心で読んでいただけます幸いです。実装はThree.jsを用いています。 注意事項 想定する読者 Three.jsを触ってみたが、サイト制作に活かす術が分からない、同様の表現を良く見るけどどうやって実装しているか分からない、といった方を対象としています。従って本記事では、Three.jsの基本的
はじめまして。フロントエンドエンジニアの田島と申します。 ちょうど今から約1年ほど前に鹿児島にあるアプリファクトリーはるni株式会社というゲーム開発会社様にお声がけいただき、お仕事として企業サイトを制作致しました。 以下のツイートにて、サイト内での操作イメージを短くまとめた動画を添付しています。 サイトの制作方針として、はるni様が制作を得意とする3Dボクセルを中心に据える方針で企画が固まり、技術的にチャレンジングな仕事となりました。その際、私自身多くの方々の技術記事等を参考にさせていただいたため、自分も微力ながら制作の過程で得られた知見を共有できればと思い、記事に残すことにしました。 (ただし、WebGLやThree.jsの扱いに関して未熟な点も多分にあるため、各章でより良いアイデアをお持ちの方はコメント等で温かくご提案いただけますと幸いです。) 技術検証 陰影を事前にベイクするか、リア
WebGPUは、ウェブ上で動作する新世代のグラフィックスAPIです。従来のWebGLに代わるものとして設計されており、より低レベルで効率的にGPUへアクセスできるようになっています。たとえば記事『WebGPUがついに利用可能に』で紹介したように、WebGLより高いパフォーマンスが期待できます。 Three.jsはウェブで3D表現を作るためのJavaScriptライブラリです。2010年代のWebGL黎明期からThree.jsが多くのウェブサイトで使われており、3Dの代表的なライブラリとも言えます。 Three.jsでは、WebGPU対応が進んでいます。WebGPU対応のレンダラー「WebGPURenderer」が存在し、従来のWebGLRendererとほぼ同じ使い勝手で利用できます。Three.js利用者は低レベルコードを書くことなく、WebGPUの利点を活かせるようになっています。We
杉浦康平氏(1932―)は、わが国のデザイン界の巨匠として世界中から信望を集めるグラフィックデザイナーであり、またアジア図像学研究の第一人者です。杉浦氏がスタッフとともに半世紀以上にわたって手がけた数千点に及ぶブックデザイン作品やポスター作品、思考や制作の過程を辿るデザインプロセス資料、杉浦氏のデザイン哲学やアジア図像学研究の源泉たる旧蔵書まで、杉浦グラフィズムを網羅する「杉浦康平デザインアーカイブ」は、グラフィックデザイン史上における傑出した作品としての評価のみならず、戦後日本の印刷文化の発展を実証する貴重な原資料でもあります。 「杉浦康平デザインアーカイブ」は、2009年に杉浦氏のデザイン事務所である杉浦康平プラスアイズより武蔵野美術大学 美術館・図書館へ寄贈され、以来、美術デザイン教育に寄与してきました。また、2011年に開催したブックデザイン作品を回顧する展覧会「杉浦康平・脈動する
こんにちは。フロントエンドエンジニアになりたてのぼこです(ついに2年目になってしまいましたが気持ち的には「なりたて」です)。 今回は、前回の記事で紹介したReact Three Fiberを使って、もう少し具体的な表現をしてみようということでパーティクルアニメーションの実装をしてみました。Webサイトのクリエイティブ表現といえばまずはパーティクル、みたいなとこありますよね(?) コードの量は少なめにシンプルな演出にしたので、React Three Fiberを始めたての人にも参考になると嬉しいです。
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-t
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
こんにちは。フロントエンドエンジニアになりたてのぼこです。 最近プライベートでBlenderを始めまして、作った3DモデルをWeb上で扱う練習をしたりしています。 ブラウザ上で3Dモデルを表示するためには、まず作成した3Dモデルのデータをgltf(glb)という形式で書き出し、それをWebGL(Three.js)で読み込んでcanvasに表示することになると思いますが、やってみると「あれ、Blenderで作ったときとなんか色味が違う......」っていう現象に陥ることが少なくないように思います。 せっかくBlenderでいい感じに調整したのに、いざThree.jsに持ってきたときに表示が変だと悲しいですよね。 今回はその問題を解決するための備忘録的な記事を書こうと思います。 使用ツールのバージョン Blender: 2.93.0 Three.js: r135 とりあえず結論 Three.jsに持っ
クリエイティブ開発者のブルーノ・シモンズさんが、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が書けるライブラリで、驚くほど簡単に
新卒ブログとは? 2024年4月に新卒入社したLIGメンバーが、日々の学びや気づきを綴るブログです。彼らがふだんどんなことを学んでいるのか、気軽にのぞいてみてください。 こんにちは、新米エンジニアのにっしーです。最近Three.jsを使っている際にパソコンのスペックが足りず少し重いので、上司にお願いしてPCのスペックを上げてもらおうかと考えています。 そんなことはさておき、Webサイトでの表現の幅を広げたいと思い、Webブラウザ上で3DCGを制作することができるJavaScriptのライブラリ「Three.js」を勉強しています。 この連載では、Three.jsを使った制作物を紹介していきますので、同じようにThree.jsの勉強をされているみなさんの参考になれば幸いです! 前回は、スフィアジオメトリとテクスチャを用いた惑星とパーティクルを使用し星を作成し、宇宙空間を作成しました。まだの方
~ この記事はTech KAYAC Advent Calendar 2020の18日目の記事になります ~ こんにちは!クライアントワークチーム・フロントエンドエンジニアの深澤です。web や unity の実装を担当しています。 今日は three.js で soft particle (ソフトパーティクル)を実装する方法を紹介していきたいと思います。 ソフトパーティクルを使って、霧のような雰囲気の中をキツネが駆けるシーンを作ってみました。 この動作デモはこちらから、動作デモのソースはこちらのリポジトリからご覧いただくことができます。 ソフトパーティクルについて ソフトパーティクルとは 特徴 実装方針 three.jsでの実装 JavaScript GLSL 改善点 霧の表現 最後に ソフトパーティクルについて ソフトパーティクルとは おおまかに一言でまとめると「深度値の比較をして透過率
昔のmacOSやiTunesアプリでは、カバーフローと呼ばれるUIがありました。カバーフローでは写真が奥行き方向に傾いて表示されていたりするなど、3Dの表現が使われています。 本記事ではHTMLと3D技術(WebGPU)を用いた実装方法を解説します。3DのJavaScriptライブラリとしてThree.jsでデモを用意しています。本記事では初級者向けにステップ形式で重要な実装のポイントを説明し、カバーフローの実装方法を学べるようにしています。 デモの紹介 デモを再生する (別ウインドウで開く) ソースコード このデモはThree.js r176(WebGPURenderer)と生のJavaScriptで作成しています。 STEP1. カバーフローの基本実装 画像ファイルの読み込み カバーフローの実装に入る前に写真を事前に読み込むことにします。サンプルフォルダーのimgsフォルダーには画像フ
Blenderで作成した3Dモデルを、Three.jsでWEBブラウザに表示する方法をご紹介。 blenderで作ったモデルをthree.jsでブラウザに表示してみました!https://t.co/YCZO2y4Aec pic.twitter.com/YVpIT702YL — くまミックス@blender (@artKumamix) December 6, 2021 Blenderで作成した3Dモデルを、Three.jsでWEBブラウザに表示する方法 下記のような手順となります。 Blenderで3Dモデルを用意する 3DモデルをglTFファイルとしてエクスポートする Three.jsをダウンロード ファイルを作成 1Blenderで3Dモデルを用意する まずは、Blenderで表示したい3Dモデルを作成してください。 モデルが作成後、下記のことに注意してください。 (WEBブラウザで表示
原神のホームページで、MMDファイルを公開してくれました。太っ腹! 原神のキャンペーン公式サイトの紹介記事 https://www.gamespark.jp/article/2020/10/08/102819.html なので、これを機会に、JavascriptでMMDファイルを表示するビューアページを作ってみようと思います。 原神のキャンペーン公式サイト(中国語) http://ys.biligame.com/gczj/ ここから、MMDファイルをダウンロードします。 ※(注記)現在は以下からダウンロードできます。 https://genshin.mihoyo.com/ja/news/detail/5885 MMDファイルの表示には、three.jsにあるMMDLoaderを使いました。 mrdoob/three.js https://github.com/mrdoob/three.js という
はじめに この記事は、Three.jsを用いた3Dオブジェクトを作成する方法やシェーダーの記法の整理を目的としています。 解説を目的とした記事ではないので、ご覧される際はあくまでメモ程度と捉えて頂けますと幸いです。 尚、全てのコードはnpmでthreejsモジュールをインストールしている前提で記載しています。 Three.jsを用いた3Dオブジェクトの生成 テンプレート(コメントあり) //モジュールの読み込み(パスは環境によって調整) import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js"; import GUI from "lil-gui"; /* //canvasを定義 */ const canvas = document.
こんにちは、ビジュアル(実装)系の中矢です。 僕は 「あらゆるアニメーションの極意は物理」 だと考えています。 学生の頃、物理の先生が苦手で、授業をちゃんと聞いていなかったことを今でも強く後悔しています。 ところで、「物理演算エンジン」「物理エンジン」と聞くと、難しそうと感じますか? 実際に業務で活用するチャンスはなかなか訪れないかもしれませんね。 この記事では、チャンスを掴み Three.js と PHY を用いて物理演算を活用したビジュアル表現の制作秘話を紹介します。 対象読者は、物理演算エンジンを使ったプロジェクトを始めたい開発者を想定しています。 目次 プロジェクトの背景とコンセプト 技術選定 PHY PHYの問題点 GSAP 基本的な使い方 イニシャライズとセットアップ phy.initのパラメータ phy.setのパラメータ オブジェクトの追加・編集 phy.addおよびphy
検索しても出てこなかったので。 Reactを使います(React Three Fiberは後述) astroにReactをインストール ドキュメントを見るとReactをインストールする方法は自動と手動の2つあって、今回は自動で行います。手動だと、reactをブラウザで解釈するためのreact/domというライブラリを入れたり、コンフィグいじったりしなければならないですが、自動だと全部よろしくやってくれます。 npx astro add react ✔ Resolving packages... Astro will run the following command: If you skip this step, you can always run it yourself later ╭───────────────────────────────────────────────────
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Vanta.jsはthree.jsを使った3DなWebGLアニメーションの背景を簡単に作成、設置できるライブラリです。 同ライブラリのプロジェクトサイト内で簡単な編集を、プレビューを確認しながらツールバーの調整だけで可能になっており、コードも提供されているのでほぼコピペで実装できます。 提供されるコードはCDNを含んだものも用意されています。 動作サンプルです。よく見かける、マウスに合わせて動くやつ。 上記は以下のようなコードが発行されたものをそのまま実装しています。 <script src="three.r119.min.js"></script> <script src="vanta.birds.min.js"></script> <script> VANTA.BIRDS({ el: "#your-element-selector", mouseControls: true, touc
TOP ブログ 手軽にリッチなサイトに変わる!3Dグラフィックを描画できるthree.js(WebGL)でサイトをアレンジしてみよう 手軽にリッチなサイトに変わる!3Dグラフィックを描画できるthree.js(WebGL)でサイトをアレンジしてみよう 更新日:2021年12月16日 ブラウザ上で3次元・2次元のオブジェクトやグラフィックをレンダリングできるWebGL(Webグラフィックライブラリ)。そのWebGLを簡単に扱えるライブラリ「three.js」というものを用い、ウェブサイトに3Dオブジェクトやインタラクティブなアニメーションを取り入れ、表現を少し工夫してみようと思います。 今回は、この記事を通して以下のような 見出しの後ろに十二面体のオブジェクトがあるウェブページ を作ってみます。JavaScriptをある程度触ったことのある方であれば、比較的簡単に導入することができると思うので
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く