みかづきブログ・カスタム

基本的にはちょちょいのほいです。

Canvasのピクセルデータを編集して動画をグレースケールにする 🖼

canvasタグはcontextのputImageDataを使って、ピクセルデータを編集することができます。 const canvas = document.createElement('canvas'); const ctx = canvas.getContext('2d'); const video = document.createElement('video'); video.src = 'movie.mp4…

動的に生成したvideoタグを自動再生するときはmuted属性ではなくプロパティを変更する 🎥

ビデオをミュートにすれば自動再生できることは知っていたので、 const video = document.createElement('video'); // ミュートに設定 video.setAttribute('muted', 'muted'); video.setAttribute('autoplay', 'autoplay'); video.setAttribute('loop', 'loo…

A-FrameでARマーカーを認識した時、認識が切れた時にコールバックイベントを設定する 💣

この投稿をInstagramで見る 片付けが捗るように、3秒以上物を置きっぱなしにすると爆発音がする机を作りました。名付けて「かたづくえ」です。 #音楽 #家 #音楽家 #ミュージックハウス #片付け #机 音楽+家=音楽家(ミュージックハウス)(@ongaku.ie)がシ…

A-Frameを使ってobjファイルをARで表示する 🐄

己との戦いAR。 pic.twitter.com/1bHUuSggc0— 君塚史高 (@ki_230) 2020年11月2日 これまではglbファイルを読み込んでいたので、Blenderを使ってファイルを変換していました。が。A-Frameのドキュメントを読んでいると、objファイルが読み込めそうな気配が。 …

A-Frameをつかって影とスポットライトをつくる 🔦

以前、こんなものをつくりました。本人よりも先に踊り出す影。 pic.twitter.com/mo29EZ19lY— 君塚史高 (@ki_230) 2020年6月18日 この時は、Unityをつかって影とスポットライトをつくっていたのですが、three.jsやA-Frameをつかうことにハマっている今となっ…

A-Frameを使って、ARでボクセルのモデルを表示する 📦

昨日つくったボクセルをA-Frameを使ってARで表示してみました。blog.kimizuka.orgA-Frameも内部はThree.jsを使っているので、もっと色々できそうな気がします。 あと、3Dモデルを確認するインターフェイスとして、マーカー型ARは非常に優秀な手段かもしれな…

VoxelでThree.jsに読み込み可能な3Dモデルをつくる 📦

はじめに 己のスキル 己のスキルで実行可能な作戦を考える ドット絵の三面図の大きさを決める ドット絵で三面図を描いて輪切りにする 輪切りの情報を配列にする 弓 Aポーズ 配列をThree.jsでレンダリングする 弓 Aポーズ はじめに ちょっと前からVRのゲーム…

Nuxt.js + TypeScript(+ nuxt-property-decorator) + SCSSでプロジェクトを作る ✌️

昔はReact派だった僕も、いまとなってはJavaScriptの書き方的にはReactでもVueでもどちらでも構わないぐらいになってきました。 NextJSとNuxt.jsを比べると、CSSの管理の仕方がNuxt.jsの方が好き、というかSFCが好きなので、どっちでも良いと言われた時は、…

A-Frameを使って爆速でつくったWebARにアニメーションを付ける 🥊

blog.kimizuka.orgの記事の続編です。分身の術。 pic.twitter.com/ATedQVtJXn— 君塚史高 (@ki_230) 2020年10月27日 前回は、実寸代のARで分身の術を作ってみた次第ですが、分身(3Dモデル)はピクリとも動いていませんでした。なので、今回は3Dモデルにアニ…

YouTube IFrame Player APIで読み込んだ動画を自動で再生してループさせる 🎥

公式ドキュメントをざっと読むと、autoplayというパラメータも、loopというオプションも見つかるので、その2つを使って const player = new YT.Player('player', { width: '320', height: '180', videoId: '1g0ebPju_eE', playerVars: { autoplay: 1, playsi…

TypeScriptでスクリプトファイルをimportする際に拡張子を省略する為のwebpack.config.jsの設定 📦

すべては公式ドキュメントに乗っています。webpack.js.orgresolve.extensionsに文字列の配列を渡せばOKです。webpack.js.org module.exports = { //... resolve: { extensions: ['.ts', '.js', '.json'] } }; TypeScriptファイル、JavaScriptファイル、JSON…

Macのsayコマンドを使ってText to Speechの音声ファイルをつくる 💻

Mac

Macでターミナルに、 say こんにちはと打つと、機械音声で「こんにちは」と読み上げてくれます。さらに、 say こんにちは -o sayと打つと、say.aiffという感じにaiffファイル化してくれます。 2つ目のsayはファイル名なのでなんでも構いません。また、ffmpeg…

A-Frameを使って爆速でWebARをつくる 💻

分身の術。 pic.twitter.com/ATedQVtJXn— 君塚史高 (@ki_230) 2020年10月27日 A-Frameを使ってWebARを作ってみました。 ソースはこんな感じです。 HTML <html"> <head> <meta charset="UTF-8" /> <title>AR DEMO</title> </meta></head></html">

jQueryを使ってページ内リンクのスクロールを実装する 🖱

最近めっきり使うことの少なった jQuery 。 しかし、稀にjQuery導入済みのサイトの改修を依頼されることもあるので、使う機会がゼロになったわけではありません。 久しぶりに使うと、animateがすごく便利で、ついつい多用したくなります。animateを使えばペ…

JavaScriptを1行も書くことなくドロワーメニューをつくる 💻

CSS

HTMLのcheckボックス、CSSの隣接セレクタ、target擬似クラスを使って、JavaScriptを書かずにドロワーメニューをつくってみました。ざっくりとだけ解説すると、 メニューボタンに見える要素が実はinput要素(チェックボックス) inputにチェックの有無でメニ…