2014年7月19日土曜日

[Fiferox] Firefox30をインストールしたらURLの左に隙間が出来た

URL offset trouble on Firerox30
Forefoxを30にバージョンアップしてからアドレスバーに表示されるURLの左側にスペースが出来てしまいました。
Firefoxのリセットという機能を使って初期化してみましたが隙間ができたままです。
旧バージョンから使い続けて都度バージョンアップしてきたFirefoxに起こる現象です。
ポータプル版Firefoxではこの現象は起こりませんでした。


解決方法

C:\Program Files (x86)\Mozilla Firefox\distribution\bundles\websitelogon@truesuite.com
フォルダーの
chrome.manifest
というファイルを削除したら直りました。


なぜ解決できたか

Googleで
firefox space URL left side
という言葉で検索したら下記のコンテンツにたどり着きました。
http://forums.mozillazine.org/viewtopic.php?f=9&t=2841677
ここに書いてあるとおりフォルダーを丸ごと削除したら隙間が消えたため、chrome.manifestが原因と分かりました。
about:configの設定では直せないようです。


な関連ブログ

[Firefox] 消えてしまったブログのHTMLソースを復元するには
JavaScriptをWebコンテンツを見ながらデバッグする [Intenet Explorer] [firefox]
HTMLのソースをWebコンテンツを見ながら素早く見つける [Internet Explorer][Firefox]
HTMLソースのミスやエラーを素早くチェックする
[Windows] FirefoxでFlashがクラッシュ

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

2014年7月12日土曜日

[GIMP] GIFアニメーションの作り方

How to create the animation GIF files
2014年6月、TwitterにGIFアニメーションの投稿がサポートされました。
今までもGIFアニメーションの投稿は出来ましたがスマートフォンから見るとアニメーションしないなど問題がありました。
今回のサポートにより投稿したGIFアニメーションはMP4に変換されPCやスマートフォンでも正常に表示されやすくなりました。
GIFアニメーションを作ってみまたのでその方法をまとめました。


環境

・Windows8 64bit
・GIMP 2.8.10
GIMPはオープンソースの画像編集ソフトです。Photoshopに似た感覚で操作できます。
http://www.gimp.org/


GIFアニメーションの仕組み

GIFアニメーションはGIFフォーマットの画像を表示する順にまとめたものです。
テレビアニメの作画のように表示させたい画像を用意する必要があります。
次の画像に切替えるまでの時間の長さを指定することが出来ます。


動画ファイルとの違い

GIFアニメーションには音声を含めることができません。
動画再生用コーデックは不要で、Internet Explorer等で開くことができます。
他に、最大発色数は256色とか圧縮方式などの違いがあります。


アニメーションにするための画像を用意する

GIFアニメーションをTwitterに投稿するとMP4フォーマットの動画に変換されるようです。
Twitterに投稿できるGIFアニメーションは、容量が5MB以内という制限があります。5MB以内でもフレーム数が多すぎると投稿できないようです。
今回作るGIFアニメーションは30fps=1枚当たりの表示時間が33.333...ミリ秒とします。
プロ生公式暮井慧(プロ生ちゃん)MMDモデルを使って、MMDでプロ生ちゃんが吹っ切れたモーションを1枚ずつ画像に出力してみました。
プロ生ちゃんMMDモデルはこちら
http://3d.nicovideo.jp/works/td8608

全部で15フレーム作りました。
元ネタはいませんさんの「【ニコニコ動画】プロ生ちゃんが吹っ切れた」です。
http://www.nicovideo.jp/watch/sm19626732


GIMPに画像ファイルをレイヤーとして取り込む

出力した画像をレイヤーとしてGIMPに取り込みます。エクスプローラーで画像ファイルを複数選んでGIMPにドロップすれば取り込めると思います。
GIFアニメーションにすると下のレイヤーから上のレイヤー順に画像が切り替わります。
もしレイヤーが上下逆に読込まれてしまったら
メニューの
レイヤー - 重なり - レイヤー順序反転
で修正できます。
背景が透過色の場合は白などで塗りつぶして下さい。


GIFファイルとしてエクスポート

メニューの
ファイル - Export As
で保存先を指定します。ファイル名の拡張子を.gifにするとGIFファイルとして出力されます。
エクスポートの画面で次のように指定します。
出力したGIFファイルをInternet Explorerなどで開くと見られます。


結果はこの通り

完成したGIFファイルをTwitterに投稿するとこんな感じになります。


動画ファイルをGIFアニメーションに変換するフリーウェア

今のご時世、GIFアニメーションより動画ファイルを作る方が簡単です。
MMDはAVIファイルに出力することは出来ます。
古溝 剛さん制作のGiamというソフト( http://homepage3.nifty.com/furumizo/ )を使うとAVIファイルをGIFファイルに変換することが出来ます。

MMDからAVIファイルに出力した動画を、GiamでGIFアニメーションに変換してGIMPで編集してみました。
左は「ななみ式重音テト」、右は「ななみ式唄音ウタ(デフォ子)」のMMDモデルです。
AVIファイルをGIFアニメーションに変換した方が短時間で済みます。
そもそもTwitterが動画ファイルの投稿に対応すればこんな苦労は不要なのですが。


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

2014年7月5日土曜日

[Unity3D] Unityでプロ生ちゃんMMDモデルを扱う

How to import the MMD models to Unity3D
プロ生公式暮井慧(プロ生ちゃん)MMDモデルをUnity3Dで動かしてみました。
プロ生ちゃんMMDモデルはこちら
http://3d.nicovideo.jp/works/td8608


Unity3Dとは

ゲーム開発ツールです。Blenderなどのモデリングツールで作ったモデルを取り込んでアニメーションさせることができます。
C#やJavaScriptでプログラムを書いてゲーム進行や条件判定をつけることもできます。


動作検証した環境

・64bit Windows8
・Unity3D 4.3.4
プロ生公式サイトではUnity用プロ生ちゃんモデルを公開予定としていますが、このブログを書いている時点ではまだ公開されてません。
Unityは得意だけどMMDは苦手という方はUnity用プロ生ちゃんモデルが公式に公開されるまで待った方がいいかもしれません。


新規Unityプロジェクトを作成する

Unityを起動して
File - New Project
新規のプロジェクトを作成します。
シーンも保存しておきましょう。


MMD for Unityをインストールする

下記GitHubにてMMDモデルデータをUnityにインポートするためのツールが有志により公開されています。
http://mmd-for-unity-proj.github.io/mmd-for-unity/howto.html

画面右上の「ZIP」ロゴの画像をクリックするとダウンロードできます。
このブログを書いてる時点でダウンロードしたMMD for Unityは
mmd-for-unity-proj-mmd-for-unity-v2.1b-0-gde6d097
というファイル名でした。

このZIPファイルを解凍し、UnityのProjectウィンドウのAssetsフォルダーにコピーします。
コピーはドラッグ&ドロップの操作で出来ます。


プロ生ちゃんMMDモデルをインポートする

プロ生ちゃんMMDモデルをフォルダーごとUnityのProjectウィンドウのAssetsフォルダーにドラッグ&ドロップします。


プロ生ちゃんをオブジェクト化

Unityのメニュー
MMD for Unity - PMD Loader
をクリックします。

PMDLoaderの PMD File の右のボタンをクリックしてプロ生ちゃん.pmdを選択します。「プロ生ちゃん.txt」というファイルもインポートされていると区別しにくいので拡張子まで確認しましょう。
そしてconvertボタンをクリックすると

Unityにプロ生ちゃんが!


夢の共演?

2014年4月に公開されたUnityのマスコットキャラクター「ユニティちゃん」と共演させてみました。
二人を並べるとプロ生ちゃんが大きく見えます。
プロ生ちゃんの身長は公式設定では「156cmくらい」です。
ユニティちゃんの身長は不明ですが、Unity3Dの単位はメートルです。
立方体で背比べした結果、ユニティちゃんの身長は150cm位でした。
プロ生ちゃんに比べて小さいと不自然な気がしたので、今回は公式設定を無視して二人を同じ背丈にしてみます。
Hierarchyでプロ生ちゃんを選択してInspectorのScaleをX,Y,Zとも0.85にすると二人の身長が同じくらいになりました。
背景が殺風景すぎるのでSkyboxも表示してみました。


MMDモデルをインポートすると

インポートしたMMDモデルのボーンの名前はMMDのものを引き継ぎます。
Unityで一般的に使われるボーンの名前ではありません。
日本語で分かりやすい反面、ユニティちゃん付属のモーションを使い回すのが難しいです。


ここから先は

プロ生ちゃんを動かすにはプログラミングが必要です。
その反面モデルデータを自由に扱うことが可能です。
市販のゲームソフトで出来ることはUnityでもほとんど出来るはずです。

完成したアプリをiOSやAndroid用に公開してもいいですし、Web Playerとしてビルドすればニコニ立体に投稿することが出来ます。


関連ブログ

[Unity] オーディオの音量が小さい
プロ生ちゃんをキャラミんで踊らせよう
プロ生ちゃんMMDモデルを踊らせよう
OpenGLでプロ生ちゃんをアニメーションさせる
[Android] 壁紙のギザギザ(ジャギー)を直すには
wavファイルの書き出しは要注意 [CUBASE][StudioOne]

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

2014年7月1日火曜日

[Application] ザ・数唱 v1.03 を公開しました

Androidアプリケーション ザ・数唱 / Digit span PLAY / 數字跨度 / 수반복 をバージョンアップしました

v1.03の変更内容は次の通りです。
・MEKKOのロシア語を追加
MEIKOはとシア語は特に関係がありませんがザ・数唱がロシアで評価が良いため、発音が明瞭なMEIKOをロシア語の担当として追加しました。


アプリの内容紹介

ザ・数唱は短期記憶力が勝負の数字記憶ゲームです。
記憶力に自身がありますか?
メモをとらなくても聴いた内容を覚えられますか?
ザ・数唱の読み上げられた数字を記憶して答えるゲームです。
ワーキングメモリーと呼ばれる短期記憶の能力が高い人ほど沢山の数字を覚えられます。
メモをとらず記憶力だけでチャレンジしてください。
ナビゲーターは初音ミク(日本語、英語)、洛天依(中国語)、SeeU(韓国語)、結月ゆかり(ドイツ語)、メイコ(ロシア語)です。

Android2.3以上対応、HVGA以上の解像度推奨、縦画面専用
価格は無料

ザ・数唱 / Digit span PLAY はGoogle Playから無料でダウンロードできます。
※ダウンロード前に エンドユーザーライセンス契約(EULA)プライバシーポリシー を必ずお読みください。
https://play.google.com/store/apps/details?id=jjp.fujiu.digitspan

ザ・数唱 / Digit span PLAY の詳細はこちらからご覧いただけます。
http://www.fujiu.jp/AndroidApp/app010_digitspan.shtml

Digit span PLAY is the game.
You should input the numbers that the navigator read out.
Make your working memory excel.
Don't make memos.
Navigators :
HATSUNE MIKU (English, Japanese)
LUO TIANYI (Chinese)
SeeU (Korean)
YUDUKI YUKARI (German)
MEIKO (Russioan)

數字跨度 (Digit span PLAY) 是游戏。
你应该输入的数字,导航器读出。
别拿备忘录。
向导 :
洛天依 (中文)
初音未来 (日语、英语)
SeeU (韩语)
YUDUKI YUKARI(德语)
MEIKO (俄語)

수반복 (Digit span PLAY) 은 게임이다
당신은 네비게이터가 읽어 해당 입력 번호를해야합니다
메모를 작성하지 마십시오
안내인 :
시유 (한국어)
하츠네 미쿠 (일본어, 영어)
루오 티엔 (중국어)
유즈키 유카리(독일어)
메이코 (러시아어)

使用したMMDモデル
Lat式 初音ミク、Tda式 初音ミク、ままま式 SeeU、ケミリア式 洛天依、キオ式結月ゆかり、マシシ式MEIKO
Copyright (C) CRYPTON FUTURE MEDIA, INC. All Rights Reserved.
Copyrignt (C) SBSARTECH. All rights reserved.
Copyright (C) 上海禾念信息科技有限公司 All rights reserved.
Copyright (C) AHS Co. Ltd. All rights reserved.

2014年6月28日土曜日

プロ生ちゃんをキャラミんで踊らせよう

Pronama-chan kawaii 2
前回 プロ生ちゃんMMDモデルを踊らせよう に続いてプロ生ちゃんMMDモデル使ってみました。
キャラミんというソフトを使ってプロ生ちゃんのMMDモデルを踊らせてみました。


プロ生ちゃんとは

プログラミング生放送のイメージキャラクター・暮井慧(くれいけい)、通称プロ生ちゃんです。
著作権がゆるめのキャラクターです。
詳細はこちらをご覧ください。画像や音声などの素材も公開されています。
http://pronama.azurewebsites.net/pronama/


キャラミんとは

「キャラミん」はAHS株式会社が公開している、音楽プレイヤーソフトです。
音楽ファイルを用意するだけで3Dのキャラクターが音楽に合わせて自動で踊ってくれます。

キャラミんには無料で利用できる「キャラミん OMP」と、有償版の「キャラミん Studio」の2種類があります。
どちらでもMMDのモデルデータをインポートすることができます。
無償版のキャラミんOMPは公式サイトからダウンロードできます。
http://charamin.jp/


無償版・キャラミん OMP

「キャラミん OMP」をインストールして起動します。
標準でインストールされているキャラクターは許斐まい(このみ まい)さんです。
画面右上のボタンをクリックします。
+(プラス記号)のボタンをクリックします。
プロ生ちゃんのpmdファイルを開きます。注意ガキが表示されたOKボタンをクリックします。
すると・・・
でました!プロ生ちゃんです。
あとはMP3などの音楽ファイルキャラミんOMPにドラッグ&ドロップすれば音楽のテンポに合うように自然に踊ってくれます。
動きに合せて髪やネクタイも揺れます。
キャラミんOMPの画面を最小化するとプロ生ちゃんがデスクトップに常駐します。


プロ生ちゃんはキャラミんストアからも無料でダウンロードできる

キャラミんストアからダウンロードしたプロ生ちゃんは、MMDモデルと比べると肌の色などが違った仕上りになってます。 MMD版とストア版を比べてみるのも面白いです。


製品版・キャラミん Studio

有償版の「キャラミん Studio」ではタイムラインごとに振り付けなどを細かく指定できるようになります。
動画ファイルへの出力もできます。


キャラミんの用途は

キャラミんは出来合の振り付けを踊らせることに特化した音楽プレイヤーです。
MMDでは振り付けを自由に作ることが出来ますが、踊らせるには30分の1秒単位でモデルの関節ごとにポーズを指定する必要があります。
MMDでの動画の作成に挫折した人もキャラミんなら簡単に短時間で音楽に合わせてプロ生ちゃんにダンスさせることが出来るます。
キャラミんOMPは観賞用に、キャラミんStudioはCGで動画を作る入門用に使ってみるといいと思います。


キャラミんのバグ?

キャラミんOMPをバージョンアップしても古いバージョンが起動する
キャラミんOMP1.1.4.0はアンインストールしてもファイルが消えません。
C:\Program Files (x86)\Charamin\OMP
をフォルダーごと自分で消してから最新版をインストールしたらバージョンアップできました。

キャラミんStudioを最新版にしたらキャラクターとステージが全部消えた
まず
ファイル - 環境設定
でどこが保存フォルダーに設定されているか確認します。
その後、画面左上のキャラクターやステージのプラス記号のボタンをクリックして保存フォルダーのファイルを指定すると復活します。


関連ブログ

プロ生ちゃんMMDモデルを踊らせよう
OpenGLでプロ生ちゃんをアニメーションさせる
[Android] 壁紙のギザギザ(ジャギー)を直すには
wavファイルの書き出しは要注意 [CUBASE][StudioOne]

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

2014年6月20日金曜日

プロ生ちゃんMMDモデルを踊らせよう

Pronama-chan kawaii
プロ生ちゃんのMMDモデルが公開されたので早速使ってみました。
こちらからダウンロードできます。
http://3d.nicovideo.jp/works/td8608


プロ生ちゃんとは

プログラミング生放送のイメージキャラクター・暮井慧(くれいけい)、通称プロ生ちゃんです。
著作権がゆるめのキャラクターです。
詳細はこちらをご覧ください。画像や音声などの素材も公開されています。
http://pronama.azurewebsites.net/2014/06/20/kurei-kei-3d-model-release/


MMDとは

3Dモデルのキャラクターを踊らせるためのフリーソフトです。
正式名称のMikuMikuDanceを略してMMDと呼んでいます。
30分の1秒ごとにモデルにポーズ(姿勢)を指定します。
時系列順にポーズを指定すると、指定されたポーズから次のポーズまで自動的になめらかに動作する仕組みです。
多数の有志によりMMDで使えるキャラクターや背景が公開されています。
MMD本体はこちらで公開されています。
http://www.geocities.jp/higuchuu4/


今回の動作環境

・MikuMikuDance_v910x64.zip
・64bit版 Windows8
・NVIDIA GeForce 610M グラフィックス


DirectX9のインストール

DirectX9.0c エンドユーザー・ランタイムが必要です。
Windows8は標準ではDirectX9.0cがインストールされてません。
マイクロソフトダウンロードセンターで検索し、インストールしてください。
http://www.microsoft.com/ja-jp/download/details.aspx?id=35


MMDのインストール

MMDはzipファイルで公開されてます。
今回はCドライブにmmdというフォルダーを作りそこに解凍しました。
USBメモリーなどにインストールすれば別のPCへMMDを移しやすいと思います。
MikuMikuDance.exe をダブルクリックするとMMDが起動します。


プロ生ちゃんモデルのインストール

MMDを解凍したフォルダーの
UserFile\Model
に プロ生ちゃん という新規フォルダーを作ってそこに解凍たファイルを保存しました。


プロ生ちゃんモデルを読込

MikuMikuDance.exe をダブルクリックするとMMDが起動させます。
画面右下付近の「読込」ボタンをクリックします。

モデルデータのファイルを開くための画面が表示されるので、Modelフォルダーのプロ生ちゃんフォルダーを開きます。
今回はプロ生ちゃん.pmdを開きました。
拡張子違いで同じ名前のファイルがありますが、最新のMMDならどちらでも開けるはずです。

これでプロ生ちゃんが表示されるはずです。


モデルデータの挙動がおかしい場合

プロ生ちゃんモデルは問題ないと思いますが、モデルデータによっては髪の毛やスカートが暴れるように乱れることがあります。
その場合は
物理演算 - 床
をオフにすると正常になることがあります。


モーション(振り付け)データの読込

画面右下訃音のモデル操作がプロ生ちゃんになっていることを確認してください。

ファイルメニューのモーションデータ読込を開きます。
このバージョンのMMDはモーションデータが付属しないようです。
有志が公開しているモーションデータをダウンロードします。
VPVP wikiというサイトで公開されている
gisupekeさん作成の「MMDでぽっぴっぽー(一番なんとか)」をダウンロードしました。
http://www6.atwiki.jp/vpvpwiki/pages/367.html zipファイルでダウンロードしたらMMDをインストールしたフォルダーの
UserFile - Motion
に解凍します。
今回はpoppipo.vmdというファイルを開きました。

ファイルメニューのモーションデータ読込を開きpoppipo.vmdを読み込みます。
こういうダイアログが表示されますがOKボタンをクリックします。


再生する

では踊って貰います。
画面右下の再生ボタンをクリックします。
これで踊らせることが出来ました。


もっと豪華な動画にするには

今回はプロ生ちゃんを出来合のモーションで踊らせてみました。
有志が公開しているモデルやモーションを使えばさらに豪華な動画が作れるでしょう。
下の画像はプロ生ちゃんと東京モード学園のハル(左)とおぼろ式ちとせ(右)を一緒に踊らせてみた画像です。
根気さえあれば自分でモーションを作ることもできるし、モデルデータを改造したり新しいモデルデータを作ることもできます。
ただし著作権と使用許諾のリスペクトをお忘れなく

関連ブログ

プロ生ちゃんをキャラミんで踊らせよう
OpenGLでプロ生ちゃんをアニメーションさせる
[Android] 壁紙のギザギザ(ジャギー)を直すには
wavファイルの書き出しは要注意 [CUBASE][StudioOne]

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

2014年6月14日土曜日

[Java] 文字列がSQL ServerのDateTime型に適合するかチェックする

How to validate the DateTime format
Javaには文字列が日付に適合するかを調べるDateFormatクラスがあります。
DateFormatクラスで日付に適合した文字列がSQL ServerのDateTime型に適合できないことがありました。

そこでJavaでSQL ServerのDateTime型の適合するかチェックする機能を作ってみました。

SQL ServerのDateTime型の仕様

・年月日のセパレーターはハイフン(-)
・時分秒のセパレーターはコロン(:)
・年は1753から9999まで
・最小単位は1ミリ秒

年月日のセパレーターはハイフンの他、スラッシュ (/)やピリオド (.) も可能ですが今回はハイフンのみ可とします。
また、扱える最大値は9999-12-31 23:59:59.997でこれを1ミリ秒でも超えると扱えませんが今回は無視します。
他にもSQL ServerのDateTimeに適合するケースは沢山ありますが今回は次の書式を可とします。

YYYY-MM-DD hh:mm:ss.n*
・YYYYは1753~9999の年を表す
・MMは01~12の月を表す
・DDは01~31の日を表す
・hhは00~23の時を表す
・mmは00~59の分を表す
・ssは00~59の秒を表す
・n*は0~999のミリ秒を表す(省略可)


サンプル



なんだか汚いコードになってしまいました。

isDateTimeFormat(String source) メソッドの内容が日付型の適合をチェックする部分です。
staticなmainメソッドから呼ばれるため、isDateTimeFormatメソッドもstaticにしてます。 非staticメソッドから呼び出す場合はstaticにする必要はありません。
日付として適合ならtrue、不適合ならfalseを返します。
はじめにパターンマッチで書式をチェックします。
書式がOKだったら各要素が日付として正しいかチェックします。

関連ブログ

[Java] SwingのUIを無限ループで更新するには
[Android] PrintStream#printfの最適化(SDK r08でのエラーを別の方法で解決する)
[Android] Javaのstaticクラスから非sataticメソッドを呼び出すには
[Blender] obj2opengl.plをJava用に改造する
[Windows8][Android] EclipseをXP互換モードで起動する理由(Can't bind to local 8600 for debugger)
[Android] Activityに時計を表示する(Activityの非同期更新)
[Android] アナログ時計のアプリを作ってみました
[Android] ストップウォッチアプリを作ってみました
[Android] 方位センサーを使ってコンパスアプリを作る
[Android] OpenGLの簡易画像ビュアーにSDカード内の画像を表示する
[Android] Android-SDKでやってはいけないこと


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