2023-03-13
楽しかった、PCNこどもプロコン2023!来年に向けて早速新しいプログラミングする毎日が始まってるはず!オンライン配信となったPCNこどもプロコン、こどもロボコンのエキシビジョンコースにいた、かわいいイノシシくん達を3Dスキャンしてバーチャルおみやげとしました!


「vr-inoshi」
(背景なし) src and data on GitHub
現地で撮影した360度写真を背景に、イノシシくんを8頭、走らせてみました。 const model = asset("./inoshi1-min.glb"); const nino = 8; const inos = []; const defr = 10; // (m) for (let i = 0; i < nino; i++) { const r = defr; const deg = i / nino * 360; const th = deg / (2 * Math.PI); const x = r * Math.cos(th); const z = r * Math.sin(th); const obj = cr("a-entity", scene); obj.setAttribute("gltf-model", model); obj.setAttribute("position", { x, y, z }); obj.setAttribute("scale", { x: scale, y: scale, z: scale }); obj.setAttribute("rotation", { x: 0, y: -deg - 90, z: 0 }); inos.push(obj); obj.startt = performance.now() + Math.random() * 5000; obj.th = th; } setInterval(() => { for (const ino of inos) { const now = performance.now(); const dt = now - ino.startt; const r = dt > 0 ? defr - dt / 100 : defr; const th = ino.th; const x = r * Math.cos(th); const z = r * Math.sin(th); ino.setAttribute("position", { x, y, z }); if (r < -defr) { ino.startt = now + Math.random() * 5000; } } }, 1000 / 60); 2Dに慣れたら、3Dを使ったプログラミングにもチャレンジ!

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS