Home > PC

PC Archive

3D素材 – 電マ (電気マッサージ器)

トラたま(略) つん(原作)の作成した3Dエレベーター素材です。

使用例↓
電マ使用例

たいしたこと無いですが、「それでも欲しい」という方に以下の条件で配布いたします。

  • 配布条件
    • 商業漫画・商業イラスト、および収益の見込みがある同人誌で使用する
    • 利用者が漫画家、イラストレーターである
    • 過去に 3D素材を利用した原稿を作成した実績がある

素材を利用されたい方はtwitter@nawokiまでリプをお願いします。
※当然ですがお金は頂きません。

3D素材 – 高層ホテルのエレベーター

トラたま(略) つん(原作)の作成した3Dエレベーター素材です。

使用例↓ 手前の壁は非表示になっていますが、一応展望エレベーターです。

エレベーター使用例

たいしたこと無いですが、「それでも欲しい」という方に以下の条件で配布いたします。

  • 配布条件
    • 商業漫画・商業イラスト、および収益の見込みがある同人誌で使用する
    • 利用者が漫画家、イラストレーターである
    • 過去に 3D素材を利用した原稿を作成した実績がある

素材を利用されたい方はtwitter@nawokiまでリプをお願いします。
※当然ですがお金は頂きません。

cintiqが線画表示に適さないので、一瞬だけメインディスプレイに表示するプログラム

本家とらたま袋の漫画家さんが、cintiqを使ったマルチモニター環境で作業しているのですが
「cintiq上で線画を表示すると鮮明すぎてギザギザが目立つ。
できればメインディスプレイに表示したい」
と、ぼやいていたので、久々にHSPなぞを弄って簡単なプログラムを書きました。

ほんとはコミスタの機能で、ウィンドウのクローンが表示できるんですけど、
マシンスペックの都合だったり、
(cintiqが右側なので) [メニュー] - [ファイル]の位置が左端に移動しちゃうと困ったり、
いろいろ上手い具合に行かないようですね。

さて、問題のプログラムですが、しょうもないコピペプログラミングですので、
実行ファイルではなくサンプルスクリプトとして記載したいと思います。

サブディスプレイの内容をメインに最前面&全画面で20秒間表示

HTML:
  1. #uselib "gdi32.dll"
  2. #cfunc CreateDC "CreateDCA" sptr,sptr,sptr,int
  3. #func DeleteDC "DeleteDC"  int
  4. #func BitBlt "BitBlt" int,int,int,int,int,int,int,int,int
  5.  
  6. #define NULL        0
  7. #define SRCCOPY     0x00CC0020
  8. #define CAPTUREBLT  0x40000000
  9.  
  10. // モニター情報の取得(擬似モニターを含む)
  11. #module
  12. #uselib "user32.dll"
  13. #cfunc  EnumDisplayMonitors "EnumDisplayMonitors" sptr, sptr, sptr, int
  14. #func   GetMonitorInfo      "GetMonitorInfoA"     sptr, sptr
  15.  
  16. #define FALSE                   0
  17. #define TRUE                    1
  18. #define NULL                    0
  19. #define MaxMonitors             16
  20. #define MaxRectParameters       4
  21. #define MaxParameters           5
  22. #define Prm_API                 0
  23. #define Prm_max                 1
  24. #define Prm_cnt                 2
  25. #define Prm_idx_primary         3
  26. #define Prm_ptr_rects           4
  27. // 初期化 ret = GMIinit( 最大値 );
  28. //        最大値は数えるディスプレイの最大数。1以上MaxMonitors以下の値。
  29. //        成功ならretは0以外の値、失敗なら0。
  30. #defcfunc GMIinit int max;
  31.         if ( (max <1) || (max> MaxMonitors) ) {
  32.                 return FALSE;
  33.         }
  34.  
  35.         dim  prm,    (MaxParameters + 1);
  36.         dim  rects,  ((max + 1) * MaxRectParameters);
  37.         dim  bin,    (23 + 1);
  38.         mref a_stat, 64;
  39.  
  40.         bin( 0) = 0x83ec8b55, 0x5653d8c4, 0x145d8b57, 0x28d845c7, 0x8d000000;
  41.         bin( 5) = 0x8b50d845, 0xff520855, 0x75c08513, 0xebc03304, 0xfc558b2e;
  42.         bin(10) = 0x7501fa83, 0x084b8b06, 0x8b0c4b89, 0x538b0843, 0x04e0c110;
  43.         bin(15) = 0x8b104d8b, 0x0004b9f1, 0x3c8d0000, 0x0001b802, 0xa5f30000;
  44.         bin(20) = 0x5f0843ff, 0xe58b5b5e, 0x0010C25D;
  45.         prm(Prm_API)         = varptr(GetMonitorInfo);
  46.         prm(Prm_max)         = max;
  47.         prm(Prm_cnt)         = 0;
  48.         prm(Prm_idx_primary) = 0;
  49.         prm(Prm_ptr_rects)   = varptr(rects);
  50.         ret = EnumDisplayMonitors(NULL, NULL, varptr(bin), varptr(prm));
  51.         return ret;
  52. // ディスプレイの数を取得しstatに格納。失敗は負数。
  53. #deffunc GMIcnt
  54.         if (ret == FALSE) {
  55.                 a_stat = -1;
  56.         } else {
  57.                 a_stat = prm(Prm_cnt);
  58.         }
  59.         return;
  60. // プライマリー・ディスプレイのインデックスを取得しstatに格納。失敗は負数。
  61. #deffunc GMIprimary
  62.         if (ret == FALSE) {
  63.                 a_stat = -1;
  64.         } else {
  65.                 a_stat = prm(Prm_idx_primary);
  66.         }
  67.         return;
  68. // 指定したディスプレイの、仮想画面内の座標を取得。
  69. //     ret = GMIrect(idx, rect);
  70. //       成功 : retは0以外。rectに座標を格納。
  71. //              rect(0) : 左上X座標, rect(1) : 左上Y座標,
  72. //              rect(2) : 右下X座標, rect(3) : 右下Y座標
  73. //       失敗 : retは0。    rectは不定。
  74. #defcfunc GMIrect int idx, array rect
  75.         if ( (ret == FALSE) || (idx <0) || (idx>= prm(Prm_cnt)) ) {
  76.                 return FALSE;
  77.         }
  78.         work    = idx * MaxRectParameters;
  79.         rect(0) = rects(work + 0);
  80.         rect(1) = rects(work + 1);
  81.         rect(2) = rects(work + 2);
  82.         rect(3) = rects(work + 3);
  83.         return TRUE;
  84. // 後始末
  85. #deffunc GMIclear
  86.         dim prm,   1;
  87.         dim rects, 1;
  88.         dim bin,   1;
  89.         ret = FALSE;
  90.         return;
  91. #global
  92.  
  93. // ======================== 使用例 =========================
  94. ; ウィンドウ非表示
  95. screen 0, 150, 50 : gsel 0, -1;
  96. wait 50;
  97.  
  98.  
  99.         dim rc, 4;
  100.         ret = GMIinit(4);       // 最大4画面分の情報を取得する
  101.         GMIcnt;
  102.         ret = GMIrect(1, rc);
  103.         subwx0 = rc(0);
  104.         subwy0 = rc(1);
  105.         subwxx = rc(2);
  106.         subwyy = rc(3);
  107.         GMIclear;       // 使わなくなったら呼び出す
  108.  
  109. ; デスクトップ画面のサイズでバッファ画面を作成
  110. sx = subwxx - subwx0 : sy = subwyy - subwy0
  111. buffer 2, sx, sy
  112.  
  113. ; デスクトップ画面のデバイスコンテキスト取得
  114. hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL)
  115.  
  116. ; デスクトップ画面の画像をコピー
  117. BitBlt hdc, 0, 0, sx, sy, hdcScreen, subwx0, subwy0, SRCCOPY | CAPTUREBLT
  118.  
  119. ; デバイスコンテキスト削除
  120. DeleteDC hdcScreen
  121.  
  122. bgscr 1, ginfo_dispx, ginfo_dispy, 0, 0, 0, : gsel 1,2
  123. gcopy 2, 0, 100, ginfo_dispx, ginfo_dispy
  124.  
  125. wait 2000
  126.  
  127. end

※HSPのコード表示がなかったので、表示がHTMLになってますがご了承下さい。

ある程度環境を選びませんが、当然cintiqがメインディスプレイになっていると
cintiq側に表示してしまうという、逆の動作をします。

今回参考にしたのはこちら

ですので、照らし合わせて数値などを変更していただけば
思い通りの動作になると思います。

プログラミングだかなんだかもうチンプンカンプンだーってんで
実行ファイルだけ欲しい方はtwitter@nawokiまでどうぞ。
リプが無くても泣かない。利用は自己責任。絵を描く人。
上記の条件でのみ配布いたします。(簡単にでよければ改変可能です)

絵を描かない人は……多分スクリプト目的でいらっしゃったと思うので
上記のサイトを熟読して自己解決して下さい。きっとボクよりあなたたちの方が詳しいです。

現在見ているページをサブウインドウで開くブックマークレット

調べたら無かったので初めてブックマークレットなるものを作ってみた。
このページをサブウインドウで開く

JavaScript:
  1. javascript:window.open(location.href, "window_name", "width=800,height=600,scrollbars=yes");

JavaScript全く分からないので、サイズ指定しなくて済む方法がわかりません。
800*600ででかすぎる場合は適当に弄ってください。

「サブウインドウ」という呼び方は共通だと思うけど、調べ方が悪かったのかな。
Chromeで動作確認。他はシラネ

ComicStudioEXでBambooのTouch機能を使う覚え書き。

なぜか非対応なComicStudioEXでBambooのTouch機能を使う覚え書き。

  • C:\Program Files\Tablet\Pen (※Pen&Touchの場合)
    にあるAppGestures.xmlをnotepadで開く。
  • 下の方にComicStudioMini用の設定があるので("Comic"とかで検索すると楽です)
    <ArrayElement>~</ArrayElement>ごと真下にコピペ。cs_mini→cs_exに変更。
    なお、この<ArrayElement>~</ArrayElement>が一つのプログラムに対する設定群です。
  • 再起動 or Pen_TabletUser.exe をタスクマネージャーから強制終了して再度実行

なぜComicStudioMiniにしか設定されていないのかはわからないけど、とりあえずこれで完動します。
各項目のamountの値を変えれば使用感の調節が可能です。
値を大きくするか小さくするかすれば感度が変わるかと思います。(これは未検証なので各自いじってみてください)

Aterm BL190HW にUSBストレージを接続する (FAT32フォーマット)

家のネット回線をauひかりに変えたら、すげーモデムが来ました。
どうもこれ、「モデム」って言わないで「ホームゲートウェイ(HGW)」と言うらしい。
なんとUSBストレージを繋げるとNASになる!

Aterm BL190HW 製造元HP(NEC) au光ギガ得プラン

KDDIといえばあの……(自主規制)……なので、あまり期待していなかったのですが、
案の定、このHGWの評判はも悪いらしいです。
性能限界に問題があって、速度が出ないとかなんとか。
しかも他会社(NTTやTEPCO)と違って、自前のルーターには絶対に置き換えられないらしい。
参考URL:HGW(ルーター)の性能限界について ISP へご相談

個人的には回線終端装置(ONU)もちゃっちくって心配。NTTのと比べてかなり安っぽいです。
Yahoo!BBが猛威を奮っていたあのころのモデムを彷彿させるスカスカ感。大丈夫かしら。
本当にNTTだったころの100Mbpsから1000Gbpsになるのかしら。今のところ40Mbpsも出てないのだけれど。

さらに心配なのは、HGWに対して、こちらで何の設定もしなくていいということ。
BIGLOBEが無料出張設定サービスをしてくれるというのだけど、(丁重にお断りしました)
いったい全体なにを出張サービスするつもりなのでしょう。
ONUからHGWにLANを繋いでハイ終了ですよ。
設定画面開いても、Userアカウントなりパスワードなり、そういった設定が皆無。自分でも信じられません。

こちらで設定しなくてもいいということは、逆に、設定変更も不可能ということ。
今後なにか設定の変更が必要になった場合、どうするつもりなんでしょうね。
まさか出張料を支払って、工事の人が来て……みたいな流れになるんでしょうか。
かなりあやしいので、しっかりその辺をあらかじめ確認しておかないと心配です。

 

さて、
このHGWがNASになるということで、とりあえずImationの2GB USBメモリを刺してみたところ
いとも簡単に、なんの設定も必要なく、ドライブ全体が共有フォルダとして認識されました。

すげ……

自分で2台のWindowsXPを共有させるのですら、細々とした設定が必要だったのに……。
もうセキュリティに不安を残しつつPCを共有させる必要もなくなってしまいました。

しかし、2GBではさすがに用を為しません。せめて100GB程度なくては。というわけで、
買い換えに次ぐ買い換えで放置されていた、お古の外付けHDDを引っ張り出して共有してみることに。

が、認識せず。
お古のHDDは2台ともダメ。ほぼ使ってないバックアップ用のHDD(1TB)もダメ。

どうも、NTFSでフォーマットされたストレージは認識しないみたいです。
参考URL:HGW(BL190HW) USB ストレージでファイル共有
さすがauの採用HGW。旧世代すぎます。

しかも、auひかりのサポートには「動作確認済みUSB機器一覧」しか掲載されてなくて
詳細な対応規格が明記されてません。
確認済みHDDにも脈絡がなく (~シリーズみたいに表記されていない)
容量制限の問題なのか、相性の問題なのか、フォーマットの問題なのかすら、ユーザー側では判然としないのも困りもの。

今時どこを探せばFAT32のHDDがあるんでしょうね。ま、たしかに購入時はFAT32のものが多いかもしれませんが。
WndowsXPは32GB以上のストレージに対して、NTFSしかフォーマットタイプの選択肢が現れないので
一度XPでフォーマットしてしまうと、XPでは通常の方法でFAT32にフォーマットできない
んですよ? 頭おかしいです><
これじゃ確認済みHDD買ってきても、NTFSでフォーマットしちゃって認識できない!
……みたいなことが容易に発生しそうです。

 

自前の外付けHDDはWndowsMe時代に使っていたモノですが、やはりXPでフォーマットしてあります。
FAT32にしてやらないと認識しません。

方法としては

  • 98系Windowsでフォーマットする
  • Linuxや98系起動ディスクでフォーマットする
  • 専用フォーマットソフトを使う

しかないのですが、
98系WindowsはそもそもNTFSのドライブを認識しないため不可。
Linuxや98系起動ディスクはすぐに用意できないので割愛。
というわけで「専用フォーマットソフト」を探してみました。

窓の杜 - 【NEWS】32GB以上のディスク領域をFAT32でフォーマットできる「Fat32Formatter」

Disk Formatter(BUFFALO)

ナレッジ系サイトで紹介されているソフトで、日本語のものはこの2つぐらいしかありませんが
自分の環境ではどちらも不可能でした。(Fat32Formatterに至っては起動すらしない)
で、どこでも紹介されていませんが、自分はこのソフトが使えました。

ハードディスクFAT32フォーマッタ(再フォーマットガイド) (I/O DATA)
(やってることはクイックフォーマットのようで、処理は一瞬です。)

さて、FAT32にフォーマット出来て準備万端、早速接続してみたところ……

やはり認識しない!!

うーん……
実はDIU-B120GというBUFFALOの外付けHDDを使っているのですが、
時代が時代だけあって、IEEE接続とUSB1.1接続が可能なタイプで
今主流のUSB2.0接続では無いんですよね、これ。

というわけで試しに外付けHDDを分解しまして、
IDE→USB2.0変換アダプタにて接続したところ
ようやく認識されることとなりました。

USB2.0ポートは下位互換しているハズなので、USB1.1でも大丈夫かと思ったのですが
こういった機器のUSBポートはPCと仕組みが違うので、なにが起きるかわかりませんし、
とりあえずUSB1.1にも対応していないという認識でよさそうです。

まとめると
Aterm BL190HWはフォーマットタイプFAT32およびUSB2.0接続のみ対応
NTFSおよびUSB1.1/1.0は認識できない
という感じです。
みなさんもお気をつけ下さい。

 

余談。

今回、外付けドライブのケースを開けてみるを参考に
DIU-B120Gの分解を行いました。
IDE→USB2.0に変換して接続したところ、認識したのはいいのですが、
HDDを露出したまま放置するのは少し気が置けるので、なんとかケースに収まるよう改造してみました。

・DIU-B120GにはACアダプタが内蔵されているので、それを利用する。

これは普通に可能でした。内蔵のIDEケーブルになにも接続しなくとも、給電が行われました。

・ケース内に変換アダプタを収納する。

これはそのままではまず不可能でした。電源装置が邪魔をしてアダプタ部が入らないし、
アダプタ自体のコードがケースをはみ出してしまいます。
(使用した変換アダプタはこちら)

前者は無理矢理電源装置を外に出して(眼球飛び出ちゃった的な状態)、後者は無理矢理ケースをぶち抜いて
全体的に無理矢理対処。埃が入るので、開いた穴はガムテで補修。
かなり力ワザですが動作上なにも問題なし。そもそも廃熱機構なんて無いですから。

状態があまりに醜いので画像とか無しです。ごめんなさい。

twitterのプロフィールからスパムが大量にやってきた件

4月ぐらいから、twitterのプロフィール(URL)を拾った自動スパムが、うちにやってくるようになりました。

最初はそのプロフィール欄に『 http://t3.xii.jp/nawo 』と表記していたのですが、
どういうことかこれが都合よく『 http://t3.xii.jp/... 』という具合に縮められまして、
本家トラたま袋( http://t3.xii.jp/ )の方にスパム被害の大半が行っていました(汗)

どうもこの欄は数文字しか表示できないようなので(URL書くところなのに!!)
本家トラたま袋のURLが含まれない表示に変更したところ、
本家トラたま袋へのスパム被害がほぼ無くなりました。

なお、今回は短縮URLサービスのbit.lyを使ってURLを偽装(?)しました。
継続的に表示させる場所で、短縮URLサービスのようなインスタント的URLを使うのは
ちょっとナンセンスで本末転倒な感があるんですけど、
スパム被害を防ぐためには背に腹は代えられないです。

裏たま袋にはAkismetを有効にしていませんが、
プロフィール欄を短縮URLに変えてからスパム自体がぐっと減りました。
短縮URLサービスのリダイレクト処理が、自動スパムには苦手なのかも。

そもそも自動スパムが拾ってたのが、<a href="">の内容じゃなくて
画面上に表示されていた部分だったので、
TinyURLあたりの、もうすこし長めの短縮URLサービスを利用すれば
URL自体が拾えなくなる可能性もありますね。(短縮URLは一部でも欠けたら完全に意味がないので)

MicrosoftOfficeをインストール中、ディスク容量計算で止まる

必要なディスク領域を計算しています。しばらくお待ちください。

で止まって先に進めない場合の対処方法。
自分の環境では、上記ダイアログが表示されてから何分まってもインストールが開始されないので
以下の自動インストールを参考にしてインストールしたところ、無事インストール出来ました。

参考URL:

http://d.hatena.ne.jp/tkssoft/20070311/p1

1.Office 2003をCD-ROMからサーバの共有フォルダなどにコピーする。

※ここではファイルのコピー先を[ M:\office ]とする。

※[コントロールパネル]-[フォルダオプション]の表示タブにて

[すべてのファイルとフォルダを表示する]にチェックをしてから行うこと。

2.Office 2003 Setup.exe (拡張版)への置き換え。

a)EntSetup.exeダウンロードする。

b)ダウンロードしたファイルを実行して、任意のパスに展開する。

c)展開先のSETUP.EXEをOffice 2003の既存のSETUP.EXEに上書きする。

上記は「自動インストール」の方法(会社などで何台も同時インストールする場合のやりかた)なので、この後も説明が続きますが、自分はこの時点でインストールを実行したところ「必要なディスク領域を計算しています。しばらくお待ちください。」という表示に行かず、「標準インストール」か「カスタムor最小インストール」かを選ぶ画面に進むことができ、インストールできました。

ホーム > PC

カテゴリー
タグクラウド
アーカイブ
RSS トラたま袋の新着
フィード

Return to page top