mieki256's diary



2024/07/04(木) [n年前の日記]

#1 [neta][cg_tools] 作画崩壊カットを画像生成AIで修正できないものだろうか

一応手を動かして実験していたけど、これはほとんど妄想メモ。

ここ数日、画像生成AIツールの Stable Diffusion web UI Forge版で、顔の入れ替えができないものかと試していたのだけど。そこでふとなんとなく妄想してしまった。

コレを使ったら、深夜TVアニメでたまに見かける作画崩壊カットを修正できたりするのでは…? 顔を入れ替えるだけでも印象が違ってくるのではないか…?

もし、画像生成AIを使って修正ができるなら、かなりメリットがありそうな気がする。絵描きさんじゃなくて、直接絵を描かない業種の人でもそのカットをガンガン修正できるわけだから…。演出家さんでもいいし、撮影さんでもいいし、制作進行さんでもいい。手が空いてる人さえ居れば誰でも修正作業ができてしまうはず。

でも、本当にそんなことができるのだろうか。気になったので少し試してみた。

ReActorはダメだった :

まずは Stable Diffusion web UI Forge + img2img + ReActor で、アニメ絵の顔の入れ替えができるか実験。

これはダメだった。ReActor の参考画像(元画像)に、写真ではなく、「モナリザ」「真珠の耳飾りの少女」等の絵画を指定してるサンプルが多いのでイケるかなーと思ったのだけど、残念ながら書き換えられる側の画像(対象画像。ターゲット画像)に対して、顔がある部分を認識することができなかった。

顔認識に失敗した理由は不明。アニメ絵はえてして目が大き過ぎるので、人間の顔として認識できないのだろうか。それとも、作画崩壊カットは人間の顔とは思えぬ顔パーツの配置になってるということなのか…。後者だったらなんだかちょっと面白い状況かもしれない。AIにすら、「この画像の中に人間の顔は存在しないと思われます」と判断されていることになるし…。

Reference onlyもダメだった :

img2img + ControlNet + Reference only も試したけれど、ダメだった。元々の作画崩壊カットより、更に作画崩壊している状態になった。見ているだけでこちらの精神が病んでしまいそう。この生成結果画像を見た後で、元々の作画崩壊カットを目にしたら、「なんだ。結構整ってるやん…全然アリやん…」と思えてしまった。そのくらい、この変換結果はヤバイ。

Reference only は、参考画像からそれほど離れていない構図じゃないと、すぐに破綻してしまうようだなと…。

OpenPoseはそこそこ良さそう :

OpenPose という、ポーズを指定するためのフォーマット画像があるのだけど、コレを使ってみたところ、そこそこイイ感じの結果が得られた。ただ、顔以外の部分も ―― 服装その他も大きく変わってしまうけど…。手作業で顔の部分だけ切り抜いて貼り付ける感じになりそう。

一応手順をメモ。元の作画崩壊カットを下絵にして、openpose-editor で、目の位置、耳の位置、鼻の位置、首の根本、肩の位置を決めて、img2img の ControlNet に送信。

_fkunn1326/openpose-editor: Openpose Editor for AUTOMATIC1111's stable-diffusion-webui

モデルデータは、animelike25D_animelike25DV11Pruned.safetensors を使用。

これで、元の作画崩壊カットと比べたら「おおー」と思える画像を生成することができた。このレベルなら作画崩壊なんてまず言われないだろう…。

実験結果画像を載せたいところだけど、著作権的にアウトだろうから見せられないのが残念…。元になった作画崩壊カット画像も一緒に出して比較しないと意味がないだろうけど、その画像を載せたら「違法。捕まるよマジで」と言われちゃうだろうし。こういうのって研究(?)のための引用の範疇として許してもらえないものだろうか…。

自分で新規に作画崩壊カットを描けばいいのかな。それもなかなか難易度高そう。新規に描くと変換しやすい画を最初から無意識に描いてしまう気がする…。それじゃダメなのだ…。人工モノではなく、天然モノの崩壊具合がそこに無いと実験にならない…。

問題点 :

問題点もいくつか見えてきた。

一つは、利用する学習モデルデータによって絵柄が決まってしまう点。今回は、animelike25D という、TVアニメ風の絵柄を学習したモデルデータを利用したので、パッと見はTVアニメ風/セルルックな画像が生成されたけど、作画崩壊を起こしていた某作品の絵柄とは違うわけで…。今回生成した画像が本編内でポンと出てきたら「誰やコレ」と言われてしまうだろうなと。いやまあ、そもそも元の作画崩壊カットも「誰やコレ」なのだけど。

ただ、このあたりは LoRAと呼ばれる追加学習モデルを作ることで解決できそうな気もする。学習モデルデータを作るためには膨大な数の画像が必要になるからおいそれと作れないけれど、LoRA なら数十枚の画像で作成できるらしいし…。

もう一つは、動画には利用できないであろう点。止め絵+口パクしかしないカットなら全然使えるかもしれないけれど、横から見た図で全力疾走する女の子とか、その場でクルクルと回る女の子とか、あるいはほんのちょっと顔の向きか変わるだけのカットすら使えないだろうなと…。

更にもう一つ。色を塗ってある画像じゃないと利用できない気がする。線画だけではどこに何があるのかAIが認識できないはず。だから動画の段階で「これはマズイ。修正しよう」というわけにはいかなくて、一旦最後まで作画崩壊カットを崩壊したまま仕上げないといけないはず。それもそれで、なんだかな…。

技術があっても使われない :

少し実験してみたことで、画像生成AIを使えば作画崩壊カットをそこそこ修正できる可能性がありそうだなと思えたのだけど。こういう技術があっても実際には使えない/使われないだろうとも思えてきた。

作画崩壊カットがTVで流れるということは、現場は時間的余裕が全くなくてギリギリの状態で作ってるはずだから、修正のための時間すら1秒たりとも捻出できないだろうと…。修正するためのツールの学習や、そういう事態が起きた時のための特殊な作業フローの構築をする余裕なんて無さそう。「どうせそのうち事故を起こすからその時のために今のうちから準備しておこう」なんて言ってる余裕は無さそうだなと…。

こういった技術を利用できるように環境を整えることができるスタジオや制作現場では、上手いアニメーターさんもちゃんとゲットできているだろうし、作業時間その他もそこそこ余裕がありそうだし、であれば今までと同じやり方で修正していけば済んでしまうので、こういう技術は最初から必要とされないはず。

技術が欲しい場面では導入してる余裕がないし、導入できる余裕があるならこんな技術はそもそも要らない。だから、結局誰も使えないし、使わない。そういうオチになりそう。

2023/07/04(火) [n年前の日記]

#1 [nitijyou] 低血圧のせいだろうか

まだずっとめまいが続いている。血圧はどうなのかと、親父さん達が使っている血圧計を借りて測ってみたところ、106-67の値に。ググった感じでは、上が100を切ったらちょっとマズいらしいけど、そこまでは行ってないっぽいなと…。ただ、低血圧が原因で起きる症状を調べてみたらめまい云々も含まれていたので、もしかしたらコレじゃないのかと…。

2022/07/04(月) [n年前の日記]

#1 [nitijyou] 腹痛で大変だった

おそらくだけど、また尿路結石の痛みが出て苦しんでた。
ロキソニンを飲んでもこんなに痛いのか…と絶望的な気分になるぐらいの痛みだった。ただ、あらかじめ薬を飲んでいたせいか、前回のように何度も吐くほどの痛みにはならかった。とは言っても、布団の上でゴロゴロとのたうち回るぐらい痛かったけど…。

19:00頃、あまりに痛いので、ロキソニンを追加で飲んだ。本来最低でも4時間ほど間隔を空けて飲むこと、となっていたのだけど、どうにも耐えられなくて…。4時間も3時間もたいして変わらんだろと勝手に決めつけて飲んだけれど、何かしらの効果があったのかどうかは不明。追加で飲んでも、その後もずっと痛かった。

トイレで小さいほうをしたら血が出ていたので、やはりコレは尿路結石なんだろうなと。

前回この症状が出たのは… _2022/04/16 だったらしい。2ヶ月半で再発ということになるのだろうか。メモを確認したら、前回は19:10頃から痛み出して、21:40頃に病院を出たと書いてあった。自分の場合、2時間以上は痛みが続くようだなと。

2021/07/04() [n年前の日記]

#1 [love2d] ffmpegの指定例のまとめ

ffmpegを使って、RGBA動画のアルファチャンネルと、RGB部分を、上下に並べた動画を作成する手順を、忘れないうちに再度メモ。

要するに、以下のような見た目の動画を作りたい。

comb_frame.png

どうしてこういう見た目の動画を作りたいのか。それは、アルファチャンネルを含めることができない動画フォーマット(.ogv等)を使いながら、アルファチャンネルを適用しているかのような見せ方をするため。例えば love2d は、ogvフォーマットしか扱えないので、こういう頓智(?)が必要になる。

draw_video_alpha2_about.png

環境は、Windows10 x64 20H2 + ffmpeg version 4.4-full_build-www.gyan.dev。

連番画像からRGBA動画を作成。 :

blender等で出力した、アルファチャンネルを含む連番画像(.png)を、RGBA動画に変換。
ffmpeg -framerate 60 -i ..\render\%04d.png -vcodec utvideo rgba.avi
  • -framerate 60 で、60fps を指定。
  • -i %04d.png で、0001.png - xxxx.png といった連番画像を指定。
  • -vcodec utvideo で、UtVideoフォーマット(可逆圧縮。アルファチャンネルも格納可能)を指定。
  • 最後に、出力するaviファイル名(rgba.avi)を指定。

アルファチャンネルを白黒動画として取り出し。 :

RGBA動画から、アルファチャンネルだけを白黒動画として取り出す。
ffmpeg -i rgba.avi -vcodec utvideo -vf alphaextract mask.avi
  • -i rgba.avi で、入力動画ファイル名を指定。
  • -vf alphaextract で、アルファチャンネルのみを取り出すことを指定。

RGBA動画の背景に黒一色の画像を合成。 :

事前に、動画サイズと同じサイズの、黒一色の背景画像(black.png)を用意して、RGBA動画をその上に合成する。
ffmpeg -framerate 60 -i black.png -r 60 -i rgba.avi -filter_complex "overlay=x=0:y=0" -vcodec utvideo rgb.avi
  • -framerate 60 や -r 60 でFPS(フレームレート)を指定。記述する位置に注意。
  • -filter_complex "overlay=x=0:y=0" で、(0,0)の位置に2番目の動画を合成する。

映像を上下に並べる。 :

アルファチャンネルを取り出して作った mask.avi と、背景に黒を合成した rgb.abi を、上下に並べた動画を作成。
ffmpeg -i mask.avi -i rgb.avi -filter_complex "vstack" -vcodec utvideo comb.avi
  • -filter_complex "vstack" で、2つの動画を上下に並べる。

ogv (Theora and Vorbis) に変換。 :

ffmpeg -i comb.avi -c:v libtheora -q:v 10 comb.ogv
  • -c:v libtheora -q:v 10 で、ogv (Theoraフォーマット)、クオリティ=10を指定。

ここまでの指定で、以下のような感じの動画が、ffmpegのみを使って作成できる。

_comb_60fps.ogv

love2d 上での利用の仕方は、以下を参照のこと。

_love2dで2つの動画を使って動画の一部を透明に見せかける

2020/07/04() [n年前の日記]

#1 [pc] VirtualBox上でWindows98が動かない

以前、VirtualBox上でWindows98をインストールして動かしていたのだけど、ふと気づいたらまともに動かない状態になっていて結構困ってしまった。


メインPCのCPUとM/Bを交換したことで問題が発生したのだろうか…。

十数回ほど仮想PCのHDDイメージを作り直したり、VirtualBox を 6.0.12 から 6.1.10 r138449 にアップデートしてみたけれど、解決せず。何をしても動作が怪しい…。エラーが出る…。

Ryzenは仮想PC関係でバグがあるらしい。 :

AMD Ryzen 1000番台のCPUには仮想PC関係のバグがある、という話を見かけた。Windows9x のような古いOSは正常動作しなくなるバグがあるらしい。

_Important for anyone trying to run Windows 9x under a Ryzen-based Virtual Machine - Windows 9x/ME - MSFN
_Still cannot install Windows 98 SE in Ryzen 300... | Community
_Unable to get shared folders to work in Virtualbox - PC - Tech Support Message Board for PC - GameFAQs
_Windows 98 SE VM on a Ryzen 3000 not working \ VOGONS

自分のメインPCに積んでいる CPU は Ryzen 7 1700 なわけで…。だから以前動いてた仮想PCイメージが動かなくなったのか…。

Windows98は2.2GHz以上のCPUでは動かない。 :

CPUの性能が上がったせいか、Windows98の起動時に、「NDIS初期化中」「Windows保護エラー」と表示されて、起動が止まってしまう状態になった。

ググったところ、Windows95 や WIndows98 の NDIS.VXD が2.2GHz以上のCPUには対応してないせいで起きる問題だそうで。

_243199JPN8.EXE をDLして、何かしらの解凍ツール(7zip、Explzh等)で開いて、中から NDIS.VXD を取り出して、C:\Windows\System\ 以下に上書きコピーすれば解決するらしい。他の問題が発生する可能性もあるけど…。

設定で多少はマシになる瞬間もありそう。 :

設定を色々弄ってたら、若干それっぽく動いてくれた瞬間もあったりなかったり。もっとも、結局何かしらのエラーは出てしまうのだけど。

NDIS.VXD を更新後、起動直後に必ず、「powrprof.dll を読み込み中にエラーが発生しました。このアプリケーションの実行に必要なライブラリ ファイルのうちの 1 つが見つかりません。」というエラーが出てしまっていたのだけど。

win98onvbox_ss001.png

仮想PC側の設定で、システム → アクセラレーション → 「仮想化支援機能」の「ネステッドページングを有効化」のチェックを外したら、件のエラーが出ない状態になってくれた。

win98onvbox_ss004.png

一応、他の設定も列挙。

win98onvbox_ss002.png

win98onvbox_ss003.png

Windows98側の設定をメモ。 :

ちなみに、仮想PC側の設定で、ビデオカードのRAMサイズ(ビデオメモリー)は 32MB に、グラフィックスコントローラーは、「VBoxVGA」にした。

win98onvbox_ss005.png

Windows98 側では、ディスプレイアダプタとして「VBE Miniport - Standard PCI Graphics Adapter (VGA)」に更新。

win98onvbox_ss006.png

ファイルへのアクセス時にエラーが出まくる感じがしたので、マイコンピュータを右クリック → プロパティ → パフォーマンス → ファイルシステム → トラブルシューティング、で、いくつかチェックを入れてみた。

win98onvbox_ss007.png

しかしコレでもやっぱりエラーが出るのだけど…。

win98onvbox_ss008.png

2019/07/04(木) [n年前の日記]

#1 [neta] みちのく自転車道を見てきた

午前中は酷い雨だったけど、午後は雨が止んだので、犬を連れて、久々に、阿武隈川沿いのみちのく自転車道まで。

あちこちに、昼間でも薄暗い林が点在しているけれど。ふと、勝手に妖怪の木像でも作って林の中に置いたらどうなるかなー、などとしょーもない妄想をしてしまったり。自転車で走ってると、ふと視界にチラリと入る、雨ざらしで塗装が剥げて正体不明になってる謎の像の数々。なんだアレ。元々は何の像だったんだ。みたいな。それはそれでマイナーな観光名所にならないか…。無理か。

須賀川市と言えば円谷英二の出身地だし、ウルトラマンシリーズに登場する怪獣の類があちこちに立ってるほうが面白いか…。林の中に、パッと見では分からないけど目を凝らすとようやくわかる状態で、ボーッと立ってる、ボロボロになったガラモンとかバルタン星人、みたいな。まあ、使用料を払わないといかんだろうから実現は難しいだろうけど。

と言っても、乙字ヶ滝付近に設置されたモスラの卵も誰かに放火されて燃えてしまったらしいし、その手のアレコレを人気が無いところに設置するのは結構マズいのだろうな。どうせまた放火されるに違いない。しかも周辺は林だから大火事になる…。

郡山側の自転車道はそこそこ利用者が居るけれど、須賀川側に入ると一気にみすぼらしくなるのがちょっとアレなんだよなと…。どうしたってみすぼらしさが拭えないなら、逆にソレを利用して少しは面白い場所にできないものか。などと思ったりしたけど、まあ難しいよな…。

2018/07/04(水) [n年前の日記]

#1 [zatta] 暑い

部屋の中が暑い…。

2017/07/04(火) [n年前の日記]

#1 [raspberrypi] ギヤの画像を眺めてる

まだGoogle画像検索でギヤの画像群を眺めてたり。電動雲台の構成で悩んでるというか…。

Raspberry Pi3 + カメラモジュール + サーボモータ + DCモータで、パノラマ画像を撮影するソレを作ろうとしてるけど。必要なケーブルは以下のようになるわけで。
となると…。
なので、Raspberry Pi3 もバッテリーも電池ボックスも全部回転部分の上のほうに持っていければ随分と楽になるけど、当然重量面で厳しくなってグラグラするだろうから、配置だの回転する仕組みだのを工夫しないと…。

TV回転台を発掘。 :

部屋の中から、以前100円ショップで買ったTV回転台なるものを発掘。たぶん以下で紹介されてる品だろうけど。

_工具/ダイソー買出し他: ぼつのつぼ
_ダイソーの激安"回転テーブル": 極もん底値ブログ[大阪発!旅とグルメとお得情報]

コレを利用できれば色々解決する部分がありそうな気がする。が、どうやって回すか…。

一般的な工作事例では、回転台の下側、固定された部分にモータ+ギヤボックスを置いて、タイヤ等をつけて回転台の側面を回す、てな感じが多いようだけど。

_回転テーブルを回転させる ターンテーブル: トラストシステムのブログ
_電動ターテーブルの駆動をタミヤのユニバーサルギアボックスにしてみた: 今是昨非
_電動ターンテーブルの製作: 今是昨非
_緊急クエスト -電動回転台を製作せよ- - かりおかの実験室

今回は、下側には何もなく、上側に全部置きたいわけで…。

タイヤで回転台の側面を回すソレはそのまま参考にするとして、しかしどのあたりに配置すればいいのか。やっぱりギヤボックス等の現物が無いと、感じが掴めないな…。ということで Amazon にTAMIYA製ユニバーサルギヤボックスその他を注文しておいた。

それはともかく、この回転台、結構面積があるので、カメラを下に向けて撮影した際にかなりの部分が回転台で隠れてしまいそうな気がする。回転台の端にカメラを置けたら楽になるけど、そういうわけにもいかないし。回転する軸の上にカメラが無いと、撮影した各画像をパノラマ画像に変換する際の合成が面倒になる。

回転する円盤部分ができるだけ小さいほうがいいのだけど…。切り取ったら側面が無くなってしまうし…。だとしたらカメラの位置を高くするしかない、けど、それはそれで安定性が怪しくなるし、持ち運びがますます面倒になる予感。

いっそ角回転台を入手して自作するとか…。

_痛部屋 (いたべや) : がんばりました。
_痛部屋 (いたべや) : ターンテーブル5。

2016/07/04(月) [n年前の日記]

#1 [cg_tools] Affinityのベータ版があるらしいのだけど

Macユーザさんの間で評判が高い _Affinity なるドローツールがあるらしいのだけど。その Windows版が開発中でベータ版を使えるらしいので試してみたり。メールアドレスを登録するとDLページのURLが書かれたメールが届くっぽい。

インストールしてみたけど…。そもそも起動しない…ぜ…。さすがベータ版。Windwos10 x64 上では動かないのだろうか。イベントビューアで確認したら、.NET Runtime 関係でエラーが出ているっぽい。何かインストールしないといけないランタイムでもあるのだろうか。

#2 [anime][neta] アニメを見るのもそろそろ限界なのかもしれない

7月から始まるBS放送分のアニメの録画予約をしていたら、HDDレコーダ RD-BZ710が「これ以上録画予約はできません」と言ってきて。軽くショックを受けてしまった。

そうか…。とうとうBS放送のアニメの本数だけでも、HDDレコーダの予約可能数を超えてしまうほどに増えてしまったのか…。これはもう色んな面で、そろそろ限界かもしれない。と言うか、ここまで増えるなんてアニメ業界も末期なのでは…。

いやまあ、古いHDDレコーダなのでスペックがヘボイだけ、という気もするのだけど。にしても当時は、「この予約数で十分過ぎるやろ」「そんなに録画するわけないだろ」と思いながら開発者達がスペックや仕様を決定してたのだろうし。あらゆるジャンルを録画しようとしているわけでもなく、アニメだけに絞っているのにコレだもの。恐ろしい時代になってきたなと。 *1

とりあえず、仕方ないから再放送のアニメについては録画しないことに。たとえどれほどの名作が再放送されていたとしても、予約数をオーバーしてしまっては録画のしようもないし、録画できないのだから見れるわけもない。諦めるしかないよなと。

それとは別に。日曜深夜というか月曜早朝の同じ時間帯に、アニメ番組が4本も重なって放送されることに今頃気が付いて、それもそれで呆れてしまったり。ずらせばまだなんとか見てもらえるかもしれんのに、どうしてぶつけ合うのかね…。こんなに重なってしまったら、視聴してもらえるチャンスを、間違いなく自ら潰してるよなと。

そのあたりの時間帯は、おそらくは局側にとって、視聴率がどうなろうが知ったこっちゃない時間帯だろうし…。その曜日/時間に放送してほしいと交渉したアニメの制作側だか委員会だかが、かなりのお馬鹿さん揃いなのかなと。自分達からお金払って放送してもらうのだろうけど、お互いがお互いを潰し合うようにわざわざ設定するのでは…。中身を見てもらえないのでは宣伝にもならないから、金をドブに捨ててるようなものでは…。一方では「動画の人達が食べていけない」等の話をしておきながら、こういうことをするんだからなあ…。アニメ業界ってのはまだまだ全然随分と余裕があるのですなあ、と。

てなことをもやもや思っているうちに、鉄道関係ではダイヤグラムの達人が居て、事故が起きたりした時に活躍したりする、てな話を思い出したり。TV放送でも、そういう達人が居て、活躍してくれたらなと妙な妄想を。まあ、無理か。TV局ってのは衝突事故を起こしたがる人しか居ないし。あちらこちらで車両の転覆事故が起きまくりですがな。

何にせよ、今現在のアニメの制作本数は、ちょっと多過ぎるよなと…。
*1: もっとも…。「今頃何を言ってるんだ。都市圏の地上波ではそんなの日常茶飯事だぜ!」と言われそうな予感も。それもそれで、恐ろしい話だなと。

2015/07/04() [n年前の日記]

#1 [dxruby][dtm] SEの作成開始

ベルトスクロールアクションゲームで使えそうなSE(効果音)を作成中。プレイヤーキャラがパンチを出す時の風切音や、敵を殴った時の打撃音を作成。

打撃音は、FL Studio 12上で、バスドラムの波形を伸ばしたり縮めたり重ねたりしてフィルタをガンガンかけて作成。しかし、最初に作った音をゲーム画面で鳴らしてみたら、どう聞いてもバスドラムの音で、これでは全然ダメだなと。今度は GM音源系のガンショット音 + バスドラム音を加工してどうにか。

風切音は、最初は _Beam2002 で作ろうとしてたのだけど、どうもイメージ通りの音にならず。仕方ないので部屋から木の棒を発掘して、 _Zoom H4n の前でブンブン振り回して録音。調子に乗って振り回してたら木の棒がボキッと折れて危うく手に刺さりそうに。自分、何やってんだろう…。

効果音の作り方についてググってたら、 _効果音の作り方リスト というサイトに遭遇。風切音は竹の棒(竹ひご?)を振ると録音しやすい、という話が。…自分も買ってこようかしら。

#2 [anime][movie] トイストーリー3を視聴

昨晩TV放送されていたようなので録画して視聴。

何もかも完璧だった。脚本も映像も完璧。素晴らしい。

誰もが共通して持ってる思い出にフォーカスをあてることで、誰でも感情移入できる作品になって、結果、客は増えてリターンは大きくなって。リターンが大きいから、ますます質を追求できるという…。企画内容を一旦リセットしたり、脚本だけでも何年も練ったり…。やっぱりピクサーは凄い。

#3 [zatta] 廃炉への道、3回分を視聴

昨晩 NHK-BSで3回分まとめて放送されていたのを録画して視聴。前にも見たような、見逃したような…どっちだったっけ…。

第1回で、蛇型ロボットの紹介をしてたけど、たしか今は実際に入れてみたけど中で動かなくなった・変形不可能になってた記憶が。数年前の番組だろうから、変わったところ、変わってないところ、色々あるのだろうなと思いながら眺めたり。

2014/07/04(金) [n年前の日記]

#1 [cg_tools] メカっぽい背景画像を眺めていたり

何かの描画処理をするスクリプト等を書く際に、メカっぽい画像が欲しいなー、と思う時があるのです。

今までは、Inkscape や GIMP を使って、毎回その都度テキトーに画像を作成していたものの。なんとなくだけど、コレって自動化できるんじゃないかな、と思えていたりもするわけで。

てなわけで、どうすればメカっぽい背景になりそうなのか、その手の画像を眺めているところ。「ガンダム コロニー」で画像検索したり。小林七郎氏のアニメ背景画の本を眺めたり。 *1
*1: 「アニメーション美術 -背景の基礎から応用まで-」という本だけど。今は絶版らしいですな…。

2013/07/04(木) [n年前の日記]

#1 [ruby] DXRubyとフォント

DXRubyのFontクラスは、ttf以外にも、otf、fnt,fon 等が使えるらしいのだけど。

ということは、美咲フォントのFONTX2形式(拡張子 .FNT)も使えるのかな? と思って試してみたものの。Font.install('4X8.FNT') とやってみても、「フォントのインストールに失敗」と言われてしまって利用できず。DXRuby は、FONTX2形式とやらには対応してないということかしら。

色々検索してみた感じでは、どうやら .fnt という拡張子は、何か特定のフォーマットを示しているわけではないようで。例えば、X68Kのフォントも、DOS/Vのフォントも、どっちも .fnt だったりして。それはおかしいだろうと。つまり、Windows3.1以前、DOSが主流だった時期は、フォントファイルだったらとにかく .fnt とつけておく、みたいなノリでつけられていた気配が。あくまで勝手な推測・印象だけど。

まあ、美咲フォントを使いたいだけなら、ttfも公開されているので、そちらを使えばいいのだろうけど。実際に、
Font.install("misaki_gothic_emb.ttf")
fnt_mini = Font.new(8, '美咲ゴシック')
としてみたところ、ちゃんと使えた。

と思ったら甘かった。Window.drawFont() では描画してくれたけど、Image.drawFont()では描画してくれず。

_4.13 フォント描画 によると、それぞれ処理が違っていて、Image.drawFont() は WIN32API に任せている関係で描画されないらしい。他のソフト・フォントビューワ系で表示確認をした場合も、ビットマップ埋め込みのフリーのフォントは描画されない時があるので、Windows が悪いのだろう。

美咲フォントは pngファイルとしても公開されているから、ASCIIコードから切り出し位置を求めて描画していく処理を書く、てなやり方でもいいのかもしれず。漢字の扱いはどうすればいいのか、ちと悩むけど。

FONTX2形式のフォントを閲覧確認するツール。 :

FONTX2形式のフォントを閲覧確認できないかなと検索してみたら、 _マイコン風雲録: fontx2v: FONTX2 ビューア というページでツールが公開されていると知りました。ありがたや。実にイイ感じのツールで助かりました。

描画する文字列が既に決まっている・少数なら、このツールで文字列を表示させてキャプチャして画像にする流れでもいいのかもしれない。

#2 [prog] Notepad++のその後

以前、最新版の Notepad++ を、Windows7 x64 + IME2010 使用の環境でインストールしたところ、そもそも起動すらしてくれない状態で困ってしまったのだけど。今現在の、6.4.1 の zip で試しに上書きしてみたところ、すんなり起動してくれた。助かった。

ちなみに、 _#4315 V. 6.6.3 crashes always on Japanese Windows 7 という記事によると、以前起動しなかったのは、DSpellCheck.dll というファイルが関係していたようで。該当ファイルを削除した状態なら起動する云々、と書いてあるように見える。今後似たような症状が出たら、試してみるのもアリかも。

#3 [windows] フォントインストーラーSAKURAがフリーズするのだけど

環境は、Windows7 x64。未インストールフォント一覧を表示しようとすると、100%固まる。

_ロジSetPointと『フォントインストーラー SAKURA』のバッティング:株ログ(茨華仙) に気になる話が。
Win8(64bit)でのお話。現時点において、ロジクールのSetPointを起動させておくと『フォントインストーラー SAKURA』が未インストールフォントの読み込みに失敗してフリーズすることがわかった。SetPointを終了させておくと問題は発生しない。

ロジSetPointと『フォントインストーラー SAKURA』のバッティング:株ログ(茨華仙) より

たしかにウチも常駐させてた。試しにSetPointを終了させてみたら、フリーズしなくなった。何故。SetPointは、裏で何をやってるんだ?

2012/07/04(水) [n年前の日記]

#1 [nitijyou] 100円ショップで買った温度計が10度近く異なる数値を出していてなんだかな

他の温度計 ―― 980円ぐらいで買ったデジタル時計についてる温度計や、昔から部屋に転がっていたらしいアナログな温度計は、34度ぐらいを示しているのだけど。ダイソーで買った温度計は、42度ぐらいを示していて。一体どの温度計が信用できるのやら。まあ、ダイソーのが一番怪しいと予想してるけど。

100円ショップの温度計は、値段の高い温度計の横に置いて、どのくらいずれてるか把握した上で使え、みたいなノリなんだろうか。

2011/07/04(月) [n年前の日記]

#1 [nitijyou] 自宅サーバを止めてました

雷が鳴り始めたので、PM07:00-PM11:30頃まで自宅サーバを止めてました。申し訳ないです。

#2 [novel] 「幼年期の終わり」を読んだ

弟から借りたままずっと読んでなかったのだけど。雷が鳴ってPCが使えなかったので、いい機会?だから読んでみたり。

素晴らしい。さすが名作と言われるだけのことはある。スケールがデカ過ぎる。

こういう作品・設定・展開は、漫画や映画にするのは難しいなあ。SF小説ならでは、という気がする。

2010/07/04() [n年前の日記]

#1 [pc] 環境変数pathの並びのおかげでハマった

find コマンドを使うbatファイルが正常に動作せず。悩む。

which find とやってみたら、msys ディレクトリに入っている find のファイルパスが出てきた。Windows に標準で入ってる find を使うこと前提のbatファイルなので、これは困る。どうやら環境変数pathの中で、msys ディレクトリのほうが先に並んでしまっているらしい。こんなところでハマるとは…。

その手の開発で msys は使われるけど、こういうことでハマる原因になるから困るな…。まあ、Windows 標準の find ファイルパスをきっちり指定するとか、そういう処理は全部 Perlスクリプトで書いておくとかすればいいんだろうけど。

2009/07/04() [n年前の日記]

#1 [anime] エレメントハンター1話を鑑賞

作業しながらチラ見してたので、あまり話はよく覚えてなかったりして。

企画はヨサゲだと思えた。CCさくらやポケモンと同様、何かを集めていくという基本設定だろうし。NHK教育にふさわしく、元素をネタにしてるというところもヨサゲ。NHKで放映されてるから無理だろうけど、玩具メーカやゲームメーカと組んで、カードゲームやTVゲームにすれば、ひょっとすると大ヒットしてた企画かもしれない。とすら思えたり。

でも、映像を見る限り、妖奇士や彩雲国物語あたりと似たような罠(?)にハマっている予感も。脚本段階 ―― 文字情報のみで作品を作ってる段階では、元素がどうとか、漢字のつくりがどうとか、国の関係がどうとか、そのへんが「判ってる」のに、コンテ以降が「判ってない」ので、状況説明の努力をしてるのが脚本だけ・ひたすら台詞のみで説明が行われてしまい、視聴者に「何かがそこにあるらしいのだが…正直わけわからんな」という形でしか伝わってないような気がする。

この調子で続けていけば、アクションが売りとか、恋愛が売り等、別の吸引力が含まれてこない限り、間違いなくコケる・駄作になりそう。いや、まだ1話目だから、主人公にとってもそれらの話はなかなか理解不能であろうし。「とりあえず今はコレだけ判っとけばいいんだよ」とあえて意図的に判らないような作りにしてる可能性もありそうだなとは思うのだけど。そうであってほしい。

もしかすると、コンテ担当も「判ってる」けど、カット数制限等が絡んできて、ビジュアル面での説明を諦めざるを得ない、てな事情があるのかしら。だとしたら辛いなあ。

説明云々についてつらつらと。 :

日本国内において、初めて作られたアニメは、教育用映像だったという話を聞いた記憶もあるわけで。であるから本来、アニメというのは、何かを判り易く説明・解説するのがチョー得意な表現方法、のはずなんだけど。近年、キャラの顔のアップだけが繰り返し出てくる紙芝居アニメ+難解なストーリーが主流になってしまったせいか、本来アニメが持っていたチョー得意な部分がごっそり失われてしまったのかもしれないなあ、てな印象もなんとなく。いや、皆貧乏が悪いのや。予算と時間さえあれば、きっとそのへん取り戻せるのだろう。条件さえ揃えば、すぐに取り戻せるはず。スタッフが「判ってる」限りは…。

なんとなく、バック・トゥ・ザ・フューチャーを思い出したりもして。アレは実写映画だけど、本編中で、博士役が、ミニチュアで解説する的場面があったような気がする。「これからこういう状況に主人公達が置かれますよ。なんだか見るからにトラブルが起きてドタバタしそうでしょ? さあ、今後の展開を期待してください」という、スタッフから観客へのメッセージ、でもあったのだろうなと。今更ながら、丁寧な作りをしていたことに気づいて感心したりもして。いやまあ、観客から、「この忙しいときに何を作ってるんだよ!」的ツッコミ・笑いを期待してるシーンでもあるのだろうけど。

2008/07/04(金) [n年前の日記]

#1 [zatta] PC関係って地球に厳しいのだろうな

化け物みたいなヒートシンクやVGAチップクーラーの写真を見て、なんだか世界情勢に逆行しているような気がしないでもないと思ったり。まあ、消費電力が少ない=性能が低い=買ってもらえない、ということで、消費電力の少なさを売りにしても今一つだからそっちに行っちゃうんだろうけど。…ソフトウェア側にも問題があるよな。たとえばLLなんてのは、人間には優しいけど地球に厳しいソフトウェアの代表例かもしれない。その一点だけに着目すると、PerlやRubyの開発者は反社会的人間として扱われてもおかしくない。嘘。

というか「地球に厳しい」という言い方がどーも気になる。地球は別に厳しくない。地球の上で生きてる人間がこれから厳しくなってくるという話なのだろうし。まるで「地球さん」という方が居て、その方が厳しいかのような錯覚をしてしまいそうになる「地球に厳しい」という言い方はどうなのか。「地球の上の俺が厳しい」と言うべきではないのか。

つーか「地球に厳しい」じゃなくて「僕達の財布に厳しい」という言い方を広めたほうがよくないか。無理があるか。現状、「地球に優しい」=「財布に厳しい」の場合が多いだろうしな…。

そんなことを TDP140Wの新CPUの記事を見ながらぼんやりと。

#2 [iappli][prog][digital] 広角28mmの画角は何度になるんだろう

iアプリで3D表示関連を実験してるわけだけど。画角の設定で悩んだり。どのくらいにしておいたほうがいいのか。

昨今のコンパクトデジカメの一部では、銀塩換算で広角28mm、というのが一つの売りになっているので、3D表示のソレも広角28mm程度の画角にしたらいいのかな、と思ったのだけど。広角28mmの画角ってのは何度ぐらいなんだろうと。

たとえばTV画面の場合、インチ数は対角線の長さを表していたりすると聞くわけで。なもんだから、4:3のTV画面と、16:9のTV画面では一概にインチ数だけで大きさを比較できない。とかもにゃもにゃしていて。で、そういう話を鑑みると、デジカメの「広角28mm」てのも、対角線で考えるのかな? などと想像したりするけどそのへんさっぱりわからず。

広角28mmのコンパクトデジカメに対する疑問。 :

Panasonic や RICOH や FUJIFILM あたりが「広角28mm」製品の販売に積極的な印象。Panasonic に至っては「広角25mm」なんてモノを出していたりする。

それらメーカが「広角はいいですよ」と宣伝してる中、何故か Canon だけが妙に今一つ積極的じゃないのが不思議だったり。

いやまあ、Canon の出してる機種にも広角28mm を謳ったモノはあるんだけど。自分が大昔に買った PowerShot A300 もそうだし、IXY DIGITAL 910 IS もそうなんだけど。しかし、どの機種も、画面の周辺がぼやけてしまっていて。するともしかして、Canon は真面目に広角28mmにしようとして、しかし上手くいかずになんだかもやもやジタバタしてるけど、他メーカはインチキ換算をして広角28mmと謳ってたりするのか。それとも単に Canon だけが技術力を持ってないのか。

各メーカがどういう計算で「広角28mm」と称してるのかが気になる今日この頃。「銀塩換算」という言葉にも何か秘密がありそうな気もしてるけど、どうなんだろう。

_松下電器 LUMIX DMC-LX1【第5回】「広角28mm相当」の真実をGR DIGITALと比較 :

_焦点距離って何? 35mm換算って何? - 日経トレンディネット

28mmだと74度もあるのか。

いや待てよ。それは対角線の角度の話だよな…。3D表示の場合に指定してる画角ってのは何を対象にしてるんだ…?

そもそも28mm近辺の画角でいいのだろうか。たとえば、TVのスポーツ中継その他で風景を写す場合などは、どういったレンズで撮ってるんだろう。実は広角と言っても35mmとかそのへんだったりしないのかしら。

_第19回 :カメラレンズと焦点距離、画角 デジカメの「しくみ」 :

水平と垂直で別々に記載した表があった。ありがたや。

#3 [iappli] モデルデータが表示されない

以前の版は、大量のプリミティブを用意して、実機上で地形モデルを作ってしまうタイプだったけど。それだと処理が重すぎてまったく話にならなかったわけで。で、今回は blender で作成した地形モデルを表示する方向で作っていたわけだけど。コンパイルが通るところまで来て、動作確認してみたら、モデルが表示されない。うーん。

チュートリアル記事等のサンプルモデルデータ(.mbac) を流用して表示テスト。…表示されるところまでアレコレ修正するのがまた一苦労なれど、一応は表示できた。ということは、zip中からモデルデータやテクスチャ用bmpを取り出す部分は問題ないということか。

blender で作成したモデルデータに問題があるのだろうか。.bac から .mbac にする途中で、Perlスクリプトを経由してアレコレ手を加えているから、その段階でおかしくなっている可能性も。と思ったけれど、該当の .mbac を PVMicro 3.5.2 にD&Dするとフツーに表示されているわけで。てことは、モデルデータも問題がないということなのか? うーん。

#4 [anime] 猫の恩返しを鑑賞

TVで流れてたので見てみたり。

「宮崎駿」の名前はそれなりに連呼するのに、監督の名前はまったく出さないあたりに、スタジオジブリとTV局の悪意を感じたり。これは偽装問題だ。<オイ。

2007/07/04(水) [n年前の日記]

#1 [cg_tools] 1bitpaperを試用

出力画像を potrace や autotrace に渡すことでそれっぽい線画を得る、てな手法を以前どこかで見かけて気になっていたわけで。

上手く描けない。>自分。そもそも画力が足りてないからアレなんだな。トホ。

#2 [cg_tools] SAIを試用

タブレットで線画を描く際に、ぶれを補正してくれるらしいと見かけたので、試しにインストール。

たしかに線が滑らかになってる、ような気がする。ただ、それよりも感動したのは、ペン入れツール。「入り」「抜き」「ペンタッチ」を含めたパスを作成できる。パスなので、後からカーブを修正することも可能。…たぶん、Expression もこんな感じだったのかな。<使ったことないけど。

問題は、このソフト自体、一定期間ごとに使用制限がかかる点。制限がかかる前に新バージョンを出して、それで上書きしていくらしい。開発中のソフトだから、という理由らしいが。ここまでできてたら、シェアウェアとして発売してもいいのでは。いや、シェアウェア化すると、開発版をテストしてくれるユーザが少なくなるか。ユーザ側からすると不便・面倒だが、開発者側の事情・都合を考えると、メリットの多いポリシーなのかな。

この記事へのツッコミ

Re: SAIを試用 by Y    2007/07/09 19:44
私も最近お絵描きする時はSAI使ってますー
個人的な感想だとSAIはタブで線画を描くのに特化した
ツールだと思います。
タブレット使用時の補間処理がいい感じですな by mieki256    2007/07/19 16:15
> 個人的な感想だとSAIはタブで線画を描くのに特化したツール

たしかに、タブレット使用時の補間処理がなかなかいい感じですな。
ただ、使用期限が気になってしまって、
常用ツールとして扱うのはちょっと、てな印象もありますが。

…そもそも最近ラクガキしてないからそのへんアレか。>自分。

#3 [cg_tools] Poser5Jをインストール

一時期、期間限定で無料配布されてたソレ。

Poser2J を購入したものの、まったく使いこなせず、そこで時間が止まってたのだけど。>自分。さすがにこれだけバージョンが上がると。…相変わらず使いずらいUIだな…。

レンダリング時の品質は向上してる。と思う。髪の毛とかも出てるし。<そういうレベルでいいのか。

あれこれ弄ってるうちに、女性フィギュアの胸の大きさを弄れることが判って、ついついパラメータ弄りに興じてしまったり。<オイ。しかし、まったくもって理想の形にならない。モデリングからやり直したほうが実は速かったりして。そんな知識も技術も自分にはないけれど。

デッサン人形の代わりにならないものかと思って、しばらく触ってみたけれど。なる場合もあるだろうし、ならない場合もありそうな。ポーズをつけるのが面倒といえば面倒だし、実際の人体とどの程度合っているのかもよくわからないが、木でできたあの人形を動かすよりは形状的にまだ信頼できそうだし、カメラの焦点距離等を加味した画が得られるのもメリットだし。…Webカメラあたりを使って、自分でポーズを取って、それ撮影・元にして描いたほうがいいのかな。いや、しかし、それだと空中を飛んでる等のポーズが取りにくいだろうし。まあ、少なくとも、他の人が描いた漫画のソレをトレースするよりは、こういうソフトで人物をレンダリングして、ソレをトレースしたほうがはるかに問題は出にくいだろうとは思うのだけど。

さておき。例えば、最新版Poserに、いかにもな萌えアニメ的美少女フィギュアでも標準で入ってたら、うっかり買ってしまいそうな。

2006/07/04(火) [n年前の日記]

#1 [iappli] スクラッチパッドサイズ

ADF中のスクラッチパッドサイズ指定が大きすぎる、という話があったので、適切なサイズを概算・jamファイルを更新するスクリプトを作成。その時々の概算サイズをログに残し、それと比較して、値が大きくなっていたら更新するように。
#!/usr/bin/perl
#
# スクラッチパッド(SP)のサイズ(概算)を求める。
#
# usage : perl getspsize.pl [DIR\HOGE.jam] [DIR2\HOGE.jam]
#
#
# * jam ファイルのパスを与えると、該当 jam の SPsize を書き換える。
#   何も指定がなければ、概算値の表示のみ行う。
#
# * 概算したサイズ値は、'getspsize.log' に記録される。
#   既に記録されたサイズ値と比較して、増えているときだけ更新。
#
# * 概算したサイズ値は、1024 byte 単位で切り上げをした値。
#
#
# ◎ 前提・仮定条件:
#
# * ハイスコア等情報 / 画像データ / サウンドデータ の順でSPに記録。
#
# * ハイスコア・その他の記録は、0x0100 byte 使う。
#
# * 画像データとサウンドデータの間には、0 が 0x010 byte 入る。
#
# * SPの最後には、0 が 0x010 byte 入る。
#
# * 画像データ(.res)は、'data' ディレクトリ内にある。
#
# * サウンドデータ(.res)は、'sound' ディレクトリ以下に
#   「端末別」で、ディレクトリを分けて入ってるものとする。
#

use strict;

# ハイスコアその他の記録に使ってるサイズ
my $etcinfosize = 0x0100;

# 画像データとサウンドデータの間に入る 0x00 のサイズ
my $imgsndsepsize = 0x010;

# 最後に取る 0x00 のサイズ
my $lastnullsize = 0x010;

# 画像データ拡張子
my $imgext = '.res';

# 画像データフォルダ
my $imgdir = 'data';

# サウンドデータ拡張子
my $sndext = '.res';

# サウンドデータフォルダ
my $snddir = 'sound';

# ログファイル
my $logfile = 'getspsize.log';


# ----------------------------------------

print "\n --- SPsize の概算値を求めます ---\n\n";


my $old_spsize = 0;

# 既にログファイルがあるなら読み込んでおく

if ( -f $logfile ) {
    open(IN,$logfile) || die "Can't read open $logfile : $!";
    my @l = <IN>;
    close(IN);
    $old_spsize = $l[0];
} else {
    print "not found log. ($logfile)\n";
}


# 画像データファイル名の取得

my @img_res_list = ();

opendir(DH, $imgdir) || die "Can't open dir $imgdir : $!";
while ( my $f = readdir DH ) {
    next if $f =~ /^\.{1,2}$/;
    next unless $f =~ /$imgext$/;
    push(@img_res_list, $f) if -f "$imgdir/$f";
}
closedir(DH);


# 画像データファイルの総サイズを取得

my $imgsize = 0;

foreach (@img_res_list) {
    # print $_ , "\n";
    $imgsize += -s "$imgdir/$_";
}
print "$imgdir/*$imgext\t", $imgsize, " byte ... image .res total size.\n\n";


# サウンドデータファイル名の取得

my %snd_resdir_size_list = ();
read_dir_snd_res($snddir, $sndext);

foreach ( sort keys(%snd_resdir_size_list) ) {
    print $_, "\t", $snd_resdir_size_list{$_}, " byte\n";
}
print "\n";


# サウンドデータサイズをソート

my @keys = sort {
    $snd_resdir_size_list{$b} <=> $snd_resdir_size_list{$a}
} keys %snd_resdir_size_list;


# サウンドデータ最大値を取得

my $max_snddir = $keys[0];
my $max_sndsize = $snd_resdir_size_list{$max_snddir};

print "MAX\n", $max_snddir, "\t", $max_sndsize, " byte\n\n";


# SPsize を計算

my $true_spsize = $imgsize + $max_sndsize + $etcinfosize + $imgsndsepsize + $lastnullsize;
my $new_spsize = ((int ( $true_spsize / 1024 )) + 1) * 1024;

printf("OLD SPsize       = %8d (0x%08X)\n", $old_spsize, $old_spsize );
printf("NEW SPsize(true) = %8d (0x%08X)\n", $true_spsize, $true_spsize );
printf("NEW SPsize       = %8d (0x%08X)\n", $new_spsize, $new_spsize);
print "\n";

if ( $new_spsize > $old_spsize ) {

    # 新SPsize のほうが値が大きい。ログを更新。

    open(OUT,">$logfile") || die "Can't write open $logfile : $!";
    print OUT $new_spsize;
    close(OUT);

    print "log update.  ( NEW SPsize > OLD SPsize)\n\n";

    # jam ファイル更新

    foreach my $jamfile (@ARGV) {
        if ( -f $jamfile ) {
            print "found   $jamfile\n";

            # jam ファイル読み込み
            my @l = ();
            open(IN,$jamfile) || die "Can't read open $jamfile : $!";
            while(<IN>) {
                chomp;
                push(@l,$_);
            }
            close(IN);

            # jam ファイル更新
            open(OUT,">$jamfile") || die "Can't write oprn $jamfile : $!";
            foreach(@l) {
                if ( /SPsize = / ) {
                    $_ = "SPsize = ". $new_spsize;
                }
                print OUT $_, "\n";
            }
            close(OUT);
            
            print "update  $jamfile\n\n";
        }
    }

} else {

    # 更新無し。

    print "not update.  ( NEW SPsize <= OLD SPsize)\n";
}

exit;


# ----------------------------------------

# サウンドデータディレクトリを辿って .res があればサイズを取得・記録
sub read_dir_snd_res {
    my($dirname, $extname) = @_;

    my @list = ();
    my @flist = ();

    # ディレクトリ中のファイル名 or ディレクトリ名の一覧を取得
    opendir(DH, $dirname) || die "Can't open dir $snddir : $!";
    @flist = readdir DH;
    closedir(DH);

    foreach my $f (@flist) {
        next if $f =~ /^\.{1,2}$/;
        if ( $f =~ /$extname$/ && -f "$dirname/$f") {
            # データファイルを見つけたので記録
            push(@list, $f);
        } elsif ( -d "$dirname/$f" ) {
            # ディレクトリを見つけたので辿る
            read_dir_snd_res("$dirname/$f", $extname);
        }
    }

    # .res があったらディレクトリ中の総サイズを求めてハッシュに記録
    unless ( $#list < 0 ) {
        my $size = 0;
        foreach (@list) {
            $size += -s "$dirname/$_";
        }
        $snd_resdir_size_list{$dirname} = $size;
    }
}

画像の追加・差し替えが頻繁にあったものだから :

その都度 SPsize を求めなおす・指定し直すのが面倒で。

また、最初の頃は、最終的にどの程度画像・サウンドをSPに入れることになるのか、まったく見当もつかなくて。

さらに、DoJa 3.0 の PDF を読むと、「後からSPsizeを増やす分には構わない」「減らすのはマズイです」と書いてあったりもして。

てなモロモロがあったので、「最大値を入れておけば問題は起きないだろう」と安易に指定しちゃってたという。…早い段階からこういうスクリプトを作っておけば良かったのだな。失敗した。

全然関係ないけど Perl って :

printf() が使えたのだな。知らなかった。…アレ? Perl は元々あったんだっけか。何かの言語は無かったような記憶が…。

#2 [eclipse] _Eclipse Wiki Editor Plugin

_CoolなEclipseプラグイン(7)プログラミングにあると便利なプラグイン

eclipse 上で wiki が使えるようになるらしい。

入れてみた。
  1. eclipse 3.1.1 を使ってるので、com.teaminabox.eclipse.wiki_2.4.0.zip をDL。
  2. zip を解凍すると com.teaminabox.eclipse.wiki_2.4.0 というフォルダができた。
  3. eclipse の plugin フォルダの中に、フォルダごとコピー。
  4. eclipse を起動。設定で、wiki のソレを変更。
記法を弄ってみたけど、snipsnap というのが一番機能が実装されてるっぽいように見えた。

.wiki という拡張子のファイルを作成・開くだけで、wikiっぽく書き込めるらしい。下のほうに、「Source」「Browser」「Syntax」というタブがある。Source で編集・保存。Browser で表示確認。Syntax で記法についてのヘルプ文書(?)を読める。が、英語で記述されてるからよくわからない。

む。コレ、htmlで保存とかエクスポートとかできないのか。それじゃ使えないな…。

#3 [iappli] 結合データがオリジナルデータと合ってるかどうかを確認するプログラムを作成

SO902iでサウンドがスクラッチパッドから読み込めない問題を調査中。Perlで結合していることで、結合データ中の一部がおかしくなってるのかな、と不安になったので、チェックするプログラムは Java で作成。ファイル名を取得するあたりでちとハマる。出来上がってからふと気づく。考えてみれば、String[] として持ってしまって良かったのかもしれん。どうせ使い捨てのプログラムなんだし。

こんな感じになった。
import java.io.File;
import java.io.FileInputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Comparator;

/*
 * サウンド用 .res の内容と、.mld の内容を比較する
 */

public class CheckResCoherent implements FilenameFilter {

    /**
     * @param args mld格納フォルダ res格納フォルダ
     */
    public static void main(String[] args) {

        // 引数の数が合ってなかったら使い方を表示
        if (args.length != 2) {
            usage();
            return;
        }

        // ファイル情報取得
        File[] filesMld = new File(args[0]).listFiles(new CheckResCoherent());
        File[] filesRes = new File(args[1]).listFiles(new CheckResCoherent());

        // ファイル名でソート
        Arrays.sort(filesMld, new NameComparator());
        Arrays.sort(filesRes, new NameComparator());

        // 念のためにファイル名一覧を表示
        for (int i = 0; i < filesMld.length; i++) {
            System.out.println(filesMld[i].getPath());
        }

        // 念のためにファイル名一覧を表示。ついでに総サイズも取得
        int resSize = 0;
        for (int i = 0; i < filesRes.length; i++) {
            System.out.println(filesRes[i].getPath());
            resSize += filesRes[i].length();
        }

        // 結合データを読み込む
        int cnt = 0;
        byte[] buf = new byte[resSize];
        InputStream in = null;

        for (int i = 0; i < filesRes.length; i++) {
            try {
                in = new FileInputStream(filesRes[i].getPath());
                int ch;
                while ((ch = in.read()) != -1) {
                    buf[cnt] = (byte) (ch & 0x0ff);
                    cnt++;
                }
            } catch (IOException e) {
                System.out.println(e);
            } finally {
                try {
                    if (in != null) {
                        in.close();
                    }
                } catch (Exception e) {
                }
            }
        }

        System.out.println(cnt + " byte ... res total size");

        // 結合データのヘッダ部分から、格納されてるファイル数等を取得
        int ofs = 0;

        int fnum = getShort(buf, ofs);
        System.out.println("file num = " + fnum);
        ofs += 2;

        int cksum = getShort(buf, ofs);
        System.out.println("Checksum = " + cksum);
        ofs += 2;

        int fsize = getInt(buf, ofs);
        System.out.println("file size = " + fsize);
        ofs += 4;

        // 1ファイルずつチェック
        for (int i = 0; i < fnum; i++) {

            // データ種類取得
            int datakind = buf[ofs];
            ofs += 1;

            // オフセット取得
            int dofs = getInt(buf, ofs);
            ofs += 4;

            // サイズ取得
            int dlen = getInt(buf, ofs);
            ofs += 4;

            // オリジナルの mld データを読み込む
            long osize = filesMld[i].length();

            if (osize != dlen) {
                System.out.println("Error:" + i + "\tファイルサイズが一致しません。 orgsize=" + osize + " ressize=" + dlen);
                return;
            }

            byte[] ob = new byte[(int) osize];
            int cn = 0;
            try {
                in = new FileInputStream(filesMld[i].getPath());
                int ch;
                while ((ch = in.read()) != -1) {
                    ob[cn] = (byte) (ch & 0x0ff);
                    cn++;
                }
            } catch (IOException e) {
                System.out.println(e);
            } finally {
                try {
                    if (in != null) {
                        in.close();
                    }
                } catch (Exception e) {
                }
            }

            // 結合データの中身と、オリジナル mld を、1byteずつ比較
            int fg = -1;
            for (int n = 0; n < ob.length; n++) {
                if (ob[n] != buf[dofs + n]) {
                    fg = n;
                    break;
                }

                // System.out.println(n);
            }

            if (fg >= 0) {
                System.out.println("Error:" + i + "\tデータが一致しません。\toffset=" + fg);
                return;
            }

            System.out.println("kind=" + datakind + "\toffset=" + dofs + "\tlength=" + dlen + " : check OK " + i);
        }

    }

    // 一応、使い方を説明
    static void usage() {
        final String[] mes = {
                "サウンド用 .res の内容と、.mld の内容を比較します。", //
                "usage : java MLD_DIR RES_DIR", //
        };

        for (int i = 0; i < mes.length; i++) {
            System.out.println(mes[i]);
        }
    }

    // 特定拡張子のファイル名だけを取り出す
    public boolean accept(File dir, String name) {
        if (name.endsWith(".mld") || name.endsWith(".res")) return true;
        return false;
    }

    // byte[] から short を取得
    static int getShort(byte[] b, int offset) {
        return (((b[offset] << 8) & 0x0ff00) | (b[offset + 1] & 0x00ff));
    }

    // byte[] から int を取得
    static int getInt(byte[] b, int offset) {
        return (((b[offset] << 24) & 0x0ff000000) | ((b[offset + 1] << 16) & 0x0ff0000) | ((b[offset + 2] << 8) & 0x0ff00) | (b[offset + 3] & 0x00ff));
    }

}


// ソート用
class NameComparator implements Comparator {

    public int compare(Object o1, Object o2) {
        File f1 = (File) o1;
        File f2 = (File) o2;
        return (f1.getName().compareTo(f2.getName()));
    }
}

チェックしてみた。オリジナルデータと一致してる。うーん。一体何がおかしいのか。わからん。

#4 [novel] マリア様がみてるの選挙の巻を読んだ

妹が新刊を買ってきたとのことで、貸してもらった。

ドリル。引っ張るなぁ。

#5 [comic] 観用少女の特集号とやらを読んだ

これも妹が(以下略。

川原由美子先生のインタビュー記事が。最近漫画を描いてないらしい。残念な話。

2005/07/04(月) [n年前の日記]

#1 [anime] _エウレカセブンのOPの手を繋ぐカットのタイミングが変わってるよ

ホントだ。

実を言うと、変わってるような感じは前からしてたのだけど。でも、きっと自分の件のシーンへの「思い入れフィルタ」のせいでそう見えるのだろう、気のせいに違いないと思ってたわけで。ホントに変わってたのか…。つまりは少年がだんだん自信をなくしつつあることを伝える描写なのかしら。それを、タイミングを変えることで見せる…。こういうのをまさしく『演出』と呼ぶのかもしれないなと思ったり。素晴らしい。

あのOPは、ヒゲ男リーダー・その恋人・少年の視線の向け方の違いといい、ちょっとしたところでそれぞれのキャラクターの心情・状態等表現していたりして、芸が細かいわけで。おそらく本編も、視聴者側がうっかりするとスルーしてしまうような何気ないシーンで、その手の描写が多々あるのだろうなと想像していたり。…今のところ自分はスルーしてばっかりだけど。 _(via しゃあぽ: Entertainment)

#2 [zatta] _ライト・セーバー・ペニスを作ろう!

なんていうか、こう、「ズピシャァア」「ブーン」「ブオンブオン」「ピキャ、ビキャア」「ブボボボボ」「ピシュゥゥ」てな激しいアレの音が聞こえてきそうなペニスですねってどんなペニスやねん。 _(via ー`)<淡々と更新し続けるぞ雑記。ωもみゅもみゅ)

#3 [movie] _映像製作に携わるクリエイターには必見の1本 - 『デビルマン』

全てのコンテンツを最初から最後まで連続して再生する「ALL PLAY」機能がない。つまり、20秒程度のコンテンツを再生するために、いちいちリモコンで選択・再生を何十回も繰り返さなければならないのだ。画面の切り替わりの遅いDVDでは多大なストレスが溜まる作業だ。イライラしながら選択すると、伊崎央登君が「アクション? 余裕っすよ」と笑って再生終了、メニューに戻される。リモコンを叩きつけたい衝動を抑えるのに苦労した。
むぅ。本編のみならずDVDの構成まで。もしかして、ありとあらゆる面でワースト1を狙ったのであろうか。 _(via ー`)<淡々と更新し続けるぞ雑記。ωもみゅもみゅ)

2004/07/04() [n年前の日記]

#1 [pc] _「肘置き台」のはなし

首を支えてくれるのはありがたいかもしれず。意識しないと猫背になってしまうので。>自分&親父さん。

頭を支える部位は、ヘッドレストと言うのか。ついてる商品を探したけど、あまり無いのですな。一番安いのは、 _K-904FH とかいうやつかしら。

_DuoBackチェア :

形状は面白そう。

_ちょい掛けチェア :

こういうのでタイピングできないであらうか。

_汎用型車いす用ヘッドレストを発売 :

これの、非・車いすタイプがあればいいのに。

_頸肩腕症の話 :

#2 [pc] 膝の上にキーボードを置いて打ってみた

腕が楽なような感じが。ということは、机と椅子の高さ・距離がおかしいということかしら。

膝の上に置いて打ってると、テンキー側がないほうが良さそうな感じも。カーソルキーの存在すら邪魔。Ctrlキー併用によるカーソル移動のほうが楽ですな。Insert、Delete、PageUp、PageDownも同様。全てをフルキー側(?)のみで行いたくなる。…なるほど。それで _Happy Hacking Keyboard が好まれていたりするのかな。

膝の上で打つことで、何か問題はないのであろうか。…キーボードがグラグラするあたりがちとアレかしら。何か解決策はないか。…足で挟める台なんてどうだろう。「工」の形をした台で、椅子の上に乗せ、「工」の下の板に足を置いて台を固定する。キーボードは、「工」の上の板に置く。とか。絶えず足で台を固定していなければならないから、ちと窮屈かもしれないけど。その代わり、否応無く、手首と肘が水平の高さになるので、望ましいタイピング姿勢になりそうではあるような。…でもやっぱり窮屈かな。

#3 [zatta] _竹シーツ

ひんやり涼しいらしいのだが、どんなもんなんだろう。椅子の背もたれにかけたら快適にならないかな。

#4 [nitijyou] 床屋に行ってきた

さっぱり。短めのスポーツ刈。

カットのみ1000円とかいうお店にも足を伸ばしたけど :

駐車場も待合室もギッシリ。繁盛してるのだな。混雑が大嫌いな人なので、引き返していつもの床屋で。

自分で髪を切れたら楽だろうな :

と思って電器店でバリカンを眺めてみたり。スポーツ刈専用のバリカンなんてあるのですな。進むに従って、ガード部分が5cm→1cmと短くなっていくらしい。しかし、売り切れ。人気があるのだろうか。にしては、スポーツ刈の人なんて見ないけど。…いや、中学生は結構そういうヘアスタイルが多いか。それで売り切れなのかな。

#5 [xyzzy] さっそくdabbrevの使い方を忘れてるし

C-x / もしくは、C-x \ 。それと、~/.xyzzy 中で、C-t も割り当てていたのだった。メモ。

さっそくauto-time-stampの使い方を忘れてるし :

コメント中に、「Last updated: <>」を記述ですな。メモ。

#6 [windows] IMEのショートカットキー

ローマ字入力モードで打った後、Ctrl+TでF10キーと同じ、英数で出てくるのですな。Ctrl+IならF7キーと同じ、カタカナに。Ctrl+(U、I、O、P、T) が、なにかしらに対応してるらしい。…や、ヘルプに書いてありますけど。知らなかった。

#7 [cg_tools] せっかくBBS用アイコンを作ったので

公開してみたり。32x32の16色のgif。何かに使えそうなら使ってください。
BBS用アイコンのサムネイル画像。
gif画像はzipにまとめておきました。 _iconsample02_32x32.zip。 100%自由ってことで。

BBS用アイコンって難しいですな :

途中でネタ切れして謎の生物を描いてる始末。本来どんな種類を用意すればいいのか。やっぱり表情を多くしたほうがいいのかな。それ以前に、やはりドット絵を描くのって難しい。皆、よく描けるなぁ。

サムネイル画像作成にImageMagickのmontageを使った :

一応、メモ。
montage -geometry 32x32 -background #778899FF -transparent #778899FF icon_*.gif montage\result.gif
…アレ? 気がつかずに打ってたけど、gifで出力できてるような。いつから対応してたんだろう。

#8 [web] 英語版のホームページビルダー

ウチの掲示板に、「英語版のホームページビルダー(以下HPB)はないのか?」という質問があったらしい。検索してみたら、 _IBM WebSphere Studio Homepage Builder というのが見つかった。たぶんこれじゃないのかしら。…WebSphere Studio ってなんじゃろ。

_IBM WebSphere Studio FamilyとHomepage Builderの 位置付け :

よくわからんです。…うっ。もしかして、WebSphere がついた製品は、法人向けの製品でしたか。海外では、HPBは個人向けに単体販売されてないとか?

_HPBで作ってるサイトをバカにしてる人も居るようだけど(嘘)、 *1 それは間違いかもしれぬ。もしかすると、膨大かつ難解な法人向け製品の中に、たまたま『基本機能』としてHPBがついてきたから、それを使ってみただけ、かも。我々が見ているのは、氷山の一角 *2 なのでは。…と思ったけど、個人向け製品のHPBも、<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 6.x.x.x for Windows"> を吐き出すみたいですね。法人向け製品か、個人向け製品か、区別つきませんな。…区別がついたところで、何がどうなるというわけでもないけど。

HPBで作られたサイトを笑ってる人をたまに見かけるのだけど :

なんでHPBをバカにするかなー。…や、前述の記事に特定してる話ではないですよ。 *3

もしかすると、Webの世界も、「CGデザイナーならPhotoshop使わなきゃねー」と似たような風潮でもあるのでせうかね。そのへん、必要性を判ってて言ってる人と、判ってないのに言ってる人の2種類が居るような気がするのですが。…せめて、HPBを否定する際、同時に、問題点なり、他ツールとの具体的な比較論なり、代替案なりの提示も欲しいところ。たとえ他ツールのユーザであっても、実作業を行ってる人間なら、そういった具体的な材料・比較する為の材料を提示できるはずだけどなぁ。…それとも、実はmetaタグ以外に出力内容の違いが判らないのだろうか。それもちと情けない話ではないかと。

それはともかく個人的には、 _「Welcome to Adobe GoLive」 のほうがよっぽどトホホな現状ではないのかと思ったりもして。「俺、AdobeのソフトでWebデザインしてるんだゼ〜」とか言って「Welcome to Adobe GoLive」をやってたらチョーカッコ悪い。…そんな漫画みたいなWebデザイナー、居るわけないか(爆)

HPBの問題点と言えば、「どこでも配置モード」かしら。IEに特化したタグを出力するらしいので、難アリかもしれんですな。ちゃんと使ったことないんで詳しくは知らんけど<オイ。しかし、自分が「どこでも配置モード、ダメじゃん」と思ったのは、まだ NN4.x が使われてた時代の話。今でも問題なんだろうか。

_どこでも配置モードがダメな理由 :

甘かった。今でも問題アリらしい。まあ、自分が人に教えるときは、「標準モード」を必ず薦めてるのですが。危ないところ(?)だった。…でも、「標準モード」で教えてると、レイアウトに関してはテーブル多用になりがちで。それもそれで _問題が。

_DIV病 :

ねぇ。

HPBと言えば :

ウチの親父さんも、親父さんの知り合いも、HPBでサイトを作ってるのだけど。サイト設定情報を開くだけで、数分かかるのであります。どうも、サイト構成ファイルの依存関係を毎回検索してるみたいで。もっとも、孤島発見器でサイト構成を確認しても、同じくらいの時間がかかるのですが。つまりはそれだけ、膨大なファイル数で構成されたサイトを作ってるということで。たしか先日、孤島発見器の動作を後ろから眺めていたときは、1万以上のファイルがカウントされてたような。その一つ一つの依存関係を調べていくのだから、そりゃ時間もかかります。何か改善策はないものか。

_ver8の新機能 を眺めてみたけど、そのあたりの改善を謳ってはいないみたい。やはり、そこまで巨大なサイトをHPBで制作することは、予想してないのだろうな。

検索するタイミングをずらす・分散することで改善できないかしら。<a 〜> タグを置く瞬間に、「依存関係検索中」とか出して、とか。…素人考えかな。かもしれん。何にせよ、このへん改善をキボンヌ。

あるいは作り方を工夫してどうにかならないか。サイト設定を開かずにある程度作って、最後にリンクエラーのチェックのみをするとか。

_HotWired Japan : Webmonkey : html :

このあたりでレビューされてるツールの中に、大規模なサイトでの各ファイルの依存関係について高速に検索してくれるものがあったりしないものだろうかと。

ちょっと待て :

Dreamweaver って5万円ですか。HPBの約5倍の価格。Dreamweaver が HPB よりオススメ? 5万円のソフトをいきなり初心者ユーザに薦められるわけないでしょう。ということで、たとえどれだけ優れたツールだとしても、導入コストからしてHPBの代替案にはならないことに今頃気づいたのでした。なんだか層が違う気が。 *4

とはいえ、 _バージョン管理ができたり(Dreamweaver)、 _図でサイト構成を表示できたり(GoLive)、 はるかに便利そう・判りやすそうではありますな。いや、HPBもver7から _図でサイト構成を表示すること はできたと思ったけど。でも、GoLive ほど自由に配置できただろうか。ver7以降は触った事無いんで、知らんのでありますが。…バージョン管理機能はあったかな。記憶がない。まあ、価格が違うので、やっぱり比較は無意味かも。

*1: いや、バカにしてる記事じゃなくて、「モノづくりはツールじゃねえ。ハートだ」と感動してるらしき記事ですが。ツールよりハート、という意見には同感。
*2: 意味不明。
*3: そもそも件の記事は、HPBをバカにしたいという意図で書かれたものじゃないはずだし。
*4: いや、人によるけど>導入コスト。少なくとも、オイラが教えてる人達は、ソフトの価格=1万円前後が限界だなぁ。

2003/07/04(金) [n年前の日記]

#1 [pc] _DramaticaのDEMO版を動かしてみた

_紹介してくださってたので、 試しにDLして起動してみたですよ。

………

…Oh! NO! I am エイゴ、ワカリマセーン!(爆) ダメだー、英語赤点人間には全く理解不能ですー。
しかし、ボタンをポコポコ押してるだけでも、効率化が図れそうな雰囲気は感じ取れました。エクスプローラでファイルのプロパティを見るような感覚でキャラクターの設定が見れたりとか、展開を視覚的に階層・段階として捉えることができそうな画面とか。なるほど、こういうアプローチもあるのかと感心。これ、日本語版発売されないのかな。もったいないですねぇ。

Collaborator、Storyline :

日本語で解説されてるページは見つからず。残念。海外を探せばあるのかもしれないけど、英語わかんないし(爆) 同名の動画関連ソフトが出てきて判断が難しかったりもして。

関連2chスレ :

いくつか見つけたのでメモ。

_【ストーリー製作】Dramatica【支援ソフト】
_タロットカードストーリープラン(仮称)!!
_§§ タロットカードスレッド2枚目 §§
_★★★ プロットの作り方

更にそれらのスレを辿って、いくつか面白そうなモノを見つけたのでメモ。
_「お話の作る為にプロットを生み出すシステムを作ろう」 の中の、 _コレ がなかなかいいかも。また、 _コレ もなかなか。結構自然な感じのプロットが出てくる。
_タロットカードストーリープラント <用語が一般的ではなくてよくわからなかった…。
_思考支援ツール IdeaFragment for Windows の紹介

同様に、スレの中であった、プロットの分析(?)に関して。
_ポンティ分類法(+α)によるシナリオ構築
_プロップの昔話31の機能分類
_プロット作成視覚化の例
ここまで考えないといかんのか。やはり難しいものなのだなぁ…。

その他に見つけたページ :

気になるアプローチ :

_Perlで脚本作成支援スクリプトを書いた話が紹介されてました。 こういうアプローチなら、結構手をつけられるところがありそうなんじゃないか、とも。

清原なつの先生の絵コンテ制作デジタル化話 :

上のアプローチで思い出した。以前、清原なつの先生の単行本で、「ワープロで絵コンテを描く」方法が紹介されてて関心を持った記憶が。 *1 *2 ワープロの外字登録で、各人物の顔を登録・表現して、あらかじめコンテ用に作った紙の上に、場所を決めながら顔(外字)と文章だけを印刷していく、みたいな。 絵コンテとしての表現力は劣るものの、 *3 元になったワープロ文書を担当に渡せば写植ミスも減るし、文章(文字)は読みやすいから話自体は判りやすいとか。 *4
まあ、今なら _ComicStudioを導入すれば かなり楽になりそうですが。

支援できる部分とできない部分 :

かつて、アニメ制作のデジタル化による支援の可能性は、動画制作作業の「中割の自動生成」に見出されていたけれど。それは技術的に難しく現実にはほとんど実用レベルに達しなかった。ところが、仕上げ・撮影に「デジタル化」を向けた途端、かなりの早さでデジタル化が進み、効率化も見事に果たせたわけで…

同様の事が、ストーリー制作作業、もしくは演出作業面にも潜んでそうな気が。 *5 「シナリオ自動生成」は動画制作で言うところの「中割の自動生成」。それはそれで研究していく必要があるけれど、おそらく「仕上げ・撮影」に相当する部分がまだどこかにある。ってそういう作業に関わった事ないから実態はわからないですが。

…このへんの内容、誰かのサイトで見かけてたような感じもしていたり…でも、どこで見たのだったか記憶が全く無い。それともこれは自分の考えなのか? まあ、どなたかのサイトで既に発表されてた考えだとしたら、自分も全く同意であります、という事で一つ。

脚本から動撮・コンテの雛型なりを作れないかなと妄想してみたり :

どの場所に居るか・誰が喋ってるか・間を取るか取らないか等は、脚本の中に既に情報としてあるので、それらを画像の呼出しに用いる。セリフの中の単語を「読み」に変換できればセリフの総文字数が得られるから、1文字何秒と設定することで、セリフ一つを発する為に必要なコマ数も計算できそう。これだけ判れば動画の雛型が作れるのではないか。
場面:カツオの部屋
「カツオの部屋」の背景画を表示。場面転換には何コマ使うかあらかじめ設定しておく。
サザエ:「カツオ、お使いにいってきてちょうだい」
「サザエ」の画像を「カツオの部屋」の背景画に重ねて表示。18文字のセリフなので、仮に1文字6コマで設定したなら108コマ(4.5sec)ほどの時間、画を表示する。セリフの前後に何コマ余裕を持たせるか、あらかじめ設定しておく。
カツオ:「ええー? 今勉強中なのに…」
「サザエ」に代わって「カツオ」の画像を表示。「カツオ」はそのシーンの2人目の人物なので、元画像を反転表示して「サザエ」と対峙した画にする。
サザエ:「嘘おっしゃい!」
カツオのセリフの終わりが「…」だったので、サザエのセリフはカツオのセリフを打ち消しながら発していることがわかる。カツオのセリフの後に全く余裕を持たせずにサザエの画とセリフを表示。
…とか。出力結果に対して、ここは詰める、ここは伸ばす、ここはセリフと人物画を一致させない等、後からガンガン修正を加える事を可能にしておかないと使えないだろうけど。なんとなく、サザエさんやポケモンTV版なら使えそうな気がしてきた。

もっとも、全体の制作作業の中で、脚本、コンテにかかる実作業時間はおそらく短いはず。loop内を最適化するならともかく、loop外をいくら最適化してもさほど効果は得られないので、こんなツールが存在したとしても効率化に貢献できない可能性大。…そもそも、あらかじめ「動撮」を作る事を想定してツールを作るなんて、後ろ向きな発想だろうしなぁ…。

ていうかこの処理、巷によくあるゲーム関係のプログラムそのまんまだ(爆)

*1: 腱鞘炎が酷くて極力ペンを持つ時間を減らしたいが故に生み出した方法らしい。
*2: 単行本自体は既に手放してしまったので、おぼろげにしか内容を記憶してないんですが。
*3: 各コマの中に顔とセリフしかないから、見た目はかなり寂しい。
*4: もっとも、ベテラン作家、かつ、複雑な構図は描かない作家さんなので、担当者も容易に仕上がりを想像できる状況が整ってる…それゆえに許される方法なのでしょうけど。
*5: それが、Dramaticaなのかな、という気もしてたり。

2002/07/04(木) [n年前の日記]

#1 新しいモニタ

モニタが届きました。 _(以下略)


炊事当番。
親父さんが大根たくさん作ったんで、大根料理で占めてみたり。
大根って料理の種類、少ないんですね。
今の時期のは水気が多すぎて、煮物には合わないそうで。


妹がときメガをクリアしたらしいのですが。
結局弟は落とせたのか否か <まだ言うか

#2 [digital] 新しいモニタ

モニタが届きました。

NANAO _T731
憧れのNANAO(EIZO)ブランド。
もっとも、 _三菱の製品 と実売価格はほぼ同じ。
入力系統も1系統。BNCケーブル余っちゃったな…


現行のダイヤモンドトロンはM2管が主流。この機種はその1つ前のNF管。
M2管はムービー再生用に光量を増すため、精細さを若干犠牲にしたらしく。
自分はG400DHでTV出力できますので、ムービー再生云々は検討材料にせず、NF管を選びました。
…ホントはFDトリニトロンにしたかったけど、1万ほど高くなるので…


画面はクッキリハッキリで(・∀・)イイ!感じ。
利用していたSONY _GDM-19PS が如何にボケボケだったか思い知らされ…
…ってGDM-19PSはプロ向け商品だったのカー!? ??( ̄□ ̄;)

それはそうと、ようやくG400の真の姿を見れた気がしました。
最近のモニタはスゴイな…この価格でこの画質か…


各種画面調整はやりづらいですね。
十字ボタンの真中が決定ボタンですが、誤操作で上下左右を押しがち。
せめて決定ボタンだけ独立配置すれば良かったのでしょうけど。


利用した通販は、 _ITアドヴァンス というお店。
入金確認した次の日に商品届きました。仕事早っ。感心。
ただ…佐川急便が運んできたのはちょっと怖かった…
そのぶん安いんだから仕方ないですかね。


さて、このモニタが壊れる前に、お金稼ぐ方法見つけないと… (;´Д`)

2001/07/04(水) [n年前の日記]

#1 電気メータとサブBBS

昼間、「電気メータの無償交換に来ました」と業者の方が来訪。
なんでも法律で10年毎に交換が義務付けられてるとかなんとか。

てっきりその手の悪質セールスモノかと思いこみ、東北電力に問い合わせしてみるから後で来てくれ、と。
で、問い合わせしたら実際ホントの話でした(爆)
業者の方には申し訳無いことをしました。スンマソン。

でも、そもそもその手のセールスしてる人間がいることのほうが問題のような気も、と、言い訳させてくださいです。


サブBBSがサーバ管理者からデリられた模様。
利用頻度、低かったからだろうなぁ…
「一定期間アクセス無かったら消す」という条件がついてた無料サービスだったもんで。
とりあえず、他にもBBSはあるわけだし(って同じアカウントにあるから意味無いんだけど)、ひとまずこのままでいいかなと。

2000/07/04(火) [n年前の日記]

#1 エココに感謝(謎

PM4:00頃から、激しい雷雨。
どこかに雷が落ちたらしく、PM5:00〜PM9:00まで、付近一帯が停電に。PCの電源、落としておいて良かった…
電気がどれだけ自分達の生活を支えてくれているかを再確認しましたですよ…トホホ

復旧後も雷が鳴り続けているのでPCの電源を入れられず。
暇を潰そうと、本棚でホコリをかぶってた少女漫画を読んでみたり。
「星の時計のLiddell」(内田善美著)を読んで、頭グラグラ。
やっぱりスゴイ。凄すぎる >内田善美作品
独特のネーム。繊細かつ緻密な作画。
トーンワーク主体ではない、ペン描画主体による画っていいなぁ。
今のCGなどではおそらく表現できそうにないッスね。
この作品、20年近く前の作品ですが、こういうのを見ると、近年の少女漫画はどんどん簡素化・均一化されてるな、と。
ある意味、衰退していることの証明、なのかな >少女漫画

1999/07/04() [n年前の日記]

#1 (NoTitle)目を覚ましたらPM7:00...

目を覚ましたらPM7:00。人生大逆走中でし。

そういや神様から返事が来ない…。やっぱ切られちゃったのかな私。考えてみればオイラ、もう異業界の人だし。御付き合いするメリット向こうにはないだろうし。しかもこっちは下手するとガイキチ!ガーン( ̄□ ̄;)!! 寂しいなぁ(笑)

昨日日記で紹介した掲示板で、「ぷち」の正体を教えていただけました。ずばり _コレ らしいです!…って…Y氏…深すぎます!!このリクエストは!!(笑)

以上、26 日分です。

過去ログ表示

Prev - 2024/10 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project