2016年12月3日土曜日

[Windows] Visual C++で簡易スクリーンセーバーを作る方法

How to create simple screen saver

Windowsは一定時間キーボードやマウスを操作しないとスクリーンセーバーが起動し、モニターの焼き付きを防ぐ機能があります。
スクリーンセーバーは一定時間経過しないとを起動しないので、任意のタイミングでモニターへの信号を遮断する簡易的なスクリーンセーバーを作ってみました。


環境

  • Windows 10
  • Visual Studio 2015 Community
    ※Windows XPとVisual C++ 2008 Expressで作ったものをビルドし直しただけ


Visual Studio 2015にVisual C++ インストールオプションを追加する

Visual Studio 2015 は初期設定のままではVisual C++がインストールされませんでした。
Visual C ++ 2015用の共通ツールを追加インストールしました。
blog.fujiu.jp Visual C++で簡易スクリーンセーバーを作る


Win32 コンソール アプリケーションとしてプロジェクトを作る

プロジェクトはWin32 コンソール アプリケーションとして作ります。

アプリケーション設定は初期設定のまま進めます。


処理内容

プログラムが起動したらモニターへの信号を遮断し続けます。
モニター信号の信号はSendMessage関数を使います。
0.1秒くらいマウスを動かし続けるとモニター信号の遮断を停止しアプリが終了します。
標準ライブラリーだけでできました。
Releaseビルドしてできたexeファイルへのショートカットをタスクバーにピン留めすればワンクリックで省エネできます。

SendMessage関数を使っているところだけ記載します。

EcoMoni.cpp


全ソースはGitHubにプッシュしました。
https://github.com/mtk-f/EcoMoni/tree/master/EcoMoni


関連ブログ

Visual Studio Community 2015 をISOファイルからWindows10にインストールする方法
[Android] Xamarin でアプリを作ってみました
[Azure] クエリちゃんの動画投稿数をツイートするサービス をGitHubに公開するまで
ProTools First のwavファイルはPlaySound関数で再生できるか?
[C#] タスクトレイにバルーンチップを表示するアプリ
[ASP.NET] ポストバック処理で実行するJavaScriptを選ぶ方法
[ASP.NET] 動的に追加したイベントが動作しない
[ASP.NET] 動的に追加したラベルやテキストボックスが消える現象の対策

以上、参考になれば幸いです。

2016年11月26日土曜日

CLIP STUDIO用クエリちゃん 3Dモデルがライセンス素材になりました

Query-chan 3D model for CLIP STUDIO PAINT 1.6 has been published

2016年7月、CLIP STUDIO PAINT 1.6が公開され新3Dフォーマットが搭載されました。
新3Dフォーマットはフレームレートが安定しキャラクターのポーズがつけやすくマニュピレーターが改良されました。
従来の3Dモデルは新3Dフォーマットと互換性のないフォーマットのため、新しい3Dフォーマットに対応した ©ポケットクエリーズ のクエリちゃん3Dモデルを作成しました。
blog.fujiu.jp CLIP STUDIO用クエリちゃん 3Dモデルが新フォーマットに対応しました

ライツホルダーのポケットクエリーズ株式会社様の協力によりCLIP STUDIOのライセンス素材として公開されました。


インストール

CLIP STUDIO ASSETSのライセンス素材からダウンロードすると利用できるようになります。




仕様

  • 3種類の衣装 (標準、ハロウィン、クリスマス)
  • 2種類の顔 (口閉じ、口開き)
  • 全20種類以上の表情
  • 2種類の髪型 (標準、アホ毛)

新3DフォーマットによりCLIP STUDIO PAINTで標準衣装の腕輪とスカートが正常に透けるようになりました。


制限

CLIP STUDIOの仕様により髪や衣装の一部が黒く表示されることがあります。
CLIP STUDIO MODELER では輪郭線を非表示に、カリングの設定を「カリングなし」にすると正常に表示されます。


開発裏話

MMDモデルの3DキャラクターをCLIP STUDIOに移植するノウハウはあるのですが、CLIP STUDIOの素材に出品するには出品者の著作物に限られます。
そこでポケットクエリーズ社にライセンス素材として出品することをお願いしたところ快く引き受けてくださいました。

CLIP STUDIO MODELERを使うと衣装を増やすことができます。興味があったらチャレンジしてみてください。


ライセンス

"Query-Chan model" は Creative Commons Attribution 4.0 International License(CC-BY) に基づいて配布されています。
詳しくは公式サイトをご覧下さい。
http://query-chan.com/


クエリちゃんのMMDモデルも公開中です

クエリちゃんのMMDモデルで動画を作ったらぜひ動画サイトに投稿してください。キャラミんでも使えます。
[MMD] クエリちゃん・クリスマス版(初版) & クエリちゃんver1.02を公開しました


関連ブログ

[Blender] CLIP STUDIOにUnity3DやMMDのキャラクターを移植する方法
BlenderのモデルデータをMMDに変換する方法
CLIP STUDIO版 クエリちゃん 3Dモデルのファイルを公開しました
[マスコットアプリ文化祭] クエリちゃん大賞受賞の報告

以上、参考になれば幸いです。

2016年11月19日土曜日

不安定なオンラインゲームを安定させる方法

meta name='twitter:description' content='' />

How to make online games get stable

2016年8月、Unity Web Playerで動作するオンラインゲームを始めました。
開始当初このゲームのフリーズや異常終了が日常茶飯事でした。
blog.fujiu.jp 不安定なオンラインゲームを安定化させる方法
© 日本ファルコム © USERJOY JAPAN © USERJOY Technology

この画面のように時計が回転するアニメーションのまま進まなくなることがよくありました。
ふとしたことからフリーズや異常終了がなくなったのでその方法をまとめました。
PCと周辺機器が正常であることとゲームのバグが原因ではないことが前提です。


環境

  • Windows 10
  • Internet Explorer 11


結論・インターネット回線を変えたら安定した

ゲームが不安定だった頃はCATV回線でインターネットに接続していました。
ある日、プロバイダーのインフラが老朽化による故障のため丸1日インターネットが使えませんでした。
そこで同じプロバイダーの光回線に変更したのですが、それ以来このゲームがフリーズしたり異常終了することがなくなりました。


オンラインゲーム以外で変わったこと

CATV回線の頃はWebブラウザーのタブでたくさんのサイトを開くと、Webブラウザーにサーバーエラーと表示されることがよくありましたが光回線に変えてからはそのようなエラーもなくなりました。
AndroidスマートフォンのOneDriveアプリで写真をアップロードすると、回線変更前はアップロードできないことが多々ありましたが、回線変更後は安定してアップロードできます。

これらの症状は当時は原因不明でしたがプロバイダーのインフラ老朽化が影響していたようです。


まとめ

インターネットが不調なときはパソコンやモデムやルーターを再起動します。
これで調子がよくなればパソコンやモデムやルーターの買い換えをおすすめします。
それでも不調な場合は回線やプロバイダーの変更をおすすめします。


関連ブログ

[Adblock] Twitterのプロモーション・おすすめ・アンケートを消し去る方法
ツイッターのアカウントをブロックやミュートせずにタイムラインから消し去る方法
「Firefoxは現在Twitterに接続できません」の対処方法
FirefoxでJavaSriptが応答しなくなるサイトの対策と高速化
Internet Explorer 11の動画再生のプリフリーズ(コマ飛び・コマ落ち)が直るまで

以上、参考になれば幸いです。

2016年11月12日土曜日

MODO Indie のFBXの互換性を試してみました

How to import FBX files into MODO Indie

MODOは3次元CG編集ソフトです。
MODOの廉価版である MODO Indie でFBXファイルのインポートとエクスポートを試してみました。
blog.fujiu.jp MODO IndieのFBXの互換性を試してみました


環境

  • Windows 10
  • MODO Indie 801


MODO Indieを選んだ理由

このブログを書いている時点で MODO Indie の販売価格は1ヶ月1480円のサブスクリプション制(一括購入で割引きあり)です。
ちょっと試したい人も長く使い続けたい人も低予算で済みます。

また、MODOのフル機能版はゲームエンジン・Unity3DのStandardマテリアルをほぼ完全に再現できます。
MayaやBlenderと異なりMODOで作成したモデルはUnity3Dにインポート後にマテリアルを手直ししたり再現不能な箇所を妥協する必要がありません。
Unreal Engineのマテリアルも再現できるようです。
グラフィック担当者がMODOでデザインしたモデルをゲームエンジンにインポートした後、手直しすることなく利用できます。

価格が安く、フル機能版にアップグレードすればゲームエンジンとの親和性が高いことからMODO Indieを使ってみることにしました。


ユニティちゃんのFBXファイルをインポートする

MODOのFBXファイルのエクスポートはUnity3DやUnreal Engineと親和性の高いことがわかっているので、MODOにFBXファイルをインポートした場合の互換性を試してみます。
FBXファイルはユニティテクノロジーズジャパンが無料で公開しているUnity3Dアセットの「ユニティちゃん」を使います。

過去にユニティちゃんのFBXファイルを別の低価格なCG編集ソフトにインポートしてみたことがあります。
その結果、 Metasequoia EX では一部のShape Keyが削除され形状が崩れてしまいました
Shade3D では形状は正常ですがすべてのShape Keyが扱えないことがわかりました。

このユニティちゃんのFBXファイルをMODO Indieにインポートしてどうなるか試してみます。

MODOにFBXファイルをインポートするとface_00.psdというファイルを要求してきますが無視してよさそうです。

インポートしたらマテリアルごとにテクスチャ画像ファイルを指定します。

形状は正常のようです。ポーズもボーンを動かした通りに動きます。

モーフも正常に動きます。

Blenderへのインポートと比較するとMODOへのインポート方がオリジナルに近い結果になりました。


ユニティちゃんをFBXファイルにエクスポートする

MODOの初期設定のまま ユニティちゃんをFBXファイルにエクスポートし互換性を試してみました。

CLIP STUDIO MODELERにインポートしたところ、顔のメッシュが行方不明になりました。
CLIP STUDIOは元からこの挙動なのでMODO IndieがエクスポートするFBXファイルは互換性が高いようです。

Blenderでは UnicodeDecodeError によりにインポートできませんでした。


インポートできないFBXファイルもある

サファイアート株式会社が公開している「サファイアートちゃん」のFBXファイルをインポートしたらMODO Indieがフリーズしてしまいました。
サファイアートちゃんをFBX ConverterでコンバートしてたFBXファイルもフリーズします。

株式会社ポケットクエリーズの「クエリちゃん」は正常にインポートできました。
MODOにインポートできるファイルとでいないファイルの違いは今のところ不明です。


MODO Indie の制限

MODO Indie は低価格ゆえフル機能版に比べて制限があります。
制限された機能は下記URLのコミュニティの掲示板を参考にまとめました。
http://community.thefoundry.co.uk/discussion/topic.aspx?f=4&t=122158
間違っていたら済みません。
  • OBJ と FBX へのエクスポートは10万ポリゴン以内に限る
  • (テクスチャ画像にベイクできる?)解像度は4k以内に限る
  • evalコマンドは利用できない
  • Command、scripts、command history panel は undo と history のみ利用できる
  • Python editorやサードパーティー製のスクリプト・プラグインは利用できない
  • フル機能版MODOがインポートできるフォーマットはIndieもすべて対応するが保存できるのは .lxf に限る
  • エクスポートできるフォーマットは OBJ と FBX に限る
  • 対応する画像ファイルフォーマットは .png、.jpg、.tiff、.tga、.exr に限る
  • ネットワークレンダリング機能は利用できない
エクスポートできるポリゴン数が制限されていますが、未確認情報ながらPlaystation3やXbox360の世代の高品質なゲームキャラクター一人分が数万ポリゴンと言われているのでリアルタイムレンダリング用モデルには十分だと思います。

入手方法はSteamのダウンロード販売のみで、国内代理店のMODO JAPAN GROUP(株式会社ディストーム)のサポートは受けられません。
インターフェイスの日本語化はできません。


関連ブログ

Metasequoia EX の FBXファイルの互換性を試してみました
Shade3D の FBXファイルの互換性を試してみました
[Blender] CLIP STUDIOにUnity3DやMMDのキャラクターを移植する方法
Blenderで作ったアニメーションがUnity3Dで違う動きをする原因と直し方
BlenderのモデルデータをMMDに変換する方法

以上、参考になれば幸いです。

2016年11月5日土曜日

[Adblock] Twitterのプロモーション・おすすめ・アンケートを消し去る方法

How to erase useless tweeets

過去のブログ ツイッターのアカウントをブロックやミュートせずにタイムラインから消し去る方法
特定のアカウントをブロックせずにタイムラインから消し去る方法を書きました。
今回は特定の条件のツイートを消し去る方法をまとめました。

なお、消し去れるのはAdblockをインストールしたWebブラウザーに限ります。
Androidなどスマートフォン版Adblockはユーザーがフィルターを追加設定できないため未対応です。


環境

  • Windows 10
  • Firefox 49.0.2 + Adblockアドオン
Adblockのインストールや設定方法は ツイッターのアカウントをブロックやミュートせずにタイムラインから消し去る方法 に記載してあります。
将来の仕様変更によりフィルターの効果がなくなることがあるかもしれません。


プロモーションツイートを消すフィルター

下の画像のようなプロモーションを消すフィルターです。
blog.fujiu.jp Twitterのプロモーション・おすすめ・アンケートを消し去る方法
Twitterは広告収益で運営しているためプロモーションツイートを消すことはおすすめしません。
よく検討した上でご利用ください。



アンケートだけを消すフィルター

下の画像のようなアンケートを消すフィルターです。
アンケートは負荷の高いJavaScriptを使っているようで、消し去るとブラウザーの動作が軽快になります。
選択肢の数ごとにフィルターが変わります。

四択のアンケートを消すフィルター


三択のアンケートを消すフィルター



おすすめユーザーを消すフィルター

下の画像のようなおすすめユーザーを消すフィルターです。



最近の出来事を消すフィルター

スクリーンショットはありませんが、最近の出来事というツイートを消すフィルターです。



特定のツイートを消すこれらの方法は消し去るもが目的ではなく、DOM APIの勉強がてら偶然見つけたものです。
消し去りたいツイートがあまりにも多い場合はツイッターを見る回数を減らすことをおすすめします。


関連ブログ

「Firefoxは現在Twitterに接続できません」の対処方法
[セキュリティ] 引用サイト・Togetterに引用された自分のツイートを検索・削除する方法
Blogger.com (blogspot)のツイッターカードにサムネイルを設定する 2016年版

以上、参考になれば幸いです。

2016年10月29日土曜日

[Blender] Pythonスクリプトで頂点グループをまとめて選択する方法

How to select multiple vertex groups

過去のブログ CLIP STUDIOにUnity3DやMMDのキャラクターを移植する方法 で書いたとおり、3DキャラクターをCLIP STUDIOへ移植するにはスカート部には専用のマテリアルが割り当てられている必要があります。
「サファイアートちゃん」のように誰でも利用できるスカート着用の3Dキャラクターモデルはたくさん公開されていますが、そのほとんどがスカートと衣服に共通のマテリアルが設定されています。
しかし、スカート部に割り当てられた頂点グループに別のマテリアルを割り当てれば解決します。
とはいえ、たくさんの頂点グループを選択する操作が必要なので手間がかかります。
そこで、複数の頂点グループをスクリプトで一括選択する方法をまとめました。
blog.fujiu.jp [Blender] Pythonスクリプトで頂点グループをまとめて選択する方法
© SAPPHIART CHAN


環境

  • Windows 10
  • Blender 2.78


頂点グループを一括選択するPythonスクリプト

スカートの頂点グループは Skirt という文字列が含まれている場合次のようになります。


「オブジェクト名」の文字列はモデルに応じて変更します。
3D ViewをEdit Modeにし、Python Consoleに次のように入力またはコピー・ペーストします。
サファイアートちゃんの上着は ClothOuter というオブジェクト名なので次のようになります。




どんなときに役立つか

複数の頂点グループをまとめて編集したいときに役立ちます。
下の画像は「Imagine GIrls・R1N4(リナ)」の3DモデルをBlenderにインポートしたものです。
スカートの頂点グループが100個近くあるので手作業で選択するのは気の遠くなる作業ですが、スクリプトなら一瞬で済みます。

© ImagineVR Inc.
スクリプトの Skirt を別の文字列に置き換えれば名前にその文字列を含む頂点グループを一括選択できます。
また、select() を deselect() に書き換えれば選択状態を一括解除するスクリプトになります。


関連ブログ

[Blender] 複数のShape keyを一つにまとめる方法
CLIP STUDIOにUnity3DやMMDのキャラクターを移植する方法
[Blender] Pythonで複数の設定を一瞬で編集する方法
[Blender] ボーンを削除したらメッシュが動かないときの直し方
[Blender] ボーンを曲げてもメッシュが曲がらない原因と修正方法
BlenderのモデルデータをMMDに変換する方法

以上、参考になれば幸いです。

2016年10月22日土曜日

[Blender] 複数のShape key を一つにまとめる方法

How to mix multiple shape keys

3次元CG編集ソフト・Blenderにはを移動してアニメーションさせるShape Keyという機能があります。
人物モデルの目や口の開閉アニメーションなどによく使われます。
複数のShape Keyを一つにまとめる方法をまとめました。

© SAPPHIART CHAN


環境

  • Windows 10
  • Blender 2.78


Shape Key付きモデルを用意する

過去のブログ Shape key の変形を固定する方法
でBlenderにインポートした実績がある株式会社サファイアートの「サファイアートちゃん」のFBXファイルをサンプルとします。


サファイアートちゃんの顔は右目・左目・口にそれぞれ独立したShape Keyが複数設定されています。


複数のShape key を一つにまとめる方法

ここから本題です。
Object Mode で一つにまとめたいShape Keyをすべて変形させます。
両目と口の変形をまとめることにします。

右の下向き三角ボタンをクリックして New Shape From Mix をクリックします。

複数の変形をまとめたShape Keyが追加されます。

新しく追加されたShpae Keyだけで両目と口をアニメーションできるようになりました。
※GIFアニメーションです
blog.fujiu.jp 複数のShape key を一つにまとめる方法


注意

まとめられるShape Keyは同一オブジェクト上のものに限るようです。
ユニティちゃんのようにまぶたや目など顔が複数のオブジェクトに分かれているShape Keyをまとめる場合はJoinコマンドで結合するとできるようになります。
blog.fujiu.jp 複数のShape key を一つにまとめる方法
© Unity Technologies Japan/UCL


関連ブログ

[Blender] Shape key の変形を固定する方法
[Blender] CLIP STUDIOにUnity3DやMMDのキャラクターを移植する方法
BlenderのモデルデータをMMDに変換する方法
[Blender] ボーンを削除したらメッシュが動かないときの直し方
[Blender] ボーンを曲げてもメッシュが曲がらない原因と修正方法
[Blender] Pythonで複数の設定を一瞬で編集する方法

以上、参考になれば幸いです。