ささみろぐ

チラシの裏

Blenderでドット絵を立体化してUnityに取り込む

やり方忘れてたのでメモ

まずBlenderに以下のアドオンを追加する。

blender-addon-import-pixelart/io_import_pixelart.py at master · panzi/blender-addon-import-pixelart · GitHub

io_import_pixelart.pyをそのままDLしておいて、Blenderの編集→プリファレンス→アドオンから取り込むと使えるようになる。

Blenderのファイル→インポートからImport Pixel Artを選ぶ

f:id:sasamijp:20210609175300p:plain

ファイルビューが出てきたらImport As の項目からSeparete Cubesを選ぶ

f:id:sasamijp:20210609175500p:plain

3Dモデルが表示されるはず f:id:sasamijp:20210609175748p:plain

次に、オブジェクトを全部結合する。自分だけかもしれないが全部一気にやるとうまくできなかったので、まず適当に2ボックス選んで結合した後、全体を選択して右クリック→結合とするとうまくいった。

このままだと裏面がないので、Modelingビューに映ってから[選択]→[すべて]を選んでオブジェクトを選択状態にした後、[メッシュ]→[ノーマル]→[面の向きを外側に揃える]をクリックする。

f:id:sasamijp:20210609181732p:plain

ここまでできたらファイル→エクスポート→FBXを選んで、.fbxファイルとして保存する。

後はUnityのアセットとして読み込むと3Dモデルとして使えるようになる。

f:id:sasamijp:20210609182531p:plain

【JavaScript】reduceで配列から辞書を作る【爆速】

JSで配列を加工して辞書オブジェクトを作りたいときに詰まったのでメモ

ここに書いてあることがやりたい

JavaScript: Map an array of objects to a dictionary - DEV Community

つまり、配列

[
  {id: 1, country: 'Germany', population: 83623528},
  {id: 2, country: 'Austria', population: 8975552},
  {id: 3, country: 'Switzerland', population: 8616571}
]

から、それぞれの要素を加工してkey-valueにしたオブジェクト

{1: "Germany", 2: "Austria", 3: "Switzerland"}

に変換するようなことがやりたいとき、上記サイトに書いてある方法

let dictionary = data.reduce(
       (a,x) => ({...a, [x.id]: x.country}), {}
)

を使うと実現できる。

しかし、毎回新しいオブジェクトを再生成するため、配列のサイズが大きくなると爆発的に遅くなる。 *1

そこで、オブジェクトを再生成せず利用し続けるようにすると、劇的に速くなる。 *2

let dictionary = data.reduce(
    (a,x) => {
        a[x.id] = x.country
        return a
    }, {}
)

*1:サイズkのオブジェクトを作るたびにkに比例する時間でのメモリ確保処理をする。サイズnの配列についてk=1からk=nまで足すとO(n2)かかる。

*2:O(n)で済む。

しりとりバトル プライバシーポリシー

アプリ「しりとりバトル」のプライバシーポリシーです。

このアプリを通して、第三者に個人を特定できる情報を提供することはありません。

アプリの利便性向上のため、アプリ内でのユーザーの行動データを固有のユーザIDと紐付けて収集します。それらの情報は、特定の個人を識別できるものではありません。

ご不明な点があればお問い合わせください。

Live2Dの新しい使い道について

Live2Dの新しい使い道はないだろうか。

自分が思いついたのはこれだ。

というわけで、MCCMMANCCという集まりでワークショップ的なことをやった。 スライドと、使ったサンプルコードは以下。

サンプルコードはsampleApp1とsampleApp2がある。sampleApp1は首が横に振れるだけで、sampleApp2はオーディオビジュアライザーになってる。

ワークショップ自体についてはいろいろと反省点があって、ウーン次あったらもうちょっとがんばりたいなあという感想。でもみんな協力的にやってくれてとても嬉しかった。