ユーザーブロマガは2021年10月7日(予定)をもちましてサービスを終了します

  • FF7Rのエアリスは8bitの夢を見るか?

    2020-06-27 20:00
    例によって、タイトルはあまり意味ないですw

    もう少しブロマガの方にもテキストを投稿したいなぁと思いつつ、どうしても取り掛かっている作業の方を優先させてしまって前回の投稿からだいぶ時間が経ってしまいました。

    個人的な備忘録も兼ねて Blender まわりのTips(というほど大したものではないが)とか、こまめにポストできればよいのですが・・・w

    というわけで、久々に重い腰をあげてのブログ記事です。
    今回は うp主が少し前に投稿した↓の動画に登場するデモディスク制作に関するあれこれをまとめてみたいと思います。




    ■そもそもどんなものなのか?
    前出の動画に登場するのは、今から30年以上前に隆盛を極めた8ビットパソコンの実機で動作する、所謂デモディスクと呼ばれるものです。

    デモディスクとは、ざっくり説明するとパソコンにセットするだけで自動でちょっとしたアニメや音楽が流れるディスクであり、販促用(電気屋やパソコンショップでのデモ用)や市販のゲーム等にデモだけが収録されたディスクが付属する場合もありました。(有名なところでは「イースII」など)

    なお、ここでいうディスクとは「フロッピーディスク」を指し、今となってはそこそこ貴重な記録メディア(笑)となっております。
    ※左の画像はPC-88実機で動作する自作曲PVのデモディスク

    当時はゲーム本編とは別にデモシーンが話題になったり、デモシーンを売りにしていた作品なども沢山ありました。





    今回の作品は、うp主が「FINAL FANTASY VII REMAKE」(以下「FF7R」)を題材に、主人公「クラウド」とヒロイン(のひとり)「エアリス」の再開のシーンを当時のデモディスク風に作成したものとなります。


    ■制作の経緯みたいなもの
    少し前、ツイッターにて「セーラームーンチャレンジ」なるものが話題となりました。

    「美少女戦士セーラームーンS」のワンシーンを自分の絵柄で描いてSNSに投稿するというものでしたが、沢山の絵師の方々が描かれたセーラームーンをTL上で眺めるうちに自分もやってみたくなり(笑)ついつい投稿してしまったのが以下のツイートになります。

    https://twitter.com/sobamix/status/1263075163051970565

    こちらのイラストは「640x400」(PC-88では縦長ドットのため「640x200」)という、ちょうどPC-88実機で表示できるサイズで描いたためそのままの流れで実機で表示する簡単なデモも作成してみましたw

    https://twitter.com/sobamix/status/1263992469202432000
    https://twitter.com/sobamix/status/1264515293780430848

    ここしばらくは Blender の作業ばかりやっていたせいか、これらの作業がとても楽しく、ひととおり完成した後も妙な物足りなさを感じてしまいまして、そのままの流れで数か月前にプレイした「FF7R」に登場する「エアリス」を元ネタにドット絵を描きました。

    https://twitter.com/sobamix/status/1266693030616023045

    こちらもイラスト完成ののちPC-88実機で表示しようと思ったのですが、元がゲームだけに「当時のゲームのデモシーン風な演出を施すと面白いかな?」という軽い気持ちで作業した結果が今回の一連の作品群となりました。


    ■メイキング的なもの
    動画をご覧いただいた方はわかる通り、デモ自体は2分ちょっとくらいの尺でカットも変わらないものですがイラスト、曲、プログラム、その他細々とした作業といった具合に完成まではそこそこの工程を経ていますw

    今回のブログ記事では、各工程ごとの作業内容みたいなものを簡単にご紹介しようかと思います。
    (作業期間は5月末からはじめて6月の半ばくらいまでの半月ちょっと)

    1.下絵
    最近は下絵もPCで描いています。(以前は紙に描いてスキャンしていた)
    板タブと「CLIP STUDIO PAINT」を用いてざっくり描いた下絵は↓

    【CLIP STUDIO PAINT で下絵】

    毎度のことですが、あちこち雑なうえに線もクリーンアップしていない、、、(んで、ドット絵を描く際に後悔するw)


    2.ドット絵
    ドット絵には「Adobe Photoshop CS6」を使用します。

    まずは輪郭をトレースするのですが、この作業が一番大変ですw
    特に髪の毛が毎回キツくて、ちょっと前々から考えていたのですが少しでも作業が楽になるようなプラグインを作ろうかと考え中です。

    ちなみにトレースができれば全作業の半分は終了。


    【輪郭トレース後】

    あとはパーツごとにレイヤーを分けて塗り分けしたものをクリッピングマスクとして、パターンブラシで一気に色をのせます。

    【クリッピングマスク用としてレイヤー毎にパーツを塗り分け】



    【パターンブラシで塗り】

    最後にシャドウとハイライトを入れて完成。


    【完成!】

    今回は背景も描いたのですが、こっちの方が面倒でしたw

    さらにアニメを意識したパターンもいくつか準備して画像まわりの作業は完了です。


    【まばたきと口パク用のアニメパターン】


    3.曲(プリプロ)
    BGMとして「Aerith's Theme(エアリスのテーマ)」を打ち込みました。

    まずはパート構成(FMx3、SSGx3)を意識したアレンジを「Reason」というDAWを使用し作成します。
    この段階ではあくまで曲の構成を決めるのがメインとなるため、細かいニュアンス(LFOとか)は省略しています。

    今回はちょっとアレンジが難しい楽曲でいろいろと試行錯誤したのですが、最終的にはオーソドックスなかたち(?)に落ち着きました。

    ちなみに、動画のコメントなどでもたくさんの方からツッコミがありましたが(笑)、このシチュエーション、どうみても「イースII」ですよねwww
    (クラウドの「ここは?」のセリフの後、無意識に脳内で「イースっていう国」というセリフが浮かんでくるくらいw)
    なので「LILIA」風の音色を使用したアレンジ案なんかもあったのですが、まとまりが悪くてボツにしましたw


    4.曲(MML)
    アレンジが出来たらPC-88実機で演奏できるよう、「MUCOM88 Windows」を利用しMMLで打ち込みを行います。

    MUCOM88 Copyright 1987-2020(C) Yuzo Koshiro /
    Open MUCOM88 maintained by ONION software/onitama
    https://github.com/onitama/mucom88/wiki

    あわせて、最終的なバランスやニュアンスも調整します。

    https://twitter.com/sobamix/status/1267785531527557125

    作成したデータは行番号をつけてエクスポートしたのち、オリジナルの「MUCOM88」でコンパイルを行いバイナリデータへ変換します。
    (コンパイル後のバイナリデータが実機での演奏データとなる)


    5.セリフ音
    往年のAVGやRPGにおけるキャラクターの会話シーンと言えば、beep音を利用したピコピコ音を(個人的に)連想します。
    beep音再生時の周波数を変更することで、男性、女性、子供、大人といったキャラクター毎の声色も表現することが出来ました。

    ゲーム風デモディスクということで、このセリフ音はどうしても再現したかったため、今回は「ジーザス」というゲームのソースを解析してセリフ音再生のアルゴリズムを参考にさせてもらいました(小声w)

    https://twitter.com/sobamix/status/1269593949854994432

    よもや、30年以上前にPC-88で初めてプレイしたゲームのソースを今頃になって読むことになるとは思いませんでしたよ(笑)


    【ジーザス】


    6.文字表示
    セリフ音に続いて画面に表示するセリフ(=テキスト)の表示についても作業しています。

    今回ターゲットとした PC-88 の場合、画面に文字(今回の場合は全角文字)を表示する際は、本体に搭載されている「漢字ROM」と呼ばれる ROM(Read Only Memory)から文字ごとに割り当てられたアドレスを指定し日本語のフォント情報(=画面に表示するためのドットパターン)を取得する必要があります。

    「漢字ROM」のアドレスは、以下のサイトの変換式をもとに「JISコード」から変換できますが、当然1文字ずつ手で変換するのもアホらしいので、「UTF8」から「JIS」を経由して「漢字ROMアドレス」へ変換するツールを自作しました。
    http://www.maroon.dti.ne.jp/youkan/pc88/



    【手抜き実装で変換ツールを自作】


    7.プログラム
    画像、曲、セリフ音ルーチン、セリフデータといった素材が全て揃ったところでプログラムを作成します。

    プログラムにあたっては、「Visual Studio Code」をエディタとして使用し、アセンブルには「Z80AS」を使用させていただきました。

    Z80AS:紅茶羊羹さん
    http://www.maroon.dti.ne.jp/youkan

    その他、動画のコメントにも記載しましたが、ディスク周りの汎用ルーチンとデータの圧縮/伸張にはそれぞれ以下のモジュールをお借りしています。

    汎用ディスクルーチン:Bookworm's Library さん
    http://mydocuments.g2.xrea.com/

    lze:GORRYさん/Kei Moroboshi(諸星圭)さん
    http://gorry.haun.org/pw/?lze


    基本的には↓の自作曲PVディスク(笑)で作成したルーチンをほぼ流用しているので、プログラム的に躓くところはあまり無かったですw




    大まかなプログラム処理の流れとしては、
    ①割り込み処理でカウントを計測

    ②「イベント起動時間」「ロードファイル名」「ロードアドレス」「ロード後のジャンプアドレス」を記述したデータ読み込み

    ③メインループで「②」の時間になったらファイルをロードしてジャンプ先をコール
    いった感じです


    以上、作業内容をメインに書いてみました。
    実は作業を進めるなかで次のネタ(当然 PC-88 実機で動くもの)も思いつきまして、これからしばらくはそちらの作業をメインに進めようかと考えています。
    (なんか Blender の使い方を忘れてしまいそうな不安もありますが・・・)

    今回の動画は思った以上に大勢の方々に見ていただけたようで非常にありがたく思います。
    さらに、動画の方にもたくさんの広告を頂きました。
    次作へ向けての励みになります。ありがとうございました。

    【広告主の皆さま】
    SK さん、ぱりりん/風間一矢P さん、AR西日本 さん、chelnov さん、seiya さん、えへへ さん、みとみと(水戸サポP) さん、闇 月 さん、てぃきん さん、kazux さん、愛貴族 さん、たかにゃ さん、ころぢ さん、バインハル・F さん、太陽さん さん、ウッチー☆ さん、ひかりん☆彡 さん、Kein さん、ウバ茶 さん、てぃきん さん、ナツメ さん、tissue さん、ランチセット さん、かなで倖風 さん、髭坊主 さん、WiLLOW さん、キャプテンアルト さん、WiLLOW さん、紙陣屋 さん、ジュムナ さん、毬藻仔 さん、てなが さん、ひろぷん さん、むぅ さん、札幌駅 さん、羊羹 さん、壁∥∇ ̄)ノ花和尚。 さん、GOLGO30 さん、boomboomhead さん、しみずしょう さん、べこ さん、kit さん、いまそん さん、あにじゃ@科学の人 さん、yng さん、tokusha2ka さん、キカイのカラダ777 さん、シズク さん、Arara さん、ねな さん、(株)萩原建設 さん、ひこひこ さん、超兄貴 さん、tzx さん、キャプテンアルト さん、お櫃 さん、tokusha2ka さん、もへおじ さん、見当かなみ さん、go1 さん、ナツメ さん、貴様に名乗る名なドナルド さん、べち さん、Fool さん、ふま。 さん、YANMAN さん、sirokuro さん、hiro さん、AAA さん、こまめ さん、たうるす さん、もきゅ さん、StraycatSomali さん、@猫の亜奈座 さん、いの さん、KAZUKiX さん、越谷 卓 さん、なま笹 さん、AKIRA さん、ルンバ さん、けんた さん、ザナドゥ さん、@鍋なべnabe さん、kaye さん 天晴、ぶりぶりざえもん さん、小枝 さん、風見ケイ さん、ぴよちゃん さん、そふてぃも さん、たかぽん さん、PIRO さん、ZON さん、羚亟(れき) さん、コココ さん、SUBARU365 さん、trick_track さん、めんぼう さん、AMY2 さん、tgr さん、めんぼう さん、アルテン さん、マッコイ さん、NECO さん、nick000 さん、てぃきん さん、SK さん、平 和男 さん、めんぼう さん、キャプテンアルト さん、sakusaku さん、Tsukuma さん、ルンバ さん、ルンバ さん、SK さん、sakusaku さん、sakusaku さん、SK さん、キャプテンアルト さん、sakusaku さん、SK さん、Tsukumaさん、SK さん、Yukise さん、SK さん(2020/10/23)

  • 広告
  • オレ的映画2019

    2019-12-31 13:02
    2019年も残すところあとわずかとなりました。

    1年の最後にうp主が今年映画館で観た映画の中から「好きな作品5本」と「ノレなかった作品1本」を紹介しようという企画(今年で4年目)ですw

    これまでの結果を振り返ると、


    ■2016年(観賞数27本)

     好きな作品
    【シン・ゴジラ】
    【この世界の片隅に】
    【ボーダーライン】
    【君の名は。】
    【ハドソン川の奇跡】
     
     ノレなかった作品
    【怒り】


    ■2017年(観賞数39本)

     好きな作品
    【ブレードランナー2049】
    【ベイビー・ドライバー】
    【IT/イット “それ”が見えたら、終わり。】
    【雨の日は会えない、晴れた日は君を想う】
    【アトミック・ブロンド】

     大嫌いな作品(笑)・・・オールタイムワースト入り
    【スター・ウォーズ/最後のジェダイ】


    ■2018年(観賞数39本)

     好きな作品
    【ボーダーライン:ソルジャーズ・デイ】
    【ウインド・リバー】
    【カメラを止めるな!】
    【スリー・ビルボード】
    【アンダー・ザ・シルバーレイク】

     ノレなかった作品
    【未来のミライ】

    といった感じでした。

    昨年は個人的にテイラー・シェリダン祭り(「ボーダーライン:ソルジャーズ・デイ」「ウインド・リバー」)の印象が強かったです。
    日本公開は未定?ぽいですが「Without Remorse」という新作を控えているテイラー・シェリダン。
    こちらの作品は監督がなんと!「~ソルジャーズ・デイ」のステファノ・ソッリマらしいということで、今からもの凄く楽しみですね。

    さて今年1年はどんな感じだったか。
    というわけで2019年のまとめになります。

    ちなみに、あらかじめ補足しておくと当記事は映画自体の良し悪しを語るのではなくあくまでうp主個人の「好き」「嫌い」の表明となります。
    したがって、意外な(?)作品がセレクトされていたり、そもそも観ている映画が偏っていたりしますが、人それぞれということでご了承くださいw

    今年映画館で観た映画は↓の39本になります。
    2019/01 ボーダーライン:ソルジャーズ・デイ
    2019/01 遊星からの物体X
    2019/01 ヘレディタリー/継承
    2019/02 恐怖の報酬【オリジナル完全版】
    2019/02 アクアマン
    2019/02 ファースト・マン
    2019/02 アリータ:バトル・エンジェル
    2019/02 蜘蛛の巣を払う女
    2019/03 キャプテン・マーベル
    2019/03 ミスター・ガラス
    2019/03 あした世界が終わるとしても
    2019/04 THE GUILTY ギルティ
    2019/04 ハンターキラー 潜航せよ
    2019/04 ディア・ハンター 4K デジタル修復版
    2019/04 記者たち-衝撃と畏怖の真実-
    2019/04 アベンジャーズ/エンドゲーム
    2019/04 ブラック・クランズマン
    2019/05 ザ・フォーリナー 復讐者
    2019/06 ゴジラ キング・オブ・モンスターズ
    2019/06 スノー・ロワイヤル
    2019/06 X-MEN:ダーク・フェニックス
    2019/07 スパイダーマン:ファー・フロム・ホーム
    2019/07 天気の子
    2019/08 ワイルド・スピード/スーパーコンボ
    2019/08 ハッピー・デス・デイ
    2019/08 ハッピー・デス・デイ 2U
    2019/08 ワンス・アポン・ア・タイム・イン・ハリウッド
    2019/09 アド・アストラ
    2019/09 トールキン 旅のはじまり
    2019/10 ジョン・ウィック パラベラム
    2019/10 ジョーカー
    2019/10 アス
    2019/10 フリーソロ
    2019/11 IT イット THE END ”それ”が見えたら、終わり。
    2019/11 ターミネーター:ニュー・フェイト
    2019/11 ゾンビランド ダブルタップ
    2019/12 スター・ウォーズ/スカイウォーカーの夜明け
    2019/12 アイリッシュマン
    2019/12 THE INFORMER/三秒間の死角
    ※地方ということもあり、一部2018年公開のものが混じっているかもしれません。


    ■好きな作品

    【アド・アストラ】

    宇宙版「地獄の黙示録」みたいな映画。

    度肝を抜かれる冒頭の軌道エレベーターシーンから、太陽系の果てまで延々と続く地獄巡り。
    特に月面におけるエグい展開を極めて淡々と描く演出はちょっとゾッとするものがあってたまりませんでした。

    映画全体に漂うデストピア感も個人的に大好物なんだけど、好き嫌いが激しそうな映画のようにも思うので、あまり人には進められない感もあったりw

    「インターステラー」とかもそうだけど、宇宙空間を漂う「寄る辺なさ」が自分的にほんと怖くて、そういった恐怖を手軽に体験できるあたりも映画を観る意義のように思えてくる次第。

    とはいえ、宇宙猿?のシーンは蛇足な感じも否めないんだけど、こういった微妙にズレたところももしかしたら本作の魅力かもしれない。


    【ジョン・ウィック パラベラム】

    大好きなシリーズの完結編。

    一言でいうと「ポルノ」。
    延々と撃ち合い、殴り合い、殺し合うバイオレンスシーンの連続。もう本当に見たいとこだけを見せてくれる感が素晴らしいなぁと。

    なんとなくこの映画観ながら、
    『俺が観たかった「マトリックス」の続編ってこんな感じの映画だったんじゃないか?』
    と、20年近く経ってようやく腑に落ちたというかw
    (ローレンス・フィッシュバーンも出てるし)


    【ハッピー・デス・デイ/ハッピー・デス・デイ 2U】
    お祭り感全開な2作。
    こちらは、1・2を続けて鑑賞したということもあり2本セットの扱いにしています。
    「スクリーム」みたいな90年代ホラーテイストが懐かしい1作目と、一転してSFっぽい設定となる2作目。
    どちらもテンポよくてニヤニヤしながら観れる感じ。
    2作続けての観賞がオススメ。


    【アイリッシュマン】

    超豪華なメンツによる大河ドラマ。

    特殊メイクが隆盛を極めた80年代のころは、メイクにより若い俳優を老けさせた映画をたまに見かけましたが、最近のCGIは若返りすらも違和感なく表現できてしまうあたりが凄い。
    壮年のデ・ニーロとパチーノがスクリーンで共演しているのを見るに、往年の名作「ヒート」とかを連想して胸が熱くなる。

    ちょっとスローテンポかつ長めの尺(210分)なので、気軽に観れない感(笑)があるのですが、アメリカ暗黒史としても興味深い。


    【THE INFORMER/三秒間の死角】
    これを書いている前日に観て、その勢いでセレクトした1作。

    あまり観賞前のリサーチもせずに観たのですが、個人的に大好きなアナ・デ・アルマスが出ててびっくりした(笑)
    パープルのタイトスカートの尻が最高過ぎで見ているだけで幸せな気分になってきますw(もっと見ていたい)

    ロザムンド・パイクに、クライヴ・オーウェンといった地味に豪華なキャスト。

    ポーランドマフィア、FBI、NYPDさらには刑務所内の他の勢力といった三つ巴、四つ巴な状況がカオスで楽しい。

    ちょっと全般的に薄味感もあるんだけど、前述の通りアナ・デ・アルマスが見れたので満足な1本でした。


    ■ノレなかった作品

    【X-MEN:ダーク・フェニックス】

    「ヒロインがダメ」の1点に尽きるというか、、、
    まぁ自分の好みの問題なんですがw

    このヒロイン、なんかカットによって物凄く不●工に見えちゃって興覚め。
    出演している女優で映画の好き嫌いが決まっちゃうウエイトが大きいのを改めて自覚した。

    それと、わりと直近で観た「ミスター・ガラス」&予習的に鑑賞した「スプリット」のおかげで、ジェームズ・マカヴォイの「顔芸」が今にも始まるんじゃないか!とヒヤヒヤしながら鑑賞するのも大変なノイズでしたw



    以上、こんな結果となりました。

    2019年は全般的にどの作品も楽しめた1年でした。
    3年連続で鑑賞本数が39本でしたが、自分的にはこのくらいの本数が限界かもw

    ぶっちゃけ「あした世界が終わるとしても」あたりは、ノレない作品候補として観に行ったのですが、可もなく不可もなくといった感じで、わりと普通に鑑賞できてしまったという、、、
    (それはそれで期待外れではあったw)

    話題となった「ジョーカー」とかも観てますが、あえてセレクトしなかった。
    (なんか安易に評価しちゃダメな気がしたので・・・)

    他にも「スター・ウォーズ/スカイウォーカーの夜明け」あたりは、(個人的に)ゴミ映画だった前作から良くまとめたな~と思う反面、あまり感動もなく終わってしまった印象。
    (おそらく「8」で新シリーズに対する興味がだいぶ削がれてしまったため)

    「遊星からの物体X」「恐怖の報酬」「ディア・ハンター」といった過去の名作リバイバルも地味に嬉しい。
    今後もこういった上映が増えそうですね~、うちの地元では2020年の正月早々に「ゾンビ[日本初公開復元版]」も上映されるし。

    なお、紹介した各作品の画像は手持ちのパンフとかフライヤーを撮影しています。
    したがって、パンフ販売の無かった「ハッピー・デス・デイ/ハッピー・デス・デイ 2U」「THE INFORMER/三秒間の死角」については画像無し。
    「アイリッシュマン」もパンフ販売無しなんだけど、辛うじてフライヤーが手元にあったのでそちらを使用しています。

    来年は007の新作が楽しみ。
    というわけで来年もよろしくお願いします。


  • XISMO(キスモ) と Blender のムフフな関係

    2019-06-11 20:58
    タイトルがアホですみませんw

    今回はフリーの3Dモデリングソフトウェア「XISMO(キスモ)」で作成したモデルデータを「Blender」でレンダリングしてみた際の諸々を備忘録としてまとめてみました。

    一応、最終的なアウトプットとしては、以下のような動画作品であったり




    以下のようなレンダリング画像となります

    【ファミコンとドラクエ II】


    【88のある風景】


    基本的に実際に作業した内容のメモ的な側面が強いため以下の点に留意してください。
    • 問題や要件に対する最適解となっていない箇所があるかもしれない
    • 一部の設定値については うp主自身もまだまだ勉強不足で把握しきれていない
    • ↑のため最終的な設定値は記載するがそこに至るまでの詳細な解説は割愛する
    それでも何かしらの参考になればと思います。
    (特に「忘れっぽい自分のため」という目的が大きいw)


    今回の記事では大まかに、
    1. Blender について
    2. XISMO、Blender 間のデータ連携
    3. 材質の設定(その1)
    といった内容を記述したいと思います。
    材質設定については長くなってしまったので今回と次回の2回に分けて投稿します。



    ■Blender について
    現状、「XISMO(キスモ)」にはレンダリング関連の機能が実装されていないため、モデリングしたデータをもとに高品質なレンダリング画像やアニメーション作品を作成するには他のソフトウェアを利用しなければなりません。

    最も身近な例としては「pmx形式」としてエクスポートを行い MMDを利用してアニメーション作品を作成するケースが考えられます。

    実際これまで自分が「XISMO(キスモ)」で作成してきたデータは、全て MMDでの利用を念頭に置いたものでした。

    一方で MMD以外でのアウトプット、具体的にはフォトリアルなCG画像を出力してみたくもなり、今回「Blender」を用いたレンダリングを試してみた次第です。

    なぜ「Blender」なのか?というと、
    『とりあえずフリーで試せる統合ソフトとして最初に思いついたから』
    という程度のノリですw

    「Blender」というソフトに関する詳細等々は端折りますが(そもそも、うp主自身あまり理解していないためw)、個人的には、
    • フリーで使用できる
    • 昔からある
    • ちょっとクセが強くて取っつきづらい
    といったイメージを(勝手に)抱いています。

    これを書いている現在(2019年06月時点)、「Blender」は「2.7系」とベータ版となる「2.8」が主に使用されている(?)ようです。

    一応、どちらのバージョンも試してみましたが、「Blender」初心者のうp主的には
    • UIの見直しにともない一般的な操作に変更されている
    • レンダラー「Eevee」が実装されている
    という点を考慮して「2.8」を使用しています。

    ただしネットの情報については、やはり「2.7系」の操作方法・設定方法に関するページの方が圧倒的に充実しているように感じました。
    (このあたりは今後改善されていくと思いますが・・・)

    また、当方の環境的な問題もありそうですが、現状「2.8」は若干不安定な部分もあるようです。
    (特に材質設定、高負荷なレンダリングなどで落ちるケースがたまにある)

    なお、本記事における「Blender」の操作方法・キャプチャ画像はすべて「2.8」(日本語化しています)に関しての記述となります。



    ■XISMO、Blender 間のデータ連携
    「XISMO(キスモ)」で作成したモデルデータは「Blender」で読み込みできる形式で出力する必要があります。

    「XISMO(キスモ)」および「Blender」は、他のソフトウェアとデータをやり取りするために「エクスポート」「インポート」の機能を備えています。

    したがって「XISMO(キスモ)」から出力(「エクスポート」)でき、「Blender」側で読み込み(「インポート」)できるデータ形式を用いることで、2つのソフト間でデータのやり取りが行えるようになります。

    ここでは、今回の作業で使用したデータ形式と、「エクスポート」「インポート」時の注意点について記述します。


    1.データ形式
    今回の作業では「obj形式」を用いてソフト間でデータのやり取りを行いました。

    前述したとおり「XISMO(キスモ)」から出力でき「Blender」で読み込みできる形式は他にもある(FBX形式など)ため、もしかしたら「obj形式」よりも適切な連携形式があるかもしれませんが、とりあえず「obj形式」を利用する方向で進めます。


    2.「XISMO(キスモ)」からの「エクスポート」
    「XISMO(キスモ)」から「obj形式」でデータを出力する場合は、
    [メニュー]-[ファイル]-[エクスポート]▶[.obj]
    を実行します。

    「obj形式」出力時のパラメタ設定用ダイアログがオープンしますので、以下のような設定を行います。
    【エクスポート設定】

    「倍率」については「XISMO(キスモ)」でモデリングを行った際のサイズ系および、「Blender」でシーンを作成する場合のサイズ系それぞれを勘案したうえで変換の倍率を入力します。

    参考として、うp主がファミコンのモデルデータを作成した場合は、「XISMO(キスモ)」における「1」を「1cm」とみなして作成し、「obj形式」出力時は上図のように「0.100倍」として出力しています。

    その他、「Z軸を反転」「UVのV座標を反転」「面を表裏反転」をチェックし、「モディファイアをフリーズ」「表示ノードのみ」のチェックについては必要があれば適宜チェックします。


    3.「エクスポート」に関する注意点
    後述の通り、「Blender」側のインポート設定によっては「XISMO(キスモ)」側のノード情報を(ほぼ)維持したまま取り込む事も可能なようです。

    ただしノード名称に日本語(マルチバイト文字?)を使用している場合「Blender」側で文字化けするため、ノード情報を保持したまま連携したい場合は「XISMO(キスモ)」側でモデリングする際のノード名も英数字のみに限定した方がよいかと思われます。

    また、テクスチャとして使用している画像ファイルのファイル名に日本語を用いている場合「Blender」側でインポートが行えませんでした。(エラーとなる)

    ファイル名についても英数字のみの利用に留めた方が良さそうです。


    4.「Blender」でのインポート
    「Blender」にて「obj形式」のデータを取り込む際は、
    [メニュー]-[ファイル]-[インポート]▶[Wavefront(.obj)]
    を実行します。

    インポートするファイルの選択画面が表示されるので、画面左下のオプションから以下のような設定を行います。
    【インポート時のオプション】

    「グループ」にチェックした場合は、「XISMO(キスモ)」側でのノード情報を保持した状態でインポートされます。


    5.スムーズシェード
    「XISMO(キスモ)」側で曲面化モディファイア等を適用し、なめらかな曲面として作成したモデルであっても「Blender」側では なめらかな状態でレンダリングされません。

    これはメッシュの初期設定が「フラットシェード」になっているため(?)ですので、適宜オブジェクトを選択後、右クリックで表示されるメニューから「スムーズシェード」を適用します。(下図参照)

    なお、一律に「スムーズシェード」を適用した場合、エッジ部分までなめらかな形状に変更されてしまいます。
    【エッジまで なめらかに変更される】

    この場合は、「オブジェクトデータ」のプロパティより「自動スムーズ」をチェックし適宜角度の設定を行うことで回避できます。

    【「自動スムーズ」と「角度」でエッジの調整が可能】


    ■材質の設定(その1)
    「Blender」におけるレンダリングエンジン「Eevee」(または「Cycles」)は物理ベースのレンダラーとなっています。

    これは、物理現象(光の反射・散乱・屈折・吸収など)をモデル化したレンダリング手法だそうで、出力される結果がより現実に近いものになるようです。(実際リアルに見えるw)

    従来の方式と材質(マテリアル)の設定方法が大きく異なり、馴染み深い「拡散色」「環境色」「反射色」といったパラメタから新たに物理現象をシミュレートするための各種パラメタへ変更されています。
    したがって「XISMO(キスモ)」側で行った材質設定はすべて「Blender」側で再度変更しなければなりません。

    ただしUVの展開についてはそのまま利用できますのでテクスチャの割り当てに関しては「XISMO(キスモ)」側ですべて行いました。

    ここではモデルデータを「Blender」にインポート後、今回の作業の中で再現した各種材質の設定値をメモ的にご紹介します。


    1.そもそもどうやって材質を再現するのか?
    とはいえ、いきなり各種材質の物理特性を正しく再現するのはハードルが高いように思われます。
    そこで今回は「PBR Materials」というアドオンを使用してサクッと材質設定を済ましてみました。

    https://3d-wolf.com/products/materials.html

    アドインの追加手順は以下の通りです。

    ①上記サイトから「PBR Materials」をダウンロードします。(「3.2」以降は「Blender2.7系」では使用できないようです)


    ②「Blender設定」をオープンする
    [メニュー]-[Blender(※)]-[設定]
    ※メニューの一番左端

    ③「アドオン」を選択し「インストール」ボタンを押下


    ④「①」でダウンロードしたファイルを「.zip形式」のまま選択し、「ファイルからアドオンをインストール...」を実行


    その後「Blender」を再起動して、プロパティの「マテリアル」を選択し、設定の一番下に「PBR Materials」が追加されていればOKです。

    【PBR Materials】


    実際に材質へ割り当てを行う場合は「PBR Materials」をチェックしたのち、材質のプレビューをクリックすることで表示される一覧から割り当てたい素材を選択します。

    【素材を選択】

    以下のイメージは実際に材質の割り当てをする前(左)と、「プラスチック」の材質を割り当てた後(右)の比較になります。
    プラスチックらしい光沢が表現されているのがわかると思います。

    2.アルファ付きテクスチャ
    アルファチャンネル付きの「png画像」をテスクチャとしてマッピングした場合、通常はアルファ部分が透明化されますが「Blender」においては(※)、ひと手間加えないと透明化されないようです。
    ※ちょっとニュアンスが違う表現かもしれませんが・・・

    「Blender」では、「シェーダーエディター」を用いることでノードを利用した材質の設定が行えます。

    うp主自身がまだ完全に把握できていないのと、説明にあたっては相当なボリュームが必要となるためシェーダーノードに関する解説はまるっと割愛(笑)しますが、以下のような接続を行うことでアルファチャンネルによる透明が適用されます。

    【アルファチャンネルによる透明化ノード】

    ポイントは「シェーダーミックス」を使用し、アルファチャンネルとベースカラーの出力とミックスする点になります。

    この時「画像テクスチャ」ノードからのアルファチャンネル出力を「シェーダーミックス」の「係数」へ流すとともに、2つあるインプットの上の方に「透過BSDFノード」を接続する必要があります。

    仮にインプットの下に「透過BSDFノード」を接続した場合は正しい結果になりません。
    (おそらく「係数」の影響は2つあるインプットの上の方とリンクしている思われる)

    また、レンダラーが「Eevee」の場合は「マテリアル」のプロパティから「ブレンドモード」を設定する必要があります。
    今回は「アルファブレンド」を使用しました。

    【「Eevee」の場合はブレンドモードも設定する】


    なお、テクスチャの反映は3Dビューのシェーディングを「ルック開発」か「レンダー」に設定しないと正しく表示されません。
    【3Dビューのシェーディング設定】



    材質の設定については他にもいくつかメモを残しておきたいものがある(アルファチャンネル設定時の影、シボ加工など)のですが、なんか疲れてきたのと異様に長くなってしまったのでいったんここまでで区切りとさせていただきます。

    続きは近いうちに(忘れないうちにw)投稿するつもりです。

    それではまた次回。