3DCADモデルの見せたくない内側をアレする話―中身の詰まった3DモデルをBlenderでサクッとハリボテ化する手順―

さて、様々な大人の事情で、3DCADモデルを中身スカスカのハリボテにしたいときに使えるテクニックの話です。 たとえば、内部構造は内緒だけど外形のデータだけ渡したい、ゲームエンジンで扱うためにメッシュ削減したい、NFTとして販売したい、などなど、さま…

シリアル通信をオシロで眺めたときに1ビットの幅からボーレートを求めたかった話―1ビットの時間×ボーレートはやみ表―

タイトルの意味がわかる、かつ、具体的にどうやって求めれば良いかぱっと出てこない人(ぼく)向けのメモです。 それ以外の人にとってはここまで読んでいただくのも気が引ける内容の無さなです、すみません。 この記事で触れる内容 シリアル通信ポートにオシ…

オープンソースのゲームエンジンGodotでサクッとMQTTを使う話―コピペで動く(はず)Godotノンゲーム利用のための通信まわり―

※ この記事の内容はGodot Engine 4.2.2と4.3.RC1でテストしています。 さて、ゲームエンジンをNon Game(ゲーム開発以外、たとえば産業用とか、研究とか)用途で使いたいとき、なにかと他システムとの通信が必要になる場合が多いと思います。 色々と方法はあ…

iPhone LiDAR×Blenderで体積算出しようぜ!

iPhone LiDAR×Blenderで体積算出しようぜ! タイトルは、iOS LiDARといえばiwama氏の超有用note記事「iPhone LiDAR × CloudCompareで体積算出しようぜ!」へのリスペクトをこめて。 note.com CloudCompareは使い慣れなくてちょっと心の壁があるので、普段使…

SONYの空間再現ディスプレイELF-SRをBlenderで使いたかった話―空間再現ディスプレイ Plugin for Preview(BL)のインストールエラーを解決する―

しばらく前から、仕事でSONY製の空間再現ディスプレイELF-SR2を触っていました。 3DCGを裸眼で見ることができる、ちょっと未来なガジェットです。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.c…

「最小のAndroid 13スマートフォン」用のハードウェアキーボードを作る話―仮組みまで―

この投稿は、キーボード #1 Advent Calendar 2023 - Adventarの8日目の記事です。 adventar.org 日付を勘違いしていて、当日の朝に大急ぎで執筆しております…! ちっちゃいキーボードを作ろう

34%超ロープロキーボード「hp0」を作った話—RP2040Zero&Choc V1でエンドゲームする—

さて、近ごろ出先で作業をすることが増えてきて、持ち運びに便利なコンパクトなキーボードが欲しくなってきました。 以前作った34キー向けのさいきょうのキーマップがあるので、これを活用できる34キー超ロープロファイルキーボードを設計することにしました…

XREAL AirでBlenderのビューポート立体視を実現したいPoC—Blender XREAL viewport addonが待ちきれない(妄想)ので無理やり試す話—

XREAL Airを買ったので遊び倒したい 先日XREAL Air(旧NREAL Air)を衝動買いしました。 ジャンル的にはARグラスと言われるやつで、半透過レンズに映像が浮かんで見えるタイプのデバイスです。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b…

MicroPythonでLEDのbreathe effect(呼吸するようなフェード)を実装するはなし—コピペ用のPythonスニペット—

さて、今日はLEDを光らせる時の小ワザの話です。 Breatheエフェクト(呼吸をするようにフェードイン・アウトを繰り返す、Macbookの待機中ランプとかで見る光らせ方)って、たまに使いたくなりますよね? いつも、前回どうやったか忘れる絶妙なタイミングで必…

Kensingtonのオービット&リングトラックボールにミドルボタン&3Dツール用マクロパッドを増設する話

最近BlenderやUnityなど、3D系のソフトを使う機会が多くなってきたんですが、普段使いのトラックボールは致命的なことに、ミドルボタン(ホイールボタン?)がありません。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arg…