2016年2月27日土曜日

[Windows] 掃除しやすいキーボードにこだわる

To dwell on the cleanable keyboard

パソコンで文字を入力するのになくてはならないのがキーボードです。
キーボードは手が触れるモノなので毎日使えば汚れが気になります。
掃除のしやすいキーボードに満足できるまでの出来事をまとめてみました。


環境

  • Windows 8.1
  • USB接続のキーボード


発端はキーボードを汚したくないから

下の画像はデスクトップPCに付属するキーボードです。
この形状の特徴はキーの隙間に埃が入り込み、長年使ってると見栄えが悪くなることです。
キートップを外して掃除する方法もありますが、それなりに手間のかかる作業です。
掃除しやすい形状のキーボードを買うことにしました。


掃除しやすそうな低品質なキーボード

見た目が掃除しやすそうなので買った「独立キータイプ」のキーボードです。
ディスカウントショップでよく見かけます。
キートップがモグラ叩きのモグラのようにミゾからでています。

実際に使ってみるとキートップとミゾの隙間にホコリが溜まりやすいです。
写真は割愛しますがすぐにミゾが埃だらけになりました。
その結果、キートップがストローク中に摩擦が起きタイピングしても接点まで潜らなかったり、斜めに埋没して文字を入力できないことが多発します。
CtrlキーやエンターキーやTABキーなど頻繁に使うキーほど入力できないことが多く、ストレスの溜まりやすいキーボードでした。


掃除しやすく入力もしやすいキーボード

USBキーボードが認識されないトラブル が起きたのをきっかけに買い換えたのが「丸洗いできるキーボード」です。
ディスカウントショップで見かけませんが独立キータイプに匹敵する安さです。

キートップがむき出しなので摩擦が発生する部分にホコリが溜まらない構造です。
実際に使ってみると独立キータイプのようにミゾに引っかかることはありません。

ただしキートップがむき出しのため、タイピング音がうるさいというデメリットがあります。
タイピング音が気になりますが、キーボードは文字を入力するための周辺機器なので接触不良が無く入力できる点は独立キータイプより軍配が上がります。
品質が低そうな値段でしたが意外にも買ってよかったと思えるキーボードでした。


関連ブログ

[Windows] USBキーボードが認識されないトラブルを直すまで
ノートPCのメモリー(RAMモジュール)を交換しました
夏に負けないパソコンのメンテナンス2015年版
[ThinkPad] サーマルファン故障
ノートPCのハードディスクをSSDに交換
[BIOS] 起動しなくなったHP ProLiant ML115 G5が直った

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

2016年2月20日土曜日

[Windows] USBキーボードが認識されないトラブルを直すまで

How to stabilize the USB keybord recognition

2016年1月頃からパソコンの電源を入れるとUSBキーボードが認識されないことが起きるようになりました。
たまに認識されることもあります。
USB端子を刺し直せば必ず認識されます。
キーボード以外のUSB接続の周辺機器は正常に動作しています。
デバイスマネージャーでも正常に動作していると表示されます。

原因は不明ですが、色々試して認識されるようになるまでをまとめました。


環境

  • Windows 8.1 64bit

やってみたけど直らなかったこと

  • USB端子を別のUSBポートにつないでみる
  • USBキーボードを買い換える
  • デバイスマネージャーのUSBキーボードの項目を削除して再起動する

キーボードをつなぎ替えたり買い換えても改善しなかったのでキーボードの故障ではないようです。


試していないこと

  • Windows OSの再インストール

ハードウェアの故障でないならソフトウエアの問題です。
Windowsの再インストールで直る可能性がありますが、手間と時間がかかるので今回は見送りました。
2016年1月のWindows Updateが怪しいです。


結論・ハイバネーションをオフにしたら直った

ハイバネーションを無効に設定したところUSBキーボードが必ず認識されるようになりました
Windows8.1は初期設定でハイバネーションが有効にされています。
ハイバネーションを無効にするには Command Promppt を管理者として実行します。

管理者権限の Command Promppt に次のコマンドを入力します。



これでハイバネーションがオフになります。


ハイバネーションとは

ハイバネーションが有効の場合、シャットダウンする際にメモリーの一部の内容をディスクドライブに保存します。
次の起動時に保存した内容をメモリーに読み込んで一部のプログラムの読込と実行を省略するため、起動が高速化されるメリットがあるとのことです。

ただしSSDにWindowsをインストールしているパソコンでは、ハイバネーションを無効にしても起動時間は変わりませんでした。


ハイバネーションのデメリット

ハイバネーションが有効だとシャットダウン時にメモリーの内容をディスクドライブに書き込みます。
そのため次のようなデメリットがあります。
  • シャットダウンが遅い
  • ディスクドライブの空き容量が減る
  • USBキーボードが認識されないことがある

ハイネーションで起動時間が速くならないPCではデメリットの方が大きいという結果になりました。


関連ブログ

ノートPCのメモリー(RAMモジュール)を交換しました
夏に負けないパソコンのメンテナンス2015年版
[ThinkPad] サーマルファン故障
ノートPCのハードディスクをSSDに交換
[BIOS] 起動しなくなったHP ProLiant ML115 G5が直った

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

2016年2月13日土曜日

[Android] Xamarin でアプリを作ってみました

How to create Android apps with the use of Xamarin

Xamarinは「C# で iOS、Android、Mac、Windows アプリを開発」できる統合開発環境です。
日本ではエクセルソフトが販売・サポートをしています。
http://www.xlsoft.com/jp/products/xamarin/

2016年3月、企業のXamarinはマイクロソフトに買収されました。
開発ツールのXamarinはエディションによりますがVisual Studioに組み込まれたり無償化されます。
従来よりライセンスを入手する機会が広がりました。
2016年4月2日追記

Xamarinはこのブログを書いている時点では次のエディションに分かれています。
  • Xamarin Starter
    Visual Studio 2015にも付属する無料版。かなり制限あり
  • Xamarin Indie
    月額サブスクリプション制、少し制限あり
  • Xamarin Business
    年間サブスクリプション制、一番人気といわれる実用レベルのエディション
  • Xamarin Business
    年間サブスクリプション制、制限無しの全部入り

2015年12月、Xamarinがゲームアプリ開発者向けに1年分の無料サブスクリプションを配布しました。
Indie Game Developers Get Xamarin for Free
https://blog.xamarin.com/indie-game-developers-get-xamarin-for-free/

申し込んでみたら5日後に返信が来たので早速使ってみました。
今回の無料サブスクリプションは2015年12月31日までの期間限定でしたが、過去にも似たようなキャンペーンがあったので興味があればチェックしておくといいと思います。


環境

  • Windows8.1 Home Edition
  • Visual Studio Community 2015
  • Android SDK Windows


Visual Studio と Android SDKをインストールする

XamarinはExpress版のVisual Studioでは使えません。Community以上のエディションが必要です。
Visual Studio Community 2015 のインストール方法はこちら

Visual Studio Community/Professional/Enterprise のいずれも使えない場合は Xamarin.Studio で開発できます。

Android SDK はAndroid公式サイトの下の方の画面からダウンロードできます。

Android SDK をインストールして実行すると必要なファイルをダウンロードしてくれます。


Xamarinをインストールする

公式サイトでアカウント登録してXamarinをダウンロードします。

Androidアプリを作ることを目標とし Xamarin.Android をインストールしました。
Xamarin.Forms を使うには Xamarin.iOS も必要です。


Androidエミュレーターをインストールする

開発環境にAndroidエミュレーターをインストールしておくと開発中のアプリの動作確認に便利です。
Android SDKにエミュレーターが付属するのですが動作が遅く効率が悪いです。

XamarinからVirtualBoxを使ったXamarin Android Playerという高速なAndroidエミュレーターがが公開されているのですが、このブログを書いている時点では Xamarin Android Playerはサブスクリプションを支払っているXamarinユーザーにライセンスを提供しているようです。英訳が間違っていたらすいません。
http://developer.xamarin.com/guides/android/getting_started/installation/android-player/

マイクロソフトからWindows Professionalエディション向けにHyper-Vを使った Visual Studio Emulator for Androidが公開されてます。
HomeエディションのWindowsでは使えません。

どちらの使用条件にも当てはまらない場合は、実機を使うか、Android SDK付属のエミュレーターを使うか、自分でVirtualBoxにx86版Androidをインストールするか、BlueStacks などをインストールすれば動作確認できます。

[Android] Android4.0をVmwareやVirtualBoxで起動する (2012年のブログです)
[Android] 高速Androidエミュレーター・BlueStacks (2013年のブログです)


Visual Studioの設定を忘れるとエラーになる

Visual StudioのAndroid SDKのパスが未設定のままだと次のエラーが出ました。
値をNullにすることはできません
パラメーター名:path1

Visual Studioの
ツール - オプション
からAndroid SDKのパスを設定すればこのエラーは起きません。


Visual Studioを起動してXamarinをアクティベーションする

Visual Studio 2015を起動して
ファイル - 新規作成 - プロジェクト
を開くとVisual C#のカテゴリー内にAndroidがあります。

名前とソリューション名を入力してOKをクリックしたら準備できました。

log inをクリックしてXamarinアカウントのメールアドレスとパスワードを入力したらBusinessエディションとしてアクティベートされました。


動作確認する

新規のプロジェクトを作るとボタンをクリックした回数を表示するアプリのソースが自動でインポートされます。
エミュレーターでも実機でもこのアプリが動作すればインストール成功です。

Visual Studioの実行ボタンでどのエミュレーターを使うか選んで実行できます。

試しにボタンのクリックイベントをデリゲートからラムダ式に書き換えてみましたが、あっさり動作しました。

今までAndroidアプリは動作の遅いEclipseやAndroid Studioを使ってJavaで作ってきたので、Visual Studioで書いたC#のコードが動くのが信じがたい気分です。


アプリを作るには

Xamarinを使ってでできること・できないこと、Javaとの違いなどを把握する必要があります。
日本語で説明されているエクセルソフトの入門ガイドを参考にすると取っつきやすいと思います。
http://www.xlsoft.com/jp/products/xamarin/android_hello_world.html


Xamarin.Formsプロジェクトでエラーがでたら確認するべきこと

サブプロジェクト'XamarinForms.iOS' の作成中にエラーが発生しました

Xamarin.Formsのプロジェクトを作る場合、iOSアプリを作らなくても Xamarin.iOS SDK がインストールされている必要があるようです。
Xamarinのインストーラーで Xamarin.iOS SDK をインストールすればこのエラー解決します。
エラーを無視して進めても Xamarin.iOS SDK がなければビルドできません。

どうしても Xamarin.iOS SDK をインストールしたくない場合は、ソリューションの中の Xamarin.Forms.iOS をプロジェクトをアンロードします。


メリット

Xamarinを使ってみて感じたメリットです。
  • Visual Studio で開発できる (Windowsのみ)
  • xamarin.Formを使えば複数のプラットフォーム向けにアプリをビルドできる


デメリット

デメリットもあります。
  • JavaやVB.NETでプログラミングできない
  • OS毎に開発が必要な部分がある
  • Mac用やiOS用にビルドするにはMacとXcodeなどが必要
  • ゲームエンジンUnityのAndroid向けプロジェクトをインポートできない

Businessエディションを使い続けるには年間サブスクリプションが必要です。


関連ブログ

Android Studioを使ってみました
[Android] Google Play Services APIを使うアプリが動かなくなった
[Unity3D] Unity5のプロジェクトをAndroid Studioにインポートする方法
[Java] Android StudioやEclipseのお節介な警告を消す方法
[Android] アナログ時計アプリをライブ壁紙に改造する
Live2Dを使ってみました

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

2016年2月6日土曜日

[Blender] Pythonで複数の設定を一瞬で編集する方法

How to automate editing in Blender

3次元CG編集ソフトBlenderはPython言語で機能拡張やバッチ処理をすることができます。
マイクロソフトOfficeシリーズがVisual Basic Application言語でマクロを実行できるのに似ています。
Pythonのスクリプトを使ったら無数のボーンの設定をもれなく一瞬で編集出来たのでその方法をまとめてみました。


環境

  • Windows 8.1
  • Blender 2.75a


Python言語の特徴

Pythonを他のプログラミング言語に比べた場合、特に次の2点が気になりました。
  • 変数名の宣言が不要
    変数名のタイプミスに気付きにくいです。
  • if文やfor文の入れ子はインデント(段落)で記述する必要がある
    見やすさのためではなく仕様です。
オブジェクト指向やラムダ式なども採用されているのでC#やJavaやVB.NETの経験者ならすぐに扱えると思います。


入門編・全てボーンの名前を表示してみる

ここからBlenderを使った説明です。
どのエリアでもいいので Python Console を開きます。

上の画面に映っているキャラクターはポケットクエリーズのクエリちゃんです。
3D ViewのObject Modeでボーンを選択した状態で Python Console に次のコードをコピーペーストします。
※改行やインデントのスペースは省略できません。


青い文字でボーンの名前が全て表示されました。


実用編・ボーンを移動禁止に一括編集する

下の画像はモデルデータを編集中の画面です。
Pose Editorでクエリちゃんの頭のボーンを間違って移動させたらこんなことになってしまいました。

人型モデルにポーズをつけるときはボーンの移動を禁止したほうが安全に操作できると思います。
移動禁止にするにはTransformのLocationのX・Y・Zそれぞれをロックします。

モデルによっては40個以上もあるボーンを一つずつ移動禁止にするのは骨の折れる作業です。
Pythonスクリプトを使えばこのような作業は一瞬で済みます。

3D ViewのObject Modeでボーンを選択した状態で Python Console に次のコードをコピーペーストします。
※改行やインデントのスペースは省略できません。


これで選択したボーンが全て移動禁止になりました。


オブジェクトやプロパティはツールチップに表示される

入力欄にマウスポインターを補バーさせるとオブジェクトやプロパティがツールチップに表示されます。
スクリプトで変更したいプロパティ名はこの方法で調べられます。



関連ブログ

BlenderのモデルデータをMMDに変換する方法
[Blender] ボーンを曲げてもメッシュが曲がらない原因と修正方法
3次元CGソフト・Blenderの脱初心者を目指す
クエリちゃんMMDモデル更新
[Unity3D] 画面表示を左右反転させる方法
[Unity3D] 二つのscene(シーン)を一つにまとめる方法
[Unity3D] サイドバイサイドで立体視できるゲームを作るには
[Blender] obj2opengl.plをJava用に改造する
[Unity3D] Blender could not be found.を解決するには
[Unity3D] Unity4からUnity5へのバージョンアップでの変化

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