mieki256's diary



2023/03/17(金) [n年前の日記]

#1 [anime] 「ジャンプSL」とはなんぞや

アニメ関係の記事を眺めていたら、「ジャンプスライド」なる言葉が目に入った。ソレって一体なんぞや。

_「もはや『ジャンプスライド』の素材の作り方がわかる人がいなくなった印象... / Twitter
_「ジャンプスライドの素材は作れるけど、ジャンプスライドでお願いしますって演出さんに言われること自体がめったにない... / Twitter
_【アニメ撮影】デジタル撮影でジャンプ・SLのメリットはあるのか? - Togetter
_【アニメ撮影】ジャンプSLは海外出ししても大丈夫なのか? - Togetter

ググってみたところ、「ジャンプSL」「ジャンプタップSL」「ジャンプスライド」と呼ばれている技で…。アニメキャラを歩かせたり走らせたりする時に使える、見た目を改善できる技の一つ、らしい。

例えば、左から右に、画面を横切るようにキャラが歩いていくカットでは、左から右まで移動する様子を全部動画で描き起こしたら大変なことになるから…。2歩分だけ歩くループアニメ(ループ動画?)を作って、撮影時に位置を少しずつ変えて、ずっと歩き続けているように見せたりするそうで。そういう時に使えるテクニックの一つが「ジャンプSL」なのだとか。

ちなみに、宮崎駿監督が「アルプスの少女ハイジ」を作っていた頃に発明したらしい、という話も見かけた。ホントかどうかは知らんけど。 *1

せっかく知ったので、一応メモしておこうかなと。もし間違ったことを書いてたらその時はツッコミよろしくなのです。

余談。「ジャンプスライド」でググるとゲームのアクションの話ばかりが出てくる…。

「SL」について :

「ジャンプSL」についてメモする前に、只の「SL(スライド)」についてメモしておく。

要するに、以下のような、2歩分のループアニメを作って…。

sl_only_loop.gif

上記のループアニメを、撮影処理時に、以下のように動かしてやれば、ずっと歩いてるように見えるよね、と。これが「SL(スライド)」。らしい。たぶん。




まあ、見た通り、分かりやすいなと…。しかし、この方法は、足が地面の上を滑ってるように見えてしまう問題があるそうで。 *2

そこで考え出されたのが、「ジャンプSL」「ジャンプタップSL」「ジャンプスライド」と呼ばれるソレなのだとか。

「ジャンプSL」について :

「ジャンプSL」は、以下のようなループアニメを作る。2歩分歩く動画を作るのは「SL」と同じだけど、実際に動画上で、足が動いた分を移動させてしまう。

jumpsl_loop.gif

そして、撮影時は、以下のように位置をずらす。




こういう作り方をすることで、足がちゃんと地面についた状態で歩いてるように見せることができるのだとか。いやまあ、上記の動画は、自分のようなド素人が作ったサンプルなので、その効果が全然出てないと思うけど…。プロのアニメーターさんが描けばバッチリな結果になるのだろうなと。 *3

ただ、この「ジャンプSL」、海外のアニメスタジオに色々と頼ってる現在では、ほとんどの場面で使えないという話も…。
  • 海外のアニメスタジオ/動画マンに発注すると、珍妙な中割りになって帰ってくる。
  • 国内のアニメスタジオ/動画マンでも、やり方を知ってる人と知らない人が居る。
  • 社内の動画マンに説明しても分かってもらえなかった事例アリ。
  • 「動画ミスや撮影ミスが起きやすいのでジャンプSLは禁止にしてください」と釘を刺されちゃった事例アリ。
信頼できる動画マン/撮影さんと組んでる時しか使えないのだとか。なかなか難しい。

まあ、視聴者側も、足が滑ってるか滑ってないかなんて気にしてないだろうし…。どうせアイツラ、キャラの首から上しか見てねえよ、SLで十分やろ、という気もしますな…。

TVゲームにも関係しそう :

ところで。この「SL」と「ジャンプSL」、TVゲームにも関係してくる話なのだろうなと。

と言うのも、昔、Unityというゲームエンジンを少し触っていた際、サンプルのモーションデータを眺めて「アレ?」と思ったことがあって。その場で走り続ける「SL」的なループモーションと、一定距離を実際に移動して走る「ジャンプSL」的なループモーション、その2つが混在していて、「コレって一体どっちを使えばいいんだ?」と悩んだ記憶が…。

プログラマーからすると「SL」方式のほうが扱いは楽。後から移動速度を変えてくれと言われても数値を弄るだけで済んじゃうし。 *4 でも、見た目は不自然だろうなと。やはり、地面の上を足が滑っているように見えちゃうことが多いはず。

となると、「ジャンプSL」的に、足が動いた分実際に移動するようなモーションを作ったほうが良いだろうけど…。でも、それはそれで問題が色々ありそう…。
  • 移動速度を変えたい時は、モーションを作ったアニメーターさんまでわざわざ戻って修正作業をお願いするの?
  • アタリ判定はどうなるの? アタリ範囲がずれたりしない?
  • 移動中にダメージを受けたらどうなるの? どの位置でダメージモーションが再生されるの?
  • 複雑な地形があったらどういう動きになるの?
見た目だけらしくなればそれでOKなアニメと違って、プレイ感覚だの、衝突判定だの、色々絡んでくるゲームでは、問題が増えそうではあるなと…。

でもまあ、最初のバーチャファイターですら、モーション再生中にダメージを受けても、ちゃんとそれらしい位置でダメージモーション出してるし…。妙な位置まで急に戻ってダメージモーション再生したりしないですよね…。どんなゲームもフツーにどうにかして解決してるよな…。たぶん。

2Dゲームの頃も、基本的には「SL」で動かしつつ、一時的に「ジャンプSL」が使われていたのではないかと想像したりもして。例えば悪魔城シリーズでプレイヤーキャラが階段を登る時は、足の位置と階段の位置がずれてしまうと見た目がおかしくなりそうだし、そういう時だけはジャンプSL的なアニメパターンの持ち方になっていたのでは…。いや、作ったことないから分からんですけど。あくまで想像ですけど。 *5

というか、たぶん2D格ゲーなども、どこかしらの場面でジャンプSL的なことをしないと作れない気がする。ケースバイケースでアニメパターンの持ち方を考えていかないといかんのだろうな…。

2023/03/18追記 :

APNG画像を貼ってたけど、アニメgif画像に変更しておいた。これでどんなブラウザでもアニメしてるように見えるはず。

*1: 昔の東映動画で、先人達が生み出した技の数々は、何故か「宮崎駿が初めてやった」と言われてしまうことがチラホラあるので、そういう話は疑ってかからないとマズいよなと。宮崎駿監督にだって、先輩や同世代が居るのだし、皆で喧々諤々しながら次第に固めていったアレコレが多々あるはず。その手柄を宮崎駿監督が全部持っていくのは、それはちょっとどうかなあ、と。もちろん、「誰が発明したのか今となっては分からんのだけど、その普及に宮崎駿監督が大きく貢献した」「宮崎駿監督が広めてくれた」という言い方なら全然OKだよなと思うのですが。
*2: 更にフィルム撮影時代は、セルを固定してるタップの位置を少しずつ動かしつつ、撮影するセルを変えていく作業になるので、撮影作業ミスが起きやすいという問題もあったらしい。
*3: 加えてフィルム撮影時代は、セルの交換回数は「SL」と同じだけど、タップ位置を動かす回数が激減できるので、ミスが起きにくくなるメリットもあったらしい。
*4: ゲームエンジンを使って作ってるなら、別の作業者でも移動速度を容易に変更できるように、あらかじめパラメータ入力欄を用意しておくだろうなと…。そのくらい、扱いが楽。
*5: 気になってその手の動画をコマ送りしてみたら、PCエンジン版だけ完璧に足と階段の位置が合っていた。それ以外の版、ファミコン、スーパーファミコン、メガドラ版は、足と階段の位置がめっちゃずれてた…。自分の中ではPCエンジン版の印象が強く残ってたんだな…。ちなみにAC版は、階段上で雑に瞬間移動してるように見えるけど、実はちゃんと足と階段の位置を合わせてあった。

#2 [cg_tools] APNGの作成についてメモ

Windows10 x64 22H2上で、APNG(アニメーションPNG)画像を作る際に利用したツールをメモ。

APNGについては、以下が参考になりそう。

_Chromeの対応で活用の幅が広がりそうなアニメーション画像「APNG」についてまとめてみました | OPTPiX Labs Blog

今回は APNG_Assembler GUI (apngasm) を利用した。

_APNG Assembler
_APNG Assembler - Browse Files at SourceForge.net
_APNG アニメーション (APNG Assembler CUI版) | 東京大学 佐々木淳 研究室 沿岸環境学 海岸工学 環境水工学 水環境学


コマンドライン版、apngasm.exe でも生成できる。
apngasm output.png input*.png 1 24
上記の例は、input00001.png 〜 inputXXXXX.png を output.png に変換する。最後の「1 24」は再生速度の指定。1/24 FPS、1秒間24コマで再生するように指定してる。

APNG対応ビューワ :

生成した APNG を、IrfanView 4.62 32bit で表示してみたのだけど、どうも再生速度がおかしい…。Firefox上で表示したソレと比べると、再生速度が違う…。

そこで今回は、ViW 4.1 というビューワで表示確認させてもらった。ありがたや。

_ファイラ連携型画像表示器『ViW』

ViW64v41.zip を入手して解凍。ViW64.exe hoge.png といった形で呼び出す。ViW なら意図した速度で再生された。

#3 [moho] Mohoで画像シーケンスをループ再生

アニメーション作成ソフト、Moho 13.5.5 で、画像シーケンスをループ再生させる方法が分からなくて悩んでしまった。

分かってしまえば簡単だった。画像シーケンスレイヤーのプロパティ? レイヤー設定? を表示して、イメージ → 「ムービーを無期限にループ」にチェックを入れるだけで良かった。

moho_imgseqloop_ss01.png

moho_imgseqloop_ss02.png


久しぶりに触ったものだから、使い方をかなり忘れてた…。

2022/03/17(木) [n年前の日記]

#1 [nitijyou] 部屋を片付け

地震でアレなことになってしまった部屋の中を片付け。PCパーツの箱は紐でまとめてバラバラにならないようにしてから、滑り止めシートを敷いてその上に置いてみたり。本棚から落ちた小物類は小さい箱に入れて、箱を耐震マットで固定させたり。

積み重ねて置いてあったHDDが地震で崩れて転がりまくったのがアレなので何かに入れて保管しておきたいものだけど、さて、どうしたもんか…。ダンボール工作でもしようか…。

滑り止めシートと耐震マットの予備が無くなってしまったので補充しておきたいけれど、たぶん、今はもう店頭から消滅している気がする…。店頭に並ぶのは何ヶ月後になることやら…。

2021/03/17(水) [n年前の日記]

#1 [godot] Godot EngineのVehicleBodyノードについてまだ調べてる

Godot Engine上で車の動きを作れるらしい VehicleBody ノードと VehicleWheel ノードについて調べているところ。

Godot Engine のデモプロジェクトの中に、3D Truck Town Demo というものがあって、これが VehicleBody等を使って動いているらしくて。

_3D Truck Town Demo - Godot Asset Library

インストールして、ノード構成やノードのプロパティ値(?)について眺めていたり。

車体モデルも用意する。 :

実験するにあたって、車体に相当する3Dモデルも必要なので、blender 2.83.13 LTS を使ってモデルを用意していたり。以下のCC0モデルを利用させてもらって作業中。ありがたや。

_Vehicles Assets pt1 | OpenGameArt.org

VehicleBody等で利用する車体モデルは、車体と、各タイヤ(ホイール?)を別オブジェクトにしておかないといけないのだけど。上記のモデルは、車体もタイヤも一体化しているので、blender で開いて以下の作業をした。
  • タイヤ部分を選択して、Pキーを押して、別オブジェクトに分割(分離)。
  • タイヤオブジェクトの原点を、3Dカーソル等を利用して、タイヤの中心に設定し直す。原点にしたい頂点を選択 → Shift + S → カーソルを選択物に → オブジェクトモードに変更 → オブジェクト → 原点を設定 → 原点を3Dカーソルに移動。
これで、1つの車体 Meshと、4つのタイヤ(ホイール) Mesh、計5つのオブジェクトにした。

_Blender 2.8 でメッシュを分割する - しっぽを追いかけて
_【Blender】Blender2.8 3Dカーソル - 3DCGニャ-Blender、ZbrushなどCGソフトの役立つ情報-
_【Blender】原点を移動させる|yugaki|note

タイヤ部分(ホイール部分)のオブジェクト名は、最後に「_wheel」をつけておくと、Godot Engine にインポートした際に、自動で VehicleWheel ノードに変換してくれるっぽい。たぶん。自信は無いけど、おそらくは。なので…。
  • 前タイヤは、「fornt_left_wheel」「front_right_wheel」
  • 後ろタイヤは、「rear_left_wheel」「rear_right_wheel」
こういったオブジェクト名に変更しておけば、後の作業が楽になりそう。

#2 [python] Python IDE Thoony と Mu を試用

VMware Player上で Raspberry Pi Desktop bustor を動かして少し触っていたのだけど。スタートメニューのプログラミングの項に、Thonny Python IDE と、Mu という項目があることに気が付いた。コレは一体何だろう。

Thonny は、Python の学習用IDEで、Mu は Python の学習用エディタらしい。

せっかくだから、それぞれちょっとだけ試用してみたり。

Thonnyを試用。 :

そのまま Raspberry PiDesktop上で試用してもいいのだけど、Thonny はWindows用のバイナリもあるらしいので、一応試しにインストールしてそちらを使ってみた。環境は Windows10 x64 20H2。

_Thonny, Python IDE for beginners

公式サイトの上のほうに、「Download version 3.3.6 for Windows Mac Linux」とあるので、「Windows」をクリック。thonny-3.3.6.exe をダウンロード後、実行してインストール。

公式サイトには、「Microsoft Edge や IE でダウンロードすると Windows Defender からウイルスと誤判定される。Firefox でダウンロードすればそうはならない」みたいなことが書いてあった。自分は Firefox を使ってるせいか、今回はウイルスと誤判定されなかった。

バイナリには Python 一式も同梱されているらしい。Thonny のインストールフォルダ以下に、Python.exe その他が入っている。別途 Python のインストールをしなくても、すぐに学習が始められる点はイイ感じ。

Thonny を起動すると、上のほうにはエディタ画面が、下のほうにIDLEっぽいウインドウが表示される。Python の言語仕様・動作に関して何か試したいときは、下のウインドウで打ち込んでやれば、その場で確認できるのは便利かもしれない。いやまあ、たしか PyScripter もそんな感じの画面構成だったので、IDEと称するアプリでは一般的な仕様かもしれないけれど。

TABキー、もしくは、Ctrl + Space で補完機能が働く。これはありがたい。

たしかに、学習用の環境としては、なかなかイイ感じかもしれない。

Muを試用。 :

これも Windows版をダウンロードしてインストールしてみた。環境は Windows10 x64 20H2。

_Code With Mu
_Download Mu

Windows Installer 64bit版、Mu-Editor-Win64-1.1.0b2.msi をダウンロードして実行。バージョンは 1.1.0b2、らしい。

インストール場所を尋ねてこないまま、いきなりどこかにインストールされる…。一体どこにインストールされたんだか…。

どうやら、C:\Users\(アカウント名)\AppData\Local\Programs\Mu Editor\ あたりにインストールされた模様。また、このアプリも、Python 一式がインストールされるように見えた。学習用IDEやエディタは、そういう仕様が多いのだろうか。

Windwos のスタートメニューに Mu Editor という項目が増えているので、クリックして実行。初回起動時は virtualenv を使って、独自のPython環境を用意してから、エディタ画面が起動する模様。

ツールバーのアイコンが巨大、かつ、テキスト付なので、「簡単だよ」感が強くアピールされている。初心者の、Python学習への心理的ハードルを下げてくれる効果が期待できそう。

printと打ち込もうとしたら、「pr」と打った途端に、候補と引数のヘルプが表示された。この補完感覚は Microsoft の Small Basic にちょっと近い感じがする。これまた、初心者にとっては助かる仕様かもしれない。まあ、import と打っても反応しなかったところは気になるけれど…。Python関係の全単語(?)に対応してるわけではなさそう。

エディタ画面のフォントが選べないかもしれない…。フォントサイズは変えられるけれど…。

ファイルを新規作成して保存しようとすると、C:\Users\(アカウント名)\mu_code\ 以下に保存しようとしてくる。

どうも色々と不自由さを感じる。もっとも、その分、Pythonの学習に専念しやすくなるのかもしれないなと。

以下のページで、開発方針が書かれている。

_About Mu

「重要な機能以外はあえて実装しない」「複雑さはとにかく排除」等々、とにかく初心者が悩みそうな要素は無くしてある、と謳っている。たしかに、Pythonの学習用エディタとしてはイイ感じかもしれない。

さておき。C:\Users\(アカウント名)\AppData\Local\python\mu\settings.json を変更すれば設定を変更できるのかもしれない…?

_Advanced Configuration

とりあえず作成して、以下を記述してみたところ、C:\Users\(アカウント名)\mu_code\ 以外のフォルダにファイルを保存するような動作になってくれた。

{
  "workspace": "D:\\home\\USERNAME\\mu_code"
}

このファイルに記述して、フォント変更できないかな…。

Source Code Proフォントがハードコーディングされてる、てな話があるな…。変更できないということだろうか。

_#83: Use Source Code Pro font for editors and REPL by stestagg - Pull Request #89 - mu-editor/mu - GitHub

あらゆる環境で見た目を統一したいから、という発言も目に入った。そういう理由でフォントを変更できないようにしてある、ということかもしれない。

初心者の学習用としては実にヨサゲなエディタのように思えたけれど、自分が使うかというとビミョーなのでアンインストールしておいた。Pythonスクリプトを書くなら、VSCode (Visual Studio Code) で環境を整えたほうが良さそうだし…。

#3 [web][neta] 中国からの攻撃が鬱陶しい

ここ数日、中国のIPアドレスから、自宅サーバに、ひっきりなしにログインを試みようとするアクセスが…。数分おきに違うIPアドレスでアクセスしてくる…。おそらくはWindowsサーバで一般的に使われるアカウント名で試してくるっぽいので、ログ監視ツール swatch を使って、その手のアクセスが来たら /etc/hosts.deny に登録する仕組みにはしているけれど。その処理が行われるたびにメールで知らせるようにしてあるので、1日に数十通の報告メールが…。

中国は、さすがにどうにかしないといかんのではないか…。いやまあ、ロシアもだけど…。ロシアのリファラーSPAMも鬱陶しいし…。アイツラにネットを使わせたらダメだ。ろくなことをしねえ。と思ったりもしたけど、犯罪者に国籍なんて関係ないか…。どこの国にもそういう輩は居るわな…。

2020/03/17(火) [n年前の日記]

#1 [python] Kivyのスクロールバー関係を勉強中

PySide2 + QML でスクロールバーを使う方法は分かったけれど、他のGUIライブラリではそのへんどうなのかなと気になってきて。例えば Kivy あたりはスクロールバーが用意されていたりするのだろうかと。てなわけで、そのあたりをググったり試したりして勉強中。

以下のページが参考になった。ありがたや。

_Kivy ScrollViewの基本 - Qiita

kvファイル(レイアウトを指定するファイル)内で、ScrollView とやらで囲んでやればいいらしい。いくつか指定が必要になるらしいけど、随分簡単なのだなあ…。

手元の環境、Windows10 x64 1909 + Python 3.7.7 64bit + Kivy 1.11.1 で試してみたけれど、すんなり動いてくれた。

それはともかく、まるでスマホのようなスクロールをするのだな…。画面の端にあたるとバウンドするあたりとか。

PCのようなスクロールバーにはならないのだろうか、と思ってググってみたら、scroll_type とやらを指定するといいようで。

_python - How can I control my Kivy scrollview by dragging the sliders? - Stack Overflow

        ScrollView:
            scroll_type: ['bars', 'content']
            # scroll_type: ['bars']
            bar_width: 16
みたいな。'bars' を指定するとPCっぽくなるし、'content' を指定するとスマホっぽくなる模様。bar_width で、スクロールバーの太さを指定できる。

一応、動作確認できたスクリプトも書いておく。
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.config import Config

from kivy.lang.builder import Builder

Config.set('input', 'mouse', 'mouse,disable_multitouch')

Builder.load_string('''
<MainScreen>:
    BoxLayout:
        size: root.size
        orientation: 'vertical'
        
        Label:
            size_hint_y: 0.1
            text: "Label Text"

        Button:
            size_hint_y: 0.1
            text: "Button Text"
    
        ScrollView:
            scroll_type: ['bars', 'content']
            # scroll_type: ['bars']
            bar_width: 16
    
            BoxLayout:
                size_hint: None, None
                size: 1280+128,720+128
                orientation: 'vertical'
    
                Image:
                    size_hint: 1.0, 1.0
                    allow_stretch: False
                    source: "./img2_1280x720.png"
                    canvas.before:
                        Color:
                            rgba: 0.3, 0.3, 0.3, 1
                        Rectangle:
                            size: self.size
                            pos: self.pos
''')

class MainScreen(BoxLayout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

class MainApp(App):
    def build(self):
        return MainScreen()

if __name__ == "__main__":
    MainApp().run()
1280x720 の img2_1280x720.png という画像を読み込んで表示する。画像内を左ボタンでドラッグしてもスクロールするし、スクロールバーをドラッグしてもスクロールする。

中ボタンドラッグでスクロールができたりしないかな…。でも、スマホ用を意識したライブラリっぽい気配もするから無理かな…。

2019/03/17() [n年前の日記]

#1 [gosu][ruby] gosu + opengl-bindingsを試していたり

せっかくだから、gosu + opengl の組み合わせだけではなく、gosu + opengl-bindings の組み合わせでもスクリプトが動くように修正作業をしているところ。

環境は以下。
とりあえず、以下のスクリプトは、どちらでも動くように修正できた。

_gosu_examples_mieki256/16_gosu_opengl_test1.rb
_gosu_examples_mieki256/17_gosu_opengl_test2.rb
_gosu_examples_mieki256/opengl_glut_only_test.rb

opengl-bindingsに対応させる際の注意点。 :

opengl 用のスクリプトを、opengl-bindings に対応させる際のポイントを一応メモ。

まず、require や include の書き方が変わる。

opengl の場合。
  # gem install opengl glu glut

  require 'gl'
  require "glu"
  require "glut"

  include Gl
  include Glu
  include Glut

opengl-bindings の場合。
  # gem install opengl-bindings

  require 'opengl'
  require "glu"
  require "glut"

  OpenGL.load_lib
  GLU.load_lib
  GLUT.load_lib

  include OpenGL
  include GLU
  include GLUT

また、glTranslate() や glRotate() も変わる。

opengl は glTranslate() や glRotate() と書けるけど。
glTranslate(x, y, z)
glRotate(angle, 0.0, 1.0, 0.0)

opengl-bindings は glTranslatef() や glRotatef() と書かないといけない。
glTranslatef(x, y, z)
glRotatef(angle, 0.0, 1.0, 0.0)

後者の書き方をすればどちらでも動くので、全部後者で統一しちゃってもいいのかもしれない。

また、opengl は配列をそのまま渡せるけれど。
glLightfv(GL_LIGHT0, GL_DIFFUSE, [1.0, 1.0, 1.0, 1.0])

opengl-bindings は、場合によっては pack() を使わないとダメらしい。
glLightfv(GL_LIGHT0, GL_DIFFUSE, [1.0, 1.0, 1.0, 1.0].pack("f*"))

以下のやり取りで解説されてた。

_glLightfv fails - Issue #28 - vaiorabbit/ruby-opengl

ただ、試したところ、毎フレーム呼ばれる処理の中で pack() で変換していると、処理時間がかかってしまって、描画までおかしくなるようで。初期化処理等で、できるだけ事前に pack しておいて、毎フレーム呼ばれる処理の中では pack 済みのデータを指定する、といった工夫が必要になるようだなと。

ライト設定でハマった。 :

以下のスクリプトを opengl-bindings に対応させようとして修正した際に、ライトの設定でハマったり。

_gosu_examples_mieki256/01_gosu_opengl_11.rb
_gosu_examples_mieki256/02_gosu_opengl_15.rb

スクリプトを実行するたびに、何故かオブジェクトが真っ暗になったり、明るくなったりする。動作が不定。条件が分からない。

色々ググってるうちに、なんとなく分かってきた。ライトの位置、もしくは方向を指定する際に、[x,y,z] を指定していたけど。最後に w も追加して [x,y,z,w] を指定しないと動作が不定になるっぽい。

# Light
LIGHT_POS = [1.0, 2.0, 4.0]            # 位置
LIGHT_AMBIENT = [0.5, 0.5, 0.5, 1.0]   # 環境光
LIGHT_DIFFUSE = [1.0, 1.0, 1.0, 1.0]   # 拡散光
LIGHT_SPECULAR = [1.0, 1.0, 1.0, 1.0]  # 鏡面光

LIGHT_POS_PACK = LIGHT_POS.pack("f*")
LIGHT_AMBIENT_PACK = LIGHT_AMBIENT.pack("f*")
LIGHT_DIFFUSE_PACK = LIGHT_DIFFUSE.pack("f*")
LIGHT_SPECULAR_PACK = LIGHT_SPECULAR.pack("f*")

...

    # opengl-bindings
    glLightfv(GL_LIGHT0, GL_AMBIENT, LIGHT_AMBIENT_PACK)
    glLightfv(GL_LIGHT0, GL_DIFFUSE, LIGHT_DIFFUSE_PACK)
    glLightfv(GL_LIGHT0, GL_SPECULAR, LIGHT_SPECULAR_PACK)
    glLightfv(GL_LIGHT0, GL_POSITION, LIGHT_POS_PACK)

    glEnable(GL_LIGHTING)    # ライティングを有効化
    glEnable(GL_LIGHT0)      # GL_LIGHT0 を有効化
LIGHT_POS = [1.0, 2.0, 4.0]            # 位置
↓
LIGHT_POS = [1.0, 2.0, 4.0, 0.0]       # 位置

おそらくだけど、OpenGL側は [x, y, z, w] の4つが指定されてることを前提にして動いてるのに、スクリプト側では [x, y, z] の3つしか渡してなかったから、最後の w は謎の領域から謎の値を読んで動作していたのではないかと。スクリプトを実行するたびに、謎領域のアドレスも値も変化してしまうから、明るくなったり暗くなったりしていたのかなと。

ちなみに、glLightfv(GL_LIGHT0, GL_POSITION, [x, y, z, w]) の w は、0.0 なら平行光源、それ以外なら点光源ということになってる模様。たぶん。

_光源の設定 - OpenGL de プログラミング
_OpenGL ライティング(Lighting)

opengl-bindingsが落ちる。 :

Windows10 x64 + Ruby 2.5.3 p105 上で、以下のスクリプトを opengl-bindings で動かすと、数秒後に Segmentation fault で落ちてしまう。

_opengl_glut_only_test.rb

opengl + glu + glut で動かした場合は落ちないのだけどな。

> ruby opengl_glut_only_test.rb
load opengl-bindings
D:/Ruby/Ruby25/lib/ruby/gems/2.5.0/gems/opengl-bindings-1.6.8/lib/glut.rb:421: [BUG] Segmentation fault

ruby 2.5.3p105 (2018-10-18 revision 65156) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0004 p:---- s:0016 e:000015 CFUNC  :call
c:0003 p:0021 s:0012 e:000011 METHOD D:/Ruby/Ruby25/lib/ruby/gems/2.5.0/gems/opengl-bindings-1.6.8/lib/
glut.rb:421
c:0002 p:0393 s:0006 e:000005 EVAL   opengl_glut_only_test.rb:154 [FINISH]
c:0001 p:0000 s:0003 E:000100 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
opengl_glut_only_test.rb:154:in `<main>'
D:/Ruby/Ruby25/lib/ruby/gems/2.5.0/gems/opengl-bindings-1.6.8/lib/glut.rb:421:in `glutMainLoop'
D:/Ruby/Ruby25/lib/ruby/gems/2.5.0/gems/opengl-bindings-1.6.8/lib/glut.rb:421:in `call'

-- C level backtrace information -------------------------------------------
C:\WINDOWS\SYSTEM32\ntdll.dll(ZwWaitForSingleObject+0xc) [0x7796a8fc]
C:\WINDOWS\System32\KERNELBASE.dll(WaitForSingleObject+0x12) [0x76d445f2]
C:\Ruby\Ruby25\bin\msvcrt-ruby250.dll(rb_print_backtrace+0x40) [0x62a8b220]
C:\WINDOWS\SYSTEM32\ntdll.dll(RtlCaptureStackContext+0x1e521) [0x7799da71]

-- Other runtime information -----------------------------------------------

...
_全エラーメッセージ - error.txt

なんでだろうな。

VMware Player 12 + Ubuntu 18.04 + Ruby 2.5.1 p57 + opengl-bindings 1.6.8 なら落ちない。Windows上でだけ落ちるということかなあ。

teapot をワイヤー表示するとすぐに落ちるけど、ソリッド表示にしたらちょっと落ちにくくなった気もした。でもまあ、結局は落ちるけど。

2018/03/17() [n年前の日記]

#1 [ruby][mruby] Cで書いたプログラムからmrubyを呼び出せるか実験その2

Windows10 x64 + MSYS2 上で、Cで書いたプログラムに mruby 1.4.0 を組み込んで動かせるか実験。

昨日は、ただ単に組み込んでビルドできるか試したけれど、今回はCで書いたクラスを mrubyスクリプトから呼び出せるか試してみた。

以下の記事を参考にして作業。

_mruby で C 言語の構造体をラップしたオブジェクトを作る正しい方法 - Qiita
_手探りでおぼえるmruby その1:クラスを定義する、メソッドを定義する - エンジニアのソフトウェア的愛情

ディレクトリ構成。 :

以下のような構成で作業。
~/prg
|
+---- mruby
      |
      +---- classmruby
      |
      +---- mruby

名前が変わっている部分があるらしい。 :

mruby 1.4.0 では、タイプや名前が変わってるものがいくつかある模様。
  • RClass → struct RClass
  • ARGS_NONE() → MRB_ARGS_NONE()
  • ARGS_REQ(1) → MRB_ARGS_REQ(1)

実験に使ったソース。 :

以下のような .c、.rb、Makefile になった。前述の解説ページの写経状態だけど…。

_classmruby.c
#include <stdio.h>
#include <errno.h>
#include <mruby.h>
#include <mruby/compile.h>
#include <mruby/proc.h>
#include <mruby/class.h>
#include <mruby/data.h>
#include <mruby/variable.h>
#include <mruby/string.h>

struct my_class
{
  int num;
  FILE *fp;
};

static void mrb_my_class_free(mrb_state *mrb, void *ptr);

// const static struct mrb_data_type mrb_my_class_type = {"MyClass", mrb_free};
const static struct mrb_data_type mrb_my_class_type = {"MyClass", mrb_my_class_free};

// class method
mrb_value mrb_my_class_initialize(mrb_state *mrb, mrb_value self)
{
  FILE *fp;
  struct my_class *h;
  mrb_value path;
  char *cpath;

  h = (struct my_class *)mrb_malloc(mrb, sizeof(struct my_class));
  h->fp = NULL;
  DATA_TYPE(self) = &mrb_my_class_type;
  DATA_PTR(self) = h;

  mrb_get_args(mrb, "S", &path);
  cpath = mrb_str_to_cstr(mrb, path);
  fp = fopen(cpath, "r");
  if (fp == NULL)
  {
    if (errno == EMFILE || errno == ENFILE)
    {
      mrb_full_gc(mrb);
      fp = fopen(cpath, "r");
    }
    if (fp == NULL)
    {
      mrb_raisef(mrb, E_ARGUMENT_ERROR, "Cannot open file: %s", path);
    }
  }

  h->num = 1234;
  h->fp = fp;
  return self;
}

mrb_value mrb_my_class_get(mrb_state *mrb, mrb_value self)
{
  struct my_class *h = DATA_PTR(self);
  return mrb_fixnum_value(h->num);
}

mrb_value mrb_my_class_put(mrb_state *mrb, mrb_value self)
{
  struct my_class *h = DATA_PTR(self);
  mrb_int num;
  mrb_get_args(mrb, "i", &num);
  h->num = num;
  return mrb_fixnum_value(num);
}

mrb_value mrb_my_class_read(mrb_state *mrb, mrb_value self)
{
  struct my_class *h;
  size_t n;
  char buf[1024];

  h = DATA_PTR(self);
  n = fread(buf, 1, sizeof(buf), h->fp);
  if (n == 0)
  {
    mrb_raise(mrb, E_ARGUMENT_ERROR, "fread(3) returns 0");
  }
  return mrb_str_new(mrb, buf, n);
}

static void mrb_my_class_free(mrb_state *mrb, void *ptr)
{
  struct my_class *h = ptr;
  if (h->fp != NULL)
  {
    fclose(h->fp);
    h->fp = NULL;
  }
  mrb_free(mrb, h);
}

int main(int argc, char *argv[])
{
  // open mruby state
  mrb_state *mrb = mrb_open();
  if (mrb == 0)
  {
    printf("cannot open mruby state.\n");
    return -2;
  }

  // define mruby class
  struct RClass *my_class;
  my_class = mrb_define_class(mrb, "MyClass", mrb->object_class);
  MRB_SET_INSTANCE_TT(my_class, MRB_TT_DATA);

  // define method
  mrb_define_method(mrb, my_class, "initialize",
                    mrb_my_class_initialize, MRB_ARGS_NONE());

  mrb_define_method(mrb, my_class, "get",
                    mrb_my_class_get, MRB_ARGS_NONE());

  mrb_define_method(mrb, my_class, "put",
                    mrb_my_class_put, MRB_ARGS_REQ(1));

  mrb_define_method(mrb, my_class, "read",
                    mrb_my_class_read, MRB_ARGS_NONE());

  // file open
  FILE *fp = fopen("main.rb", "r");

  // run mruby script
  mrb_load_file(mrb, fp);

  // file close
  fclose(fp);

  // close mruby state
  mrb_close(mrb);
  return 0;
}
関係がありそうな関数をメモすると…。
  • mrb_define_class() でクラスを定義。struct RClass * が返ってくる。
  • mrb_define_method() でクラスメソッドを定義。
  • MRB_ARGS_NONE() は引数が無いことを指定。
  • MRB_ARGS_REQ(n) で引数の個数を指定。
  • const static struct mrb_data_type mrb_my_class_type = {"MyClass", mrb_my_class_free}; で、クラスのインスタンスを解放する時に呼ばれる関数を指定。

_main.rb
a = MyClass.new("main.rb")
p a.get
a.put(3)
p a.get
puts
p a.object_id
p a.nil?
puts
p a.read
やってることは…。
  • C側で書いたクラスを、パラメータを渡しながら生成。
  • クラスが持ってる変数の値を読む。
  • クラスが持ってる変数に値を設定。
  • クラスのオブジェクトIDを取得。
  • クラスが nil かどうか調べる。
  • ファイルを読んで返すメソッドを呼ぶ。

_Makefile
TARGETS = classmruby

all: $(TARGETS)

SDL_PREFIX  = /mingw32
# SDL_PREFIX  = /mingw

MRB_HEAD    = ../mruby/include
MRB_LIBS    = ../mruby/build/host/lib

# CG_LIBS     = 

CROSS_COMPILE = $(SDL_PREFIX)/bin/
CC = $(CROSS_COMPILE)gcc
CXX = $(CROSS_COMPILE)g++

CFLAGS = -g -Wall -I$(MRB_HEAD)
CXXFLAGS = -g -Wall -I$(MRB_HEAD)

LIBS = -L$(MRB_LIBS) -lmruby -lpthread -lm
LDFLAGS = -Wl,-rpath -static -static-libgcc -static-libstdc++

clean:
	rm -f *.o *.a *~ $(TARGETS)

$(TARGETS): $(TARGETS).o
	$(CXX) -o $@ $^ $(LIBS) $(LDFLAGS)

  • -static をつけて、スタティックリンクをしてる。

make でビルド。./classmruby.exe で実行。
$ make
/mingw32/bin/gcc -g -Wall -I../mruby/include   -c -o classmruby.o classmruby.c
/mingw32/bin/g++ -o classmruby classmruby.o -L../mruby/build/host/lib -lmruby -lpthread -lm -Wl,-rpath -static -static-libgcc -static-libstdc++

$ ./classmruby.exe
1234
3

48457229
false

"a = MyClass.new(\"main.rb\")\np a.get\na.put(3)\np a.get\nputs\np a.object_id\np a.nil?\nputs\np a.read\n"

mrubyスクリプト側でクラスを生成して、値を読んだり、値を設定したり等ができることが確認できた。

Makefileについて。 :

Makefile内で使われている特殊変数についてよく分からなかったのでググったり。

_Makefile の特殊変数の一覧
_Makefile の書き方 (C 言語) ・ WTOPIA v1.0 documentation

  • $@ ... ターゲット名
  • $^ ... 依存ファイルのリスト

2017/03/17(金) [n年前の日記]

#1 [dxruby] DXRuby開発版のCustomRenderTarget関係を勉強中

_DXRuby開発版 1.5.21 以降は CustomRenderTarget というクラスが追加されて、ソレを使うとDXRubyでも3D描画その他ができるようになる、ということで書き方を勉強中。と言っても、開発版のzipに同梱されてるサンプルの、3Dtest.rb、spheretest.rb をコピペして弄ってる段階だけど。

ひとまず、こんな感じに。

_crt_test03.rb



しかしコレ、テクスチャの描画はどうやるんだろう。…もしかして 2Dtest.rb を参考にすればいいのだろうか。

意味も分からずにあちこちコピペしてみたら、なんだかソレっぽくなってきた。

_crt_test04.rb



最終的に各ドットの色を決めてくれる、ピクセルシェーダのソースをどう書けばいいのかチンプンカンプンなので、なんだか色がおかしいような気もするのだけど…。とりあえずテクスチャも描画できるのだなと。

OpenGL上では、u,v の v を上下反転しないと正常な描画にならなかったけど。DirectX ではテクスチャ座標の上下の向きが違うから、u,v の v を反転しないまま使えば正常に、と思ったけれど実際試してみたら OpenGL と同様に v を上下反転すると正常描画されるようで。…ホントにそうかな。自分の書いた変換スクリプトがバグってないか。怪しいな。

tinywavefrontobj.rbを更新。 :

先日作成した tinywavefrontobj.rb を使って、Wavefront形式(.obj)の3Dモデルデータファイルを、実験用モデルデータへと変換出力しようとしたのだけど。

調べてみたら OpenGL と DirectX は座標系からして違うようで。OpenGLは +z が手前だけど、DirectX は +z が奥らしい。なので、OpenGL用に書いた件のスクリプトは、そのままでは使えなくて。

_OpenGLの座標系

また、現状の CustomRenderTarget、というか VertexBuffer は、頂点インデックス配列を使わないらしい。DXRuby開発版の readme.txt にはそのように書いてある、ように見えた。
■4-7. VertexBufferクラス

(中略) このバージョンではIndexBufferは用意されていません。

ということで、tinywavefrontobj.rb に、いくつかオプションを追加して、DXRubyから使えるデータにも変換できるように修正。

_mieki256/tinywavefrontobj

とりあえずだけど、DXRuby で使えるデータを出力したいなら、--no-index --zflip --color --hexcolor オプションをつければなんとかなる、かなと…。
ruby tinywavefrontobj.rb sample.obj --no-index --zflip --color --hexcolor --json > sample.json
オプションの効果は以下。
  • --no-index : 頂点インデックス配列をつけない。
  • --zflip : z値を反転。OpenGLとDirectXはz軸の向きが逆、らしいので。
  • --color : 頂点カラー配列も出力する。とりあえず、Wavefront形式(.obj)ファイル内の、マテリアル(材質設定)のdiffuse色を、頂点カラーとして代用。
  • --hexcolor : 色を 0xAARRGGBB の形で出力。

jsonファイルにしておけば、Rubyスクリプト側では以下のように書いて読み込める。
require 'json'

...

vertex_array = nil
normal_array = nil
uv_array     = nil
color_array  = nil

File.open("sample.json") { |file|
  hash = JSON.load(file)
  vertex_array = hash["vertex"]  # 頂点配列
  normal_array = hash["normal"]  # 法線配列
  uv_array     = hash["uv"]      # uv配列
  color_array  = hash["color"]   # 頂点カラー配列
}

ところで、色の並びは 0xAARRGGBB でいいのかしらん。DirectX はそのへんどうなってるのかググってもよく分からなかったのだけど、0xRRGGBBAA とか 0xAABBGGRR もあるのだろうか…。

Matrixクラスで少し悩んだり。 :

_RubyのMatrixクラス の中に look_at() なんてメソッドは見当たらないのに、サンプルは動いているぞ、どういうことだ? などと悩んでしまったりして。

コレ、DXRuby開発版自体に、Matrix という名前のクラスが含まれていたのですな…。考えてみたら、DXRubyのサンプル側では require 'matrix' が書かれていないから、Ruby標準添付ライブラリの Matrix じゃなくて DXRuby が持ってる Matrix が使われるのだな…。

_3度目のVectorとMatrix - mirichiの日記
_[Ruby][DXRuby] DXRuby ユーザのための 標準添付ライブラリの紹介(前編) - あおたくノート

DXRuby側の Matrix はゲーム用に特化したものらしい、とメモ。更に、Ruby標準添付ライブラリには、 _Vectorクラス もあるのですな。これも DXRuby側で独自のクラスを持っている、と…。

しかし、たしかにコレ、ちとハマりそうな気がする…。クラス名をビミョーに変える等は難しいのだろうか…。いや、難しいからこうなってるのだろうけど。

参考ページ。 :


2016/03/17(木) [n年前の日記]

#1 [prog] Processingで一本道の道路の生成をテスト

DXRubyを使って、2Dで一本道を生成するのはソレっぽくできたので、今度は Processing を使って3Dで一本道を生成してみたり。環境は Windows10 x64 + Processing 3.0.2。

sketch_roadmake1_ss.png
_sketch_roadmake1 (Processing.js版)

ソース : _sketch_roadmake1.pde
使用画像 : _road_tex.png
Windows版の実行バイナリも含めた一式 : _sketch_roadmake1_20160317.zip (72.4MB)

License は CC0 / PublicDomain ってことで。

気になる点をメモ。
さておき、道路脇の地面、ビルボードの樹木、背景等を入れれば、もう少しそれっぽくなりそうかなと。そのためには、道路のポリゴンだけではなく、地面やビルボードのポリゴン座標もデータとして持たせないと。データの持ち方・作り方を変更しないといかんなと。

ググっていたら、Processing なら透視変換行列を加工してビルボードができるけど、Processing.js では行列を取り出す命令が実装されてないから無理、という話を見かけた。なかなか厳しい。

Processingのスクリーンショットについて。 :

普段使ってる Screenpresso で、Processing のスクリーンショットを撮ったら、 _なんだかおかしな画像 に。別のツールを使わないとダメか…。

Shotty という、DirectX使用アプリのスクリーンショットを撮れるツールを使ってみたけど、真っ白な画面になった。DXRuby の画面だったら、コレでイケるのだけどな…。

WinShot を使ったらキャプチャできた。これでいいか…。ウインドウの枠外まで少し余分に撮れちゃうのが気になるけれど、このあたりはWindows10の問題なんだろう。スグレモ撮画ツール Ver.4 も同じ状態になったし。

#2 [prog] シームレス画像ってどうやって作るんだろう

Processingで何かしらを書いてる際、テクスチャ画像ファイルを別途読み込ませて使っているのがなんだかアレだなと思えてきて。せっかくProcessing を使ってるのだから、ここはテクスチャ画像まで生成できたらグッドだろう、そうなればソースだけ置いとくだけで済むよな、と。

てなわけで、道路テクスチャを生成できないか試していたのだけど、シームレス画像にするところで悩んでしまったり。普段 _GIMPでシームレス画像は作ってる けど、どういう処理をすればシームレス画像になるんだろう…。

ググってみたけど、出てくるのは画像処理ソフトを使ったシームレス画像の作り方ばかり。プログラムで生成するやり方については、ほとんど情報がなく。あるとしても、画像を解析して特徴を云々、的な研究室でやってそうな難しい論文だったり。

GIMPのソレは、縦横半分ずつずらしてることは分るけど、そこからどういう合成をしてるのかちょっとよくわからないな…。

2015/03/17(火) [n年前の日記]

#1 [pc] Atomエディタを再インストール

Atomエディタの紹介記事を眺めているうちに最新版を入れてみたくなったので再インストール。今までは _Chocolatey 経由でインストールしてたのだけど、現在は _インストーラがある みたいなので、chocolatey のソレをアンインストール後、インストーラ版でインストール。

chocolatey でのアンインストールは、管理者権限でDOS窓を開いて、
choco list -localonly
でインストール済みのアプリを確認してから、
choco uninstall atom
でアンインストール、だったかな。たぶん。たしかそのはず。

インストーラ版を実行すると、何の問い合わせもなく問答無用で C:\Users\ユーザアカウント名\AppData\Local\atom\ にインストールされた。

メニューの日本語化をしてみようとして、 _Localization というパッケージをインストールしてみたのだけど、日本語化ができず。本来なら Packages メニューの中に Localization という項目が増えるはずなのだけど…。ググってみたら、 _最新版の Atom 上では動かない らしい。メニューを指定する部分が合ってない、と書いてあるように見える。

#2 [zatta][neta] 高音質microSDと御守り

SONYの高音質microSDの記事を眺めてるうちになんとなくバカ妄想。以下のような記事を誰か書かないものかなと…。

実験結果と称する「オチ」は、3パターンほど思いついたり。
誰かそういう記事を書かないかものか。今ならまだ少しはアクセス数を稼げるんじゃないか。や、「お前が書け」って言われそうだけどメンドクサイです。遠慮します。

昔だったらテキストサイト系でそういう記事が書かれてそうだなと思えてきたり。今はどうなんだろ。DPZぐらいしかこういうのを書かない印象。ブロガーと呼ばれる人達は、なんかオシャレでカッコイイ記事しか書かないし。

ニコ動にレポート動画をアップするのもアリなのかな。MP3プレイヤーに御守りを貼った時と貼ってない時の両方の音を流して「この違い。お分かりいただけるだろうか」と。「わかんねえよ」とコメントがつくのか、「たしかに違う」「なんと瑞々しい」「涙が出てきた。これは良い音だ」系のコメントがつくのか…予測がつかないや。

#3 [nitijyou] 犬が脱走した

昼ぐらいまでは小屋に居たらしいのだけど、夕方、小屋を破壊して脱走したらしくて。親父さんが自転車で探しに行ったけど見つからず。

以前飼ってた犬は3回脱走して、1回目はどこかの家で保護されて、2回目は1週間ぐらいして戻ってきて、3回目は戻ってこなかったわけで。…今回は戻ってくるのだろうか。とりあえず、朝になったら自分も探しに行くつもり。

2014/03/17(月) [n年前の日記]

#1 [cg_tools] Makehuman 1.0.0をインストール

_Makehuman | Open source tool for making 3D characters

人体モデル生成ツール Makehuman の 1.0.0 が公開されたらしいのでインストールしてみたり。環境は Windows7 x64。zipを解凍して適当なフォルダにコピーして、makehuman.exe を実行。

昔の版に比べると、サクサク操作できるようになってる…。素晴らしい…。

_MakeHuman 1.0.0 リリース! - オープンソースで無料の人体モデル生成ツール正式安定版!Win&Mac&Linux対応! | 3D人 によると、日本語訳に協力してくれる人を募集中っぽい。

出力モデルをblenderでインポート。 :

.mhx で保存して blender 2.69 でインポートできるか確認してみたり。
  • Makehumanインストールフォルダ\blendertools\mhx_importer\ 内に、blender の addon が入ってる模様。
  • blender → ファイル → ユーザー設定 → アドオン → ファイルからインストール、を選ぶ。import_scene_mhx.py を指定してインストール。チェックを入れて有効化。ユーザー設定を保存。
  • ファイル → インポート → MakeHuman(.mhx) を選択。保存した .mhx を選択してインポート。
一応インポートできた。ポーズの付け方がちょっとよく分からないけど…。体のあちこちについてる丸い何かを右クリック選択して移動したり回転させたりするとポーズが変わった。

男子学生さんにオススメしたいなと。 :

とりあえず、男子中学生〜大学生さんにオススメしたいソフトだなと。裸のお姉さんを弄ってるだけでも、なんだか ムラムラムッハーできるよ 楽しいよと。まあ、大半の学生さんは「なんじゃこりゃゲラゲラ」で終わっちゃうだろうけど。中には、「もうちょっと自分好みの顔つきにしたいな…」と思い始めて色々やってたらハマっちゃって超絶美形モデルデータを作れるスーパー3DCGモデラーさんになっちゃう人が出てくるかもしれんし。てのは冗談だけど、「PC使えばこんな遊びもできるんだな」と知っておくだけでも損はしないような気もしたり。

と思ったけど、ソレならMMDのほうが、という気もしてきた。MMDなら美少女揃いだもんな…。

#2 [digital] AndroidがクソなのかLenovoがクソなのか

寝ていたら、手持ちのAndroidタブレット端末、Lenovo IdeaPad Tablet A1 に起こされてしまって。一定間隔でバイブレーションが鳴って、うるさくて目が覚めてしまった。

どうやら、OSが落ちる→再起動→再起動失敗→再起動を延々と繰り返してたらしい。電源ボタンを1回押してスリープ?させた状態で放置しておくとこういう状態になることが多いような気がする。

Android 2.3 搭載の古くてショボイ製品なので、不具合があっても仕方ないのかもと思いつつ。こうも不具合があると Androidってボロボロだよなーという印象ばかりがどんどん強くなってあまり良い状態ではないなと。Android がクソなのか、Lenovo製品がクソなのか、それともインストールしたアプリが何か悪さをしてるのか、あるいはハードウェアレベルで不良品を掴んでしまったのか、そのへん分からんのですが。とにかくクソ。

これがPCなら、memtest86+等を動かすことで、メモリやCPUが壊れてるか確認できるし、HDDメーカのツールを使えばHDDが壊れてるか確認もできるのだけど。Android ってその手のチェック用ツールはないのだろうか…。せめて、ハードウェアが壊れてるかどうかぐらいは知りたいのだけど。しかし下手するとチェックツールを回すだけで凄い熱になって壊れちゃったりしそうだし。

まあ、所詮Lenovoだから…。

#3 [web] plalaのblogサービスが終了するらしいのだけど

_Broach(ブログ)サービス終了について|2014年のお知らせ一覧|ぷらら

「これからはblogですよ!」と猫も杓子もblogサービスを提供し始めた当時を思い返すと、なんだか寂しい感じもしてきたり。あの騒ぎは何だったのだろう。

plalaのblogサービスには、なんだかもやもやしていて。plalaでやってるWebサイト公開サービスのほうは、最高でも容量100MBしかないのに、blogサービスのほうは最初から容量1GB。blogサービスに比べたら、静的ページを公開するサーバのほうが負荷は低いんだから、そっちもついでに増やしてよ…。まあ、一度構築してしまったシステムに手を加えるのは危ないとか、そんなところをパワーアップしても集客には繋がらないとか、そういう判断があったのだろうけど。しかし、そういうアレコレの上で用意したblogサービスまで終了とは…。plalaは一体何をしたかったのか。結局、「他所がやってるからウチもやらないと」みたいなノリで始めたサービスはえてして上手く行かないよね、ってことになるのかな。

ここ最近、 _「Static Site Generator」 等に興味があって、ちょこちょこ調べてたりするのだけど。もしかすると、ローカルで動作するサイト生成ツールを活用することを前提にして、フツーのWebサイト公開サービスを拡充したほうが、単なるサイト公開にもblog公開にも両方使えて、使える範囲が広くなることで再度訴求力を…。とか思ったりもしたけどtwitterその他の海外サービスにユーザが集中してる現状を考えると、非クラウドサービス、非SNSを強化したところで…という判断になりそうだなと思えてきたり。

今は、月に100〜125円払って10GB使えるサービス等があるわけだけど。月に1,300円分も払って100MBしか使えないplalaのソレでは話にならないよな…。

というか、ユーザが何かしらを公開するソレが充実してるかどうかでプロバイダを選択、なんてノリは今ではもう考えにくいし。ソレ、ベッコアメとかISDNとかテレホタイムとか、そういう時代の感覚だよな…。

2013/03/17() [n年前の日記]

#1 [digital] gphoto2を使ってみた

コマンドラインでデジカメを制御・リモートコントロールできる、gphoto2 というツールを試しに使ってみた。VMWare Player を使って仮想PCを立ち上げ(?)、そこで Ubuntu Linux を動かしてテストをした。
Ubuntu の場合、gphoto2 は標準で入ってない。apt-get その他を使ってインストールしないといけない。今回は、Ubuntuソフトウェアセンターを起動して、そこからインストールした。

使用例をメモ。 :

Ubuntu 上でshellを起動して、巷の記事を参考に入力。それぞれ何を指定してるのか、よく分かってないけど、一応動いてるように見える。

ヘルプ表示。
$ gphoto2 --help
$ gphoto2 --usage

USB接続されてるデジカメを自動検出。
$ gphoto2 --auto-detect
型式                         ポート                                            
----------------------------------------------------------
Canon PowerShot A300 (PTP mode) usb:002,004     

デジカメを撮影モードにする。
$ gphoto2 --set-config capture=on

接続したデジカメの設定項目一覧を表示。
$ gphoto2 --list-config
/main/actions/focuslock                                                       
/main/actions/syncdatetime
/main/settings/ownername
/main/settings/capturetarget
/main/settings/capture
/main/status/model
/main/status/firmwareversion
/main/imgsettings/imagequality
/main/imgsettings/imageformat
/main/imgsettings/imagesize
/main/imgsettings/iso
/main/imgsettings/whitebalance
/main/imgsettings/photoeffect
/main/capturesettings/zoom
/main/capturesettings/assistlight
/main/capturesettings/exposurecompensation
/main/capturesettings/flashmode
/main/capturesettings/shootingmode
/main/capturesettings/aperture
/main/capturesettings/focusingpoint
/main/capturesettings/shutterspeed
/main/capturesettings/meteringmode
/main/capturesettings/afdistance
(以下略)

gphoto2 にはシェルモードとやらがあるそうで。そのモードにすると、コマンドだけをどんどん打ち込んでいけるので、動作確認が少し楽になる。TABキーを押せば、コマンド文字列の補完もできる。
$ gphoto2 --shell

gphoto2: {/home/mieki256/Pictures} /> list-config                             
/main/actions/focuslock
/main/actions/syncdatetime
/main/settings/ownername
(以下略)

各設定の状態確認、あるいは設定をするには、以下を使う。
状態確認get-config 項目名
設定(インデックス値か値そのものを指定)set-config 項目名=値
設定(インデックス値を指定)set-config-index 項目名=インデックス値
設定(値そのものを指定)set-config-value 項目名=値
set-config は、インデックス値、もしくは、値そのものを指定するらしい。

カメラ名の表示。
gphoto2: {/home/mieki256/Pictures} /> get-config model
Label: カメラの型式
Type: TEXT
Current: Canon PowerShot A300

現在のISO値を確認。
gphoto2: {/home/mieki256/Pictures} /> get-config iso
Label: ISO スピード
Type: RADIO
Current: 50
Choice: 0 50
Choice: 1 100
Choice: 2 200
Choice: 3 400
Choice: 4 自動

項目名と内容についてメモ。
modelカメラの型式
isoISO
exposurecompensation露出
imageformat画像形式
imagequality画像品質
imagesize画像サイズ
flashmodeフラッシュモード
assistlight補助光
meteringmode測光モード
focusingpointフォーカスの焦点
photoeffect写真の効果
zoomズーム
shutterspeedシャッター速度
PowerShot A300の場合、shutterspeed は指定しても無視された。たぶん固定されてるか、別の項目値から自動で決定されてしまうのかなと。

撮影、かつ、PC側に撮影画像をDLするには、capture-image-and-download を使う。撮影すると一旦デジカメ内のカードメディアに画像が保存され、その画像をDL後、デジカメ側の画像を自動で削除してくれる模様。
gphoto2: {/home/mieki256/Pictures} /store_00010001/DCIM/411CANON> capture-image-and-download
新しいファイルの格納場所: /store_00010001/DCIM/411CANON/IMG_1107.JPG
'IMG_1107.JPG' をフォルダ '/store_00010001/DCIM/411CANON' からダウンロード中...
ファイルを IMG_1107.JPG で保存します                                          
カメラ内のファイル /store_00010001/DCIM/411CANON/IMG_1107.JPG の削除をしています
'IMG_1107.JPG' をフォルダ '/store_00010001/DCIM/411CANON' から削除中...
ちなみに上の事例では、「{/home/mieki256/Pictures}」がPC側のカレントディレクトリ、「/store_00010001/DCIM/411CANON」がデジカメ内メディアのカレントディレクトリを示している。

撮影後、PC側に画像をダウンロードしないで、デジカメカード内に残しっぱなしにするなら、gphoto2 --capture-image でいいらしい。

デジカメカード内の画像を全取得するなら、gphoto2 --get-all-files。

露出の指定は、少しハマった。「=0」を指定したら「露出:+2」になるのかと思いきや、「露出:0」になったりして。「=0」の指定が、「露出=0にしろ」と解釈されてしまったらしい…。「=+2」を指定したら、「露出:+2」になってくれた。
gphoto2: {/home/mieki256/Pictures} /store_00010001/DCIM/411CANON> get-config exposurecompensation
Label: 露出度
Type: RADIO
Current: 0
Choice: 0 +2
Choice: 1 +1 2/3
Choice: 2 +1 1/3
Choice: 3 +1
Choice: 4 +2/3
Choice: 5 +1/3
Choice: 6 0
Choice: 7 -1/3
Choice: 8 -2/3
Choice: 9 -1
Choice: 10 -1 1/3
Choice: 11 -1 2/3
Choice: 12 -2

gphoto2: {/home/mieki256/Pictures} /store_00010001/DCIM/411CANON> set-config exposurecompensation=12

gphoto2: {/home/mieki256/Pictures} /store_00010001/DCIM/411CANON> set-config exposurecompensation=-2

gphoto2: {/home/mieki256/Pictures} /store_00010001/DCIM/411CANON> set-config exposurecompensation=+2
後になって、set-config-index 設定項目=インデックス値、を使えばよかったことに気付いたりして。

問題点。 :

時々、「デバイスがロックできない」と言われて制御できなくなった。
$ gphoto2 --get-config flashmode
                                                                               
*** エラー ***             
I/O ライブラリ ('デバイスをロックすることが出来ませんでした') でエラーが発生しました: 既にカメラは使用中です。
*** エラー (-60: 'デバイスをロックすることが出来ませんでした') ***       
デジカメの電源を再投入すれば、受け付けるようになるのだけど。何が起きているのか、ちょっとよく分からない。何か別のアプリと制御を取り合ってる?

撮影画像にノイズが入ることにも気がついた。最初の頃の撮影画像は問題が無いけれど、時間が立つにつれ赤い点や白い点がポツポツと出始める。デジカメ側はずっと電源が入った状態になるのだけど、おそらくはそのせいで、デジカメ本体が熱を持ち、CCDに熱ノイズが発生するのではないかと想像。これは結構致命的。電源投入後に急いで作業をして、できるだけ早く電源をoffにする、といった注意が必要かもしれず。

電源on/offも制御出来たら嬉しいのだけど、そんなことはできるんだろうか? 電源on→offはともかく、電源off→onは難しそうだけど…。それができないと、熱の問題で、定点観測等にも使えない気がする。

露出を変えて3枚撮影するのに、約40秒かかった。仮に、電動雲台等を自作して全自動でパノラマ撮影するとなると、60枚ぐらい必要になるだろうから…。撮影時間だけでも単純計算で40分ぐらいかかってしまう。かなり厳しい。周りの風景がどんどん変わってしまう…。

自分が持ってる Canon PowerShot A300は、CCDが死にかけているぐらい古い機種なので、PCからリモート制御できるらしいのだけど。 _2009年以降のCanon製コンデジは制御機能が省かれている らしいので、古いデジカメじゃないと、こういう実験はできないっぽい。

とりあえず自動撮影はできそうだけど。 :

色々厳しい部分があるものの、Linux の入ったノートPCと、gphoto2 から制御できるデジカメを持ち歩けば、露出を変えて自動撮影、みたいなことができそうではあるなと。HDRI作成が少しは楽に…。

でも、RAW画像からHDR画像を生成、みたいな話をどこかで見かけた記憶も。それができるなら、RAW画像を取り出せるデジカメを入手して〜とかやったほうが楽なのかな…?

調べてみたら、RAWから作れるHDR画像は、「HDR風の画像」であって、HDRIではないっぽい。

そもそも今時のデジカメは、 _オートブラケット なる機能があったりするらしい。 _2011年度版 各社カメラのHDRオートブラケット撮影能力リスト を眺めた感じでは、gphoto2から露出を変えて撮影、なんてことをやるよりも、最初からオートブラケット機能を持ってるデジカメを使うほうが全然楽であろう予感も。

コンデジじゃなくて、Webカメラでこういうことはできないんだろうか。どうせPCを持ち歩いて制御するなら、Webカメラのほうが小さいし画像取得も速いのではないかと。もちろん、解像度と画質は、コンデジよりはるかに劣るだろうけど…。

テストに使ったシェルスクリプトをメモ。 :

capinit.sh。撮影前の初期化用。
#!/bin/bash
# 撮影モード有効化・設定初期化

echo gphoto2 on.

echo -e "\n撮影モード有効化"
gphoto2 --set-config capture=on
gphoto2 --get-config capture

echo -e "\nフラッシュ無効化"
gphoto2 --set-config flashmode=0
gphoto2 --get-config flashmode

echo -e "\n画像サイズ設定"
gphoto2 --set-config imagesize=0
gphoto2 --get-config imagesize

echo -e "\n画質設定"
gphoto2 --set-config imagequality=2
gphoto2 --get-config imagequality

echo -e "\nISO設定"
gphoto2 --set-config iso=50
gphoto2 --get-config iso

caprun.sh。露出を変えて3枚撮影。
#!/bin/bash
# 露出を変えて撮影

START=`date +%s`

echo 露出 = 0
gphoto2 --set-config exposurecompensation=0

echo 撮影開始
gphoto2 --capture-image
# gphoto2 --capture-image-and-download

echo 露出 = -2
gphoto2 --set-config exposurecompensation=-2

echo 撮影開始
gphoto2 --capture-image

echo 露出 = +2
gphoto2 --set-config exposurecompensation=+2

echo 撮影開始
gphoto2 --capture-image

END=`date +%s`
SS=`expr ${END} - ${START}`
echo "${SS} sec."

caprnd.sh。デジカメのカード内の全ファイルを取得、かつ、削除。
#!/bin/bash
# 撮影モード無効化・ファイル取得

echo -e "\n露出=0に設定"
gphoto2 --set-config exposurecompensation=0
gphoto2 --get-config exposurecompensation

echo -e "\n全ファイルをダウンロード"
gphoto2 --get-all-files

echo -e "\n撮影モード無効化"
gphoto2 --set-config capture=off
gphoto2 --get-config capture

echo -e "\nカード内の全ファイルを一覧表示"
gphoto2 -L

echo -e "\nカード内の全ファイルを削除"
gphoto2 --delete-all-files -R

2012/03/17() [n年前の日記]

#1 [javascript] enchantMapEditorの使い方がわからず

DLして、Firefox上で動かしてみたものの、動いているようには見えず。一般的にこの手のエディタは、チップ画像をクリックするとそのチップが配置できるようになるものだと思うが、チップ画像をクリックしてみても配置操作に反映されず、首を捻る。

Google Chrome上で動かしてみたところ、「判定」「tab1」「tab2」の表示が現れた。それら文字列は、Firefox上では表示されていなかった。つまり、Firefox上では正常動作しないスクリプト、ということだろうか。

Google Chrome上で動かしてみても、操作がよくわからず。使い方の解説ページも見つからない。チップ画像をクリックすると表示が変わるし、配置もできるように見えてはいるが、おそらくは16x16ドット単位の1チップずつしか置けない感じで、これではあまりにも作業がシンドイ。使い方が分からない故に自分が頓珍漢な操作をしているだけなのか、それともWindows7上で動かすと動作がおかしくなるのか。Macは持っていないので、Mac上で動かすことが前提だとしたらちと困る。…正常動作してるかどうかも判断しづらいのはなかなか厳しい。

使用は諦めた。現状では、まだ使えないツールなのかもしれない。ネイティブで動作するマップエディタを探すことにする。

この記事へのツッコミ

Re: enchantMapEditorの使い方がわからず by 通りすがり    2012/05/14 10:58
私もFirefox、Chromeで???な状態でしたが、Safariだと正しく動作するっぽいです。Windows7 64bit SP1、Safari 5.1.7環境で試しました。
私も触ったばかりでよく把握していないですが、fillを使って海パーツで埋め尽くした後、penモードで草地なり砂地を描いてみると雰囲気が分かるかと。境界が自動補完されます。
-1ボタンは消しゴムかな。
tabはレイヤーと思われます。

#2 [prog] マップエディタをいくつかインストール

_Tiled Map Editor (Tiled Qt 0.8.0)
_Platinum
_MapEditor5
_KSマップエディタ
_マップエディターQuoyle

Tiled Map Editor はポリゴンデータまで設定できるようになってた。素晴らしい…。ただ、このマップエディタ、透明部分が0番で、チップ画像が1番から割り振られてるのがちょっと面倒。

Quoyle は、境界線作成機能が便利だと思えた。用意するチップ画像の並べ方がちと複雑ではあるけれど、その分配置作業は楽になる。素晴らしい…。

enchant.js 向けにデータを作るなら、テキスト出力できるとありがたい。Tiled Map Editor は、設定を変更してcsv出力することが可能。実際はxml内にcsvデータが書かれる。また、json形式でもエクスポートができるようで。Platinum もCSV出力ができたはず。他のマップエディタは、そのあたりまだ確認していない。…この手のエディタは、何故かバイナリファイルで保存するものが多い印象があって。テキストファイルで出力できれば、後で整形等が楽になるのだけどなあ。

オブジェクト? スプライト? を自由な場所に配置する機能を持ったマップエディタがあれば、と思ったけれど、探しても見つからなかった。ただし、Tiled Map Editor は、オブジェクトレイヤーを作成することで、画像がチップサイズという制限はあれど、自由に配置することができるらしい。チップサイズを大き目にすれば、使い道があるかもしれず。

2011/03/17(木) [n年前の日記]

#1 [nitijyou] 余震

夜、3回ほど余震で目が覚めた。その都度体を起こして部屋内の家具が倒れそうかどうかを見回して、揺れが収まったらまた布団に潜って、みたいな感じ。

大宮に住んでいる親戚から、父に電話があったそうだけど。「3時間も停電して参った」「どうして福島は停電してないんだ」と愚痴られたらしい。

福島第一原発は、東京・関東に電力供給する施設なわけで。その施設のせいで今現在福島県民は恐怖におびえている訳で。ここだって被害は少ないけど被災地なわけで。自分の部屋は地震で壊滅状態になったわけで。須賀川市内に行けば倒壊してしまった建物が多々あるわけで。…そういう目に合っている福島県民に対して、そういうことを言いますか。

東京近辺には親戚も友人も知人も居るし、自分も東京に住んでた時期があるからアレなのだけど。あんまりだ。

2010/03/17(水) [n年前の日記]

#1 [prog] Small Basicをちょこちょこ触ってる状態

キーの押し下げ状態を知る方法が分からない。Windows側で設定したキーのオートリピートが反映される形での状態取得はできる。でも、ゲームの類を作る場合は、それではいかんだろうと。キャラクターが、「ツッ、ツーー」で動いちゃいかん。キーを押しっぱなしなら「ツーー」で動いてくれないと。

まだ色々と開発途中であるから仕方ないのだろうけど。日本語版のドキュメントがほとんどないのがキツイ感じ。いや、Visual Basic あたりを参考にすればどうにかなったりするのかな? わからんけど。

2009/03/17(火) [n年前の日記]

#1 [python] Python+Tkinterが動かなくなっていた

いつから動かなくなっていたんだろう…。こんな状態になるなら、Python + Tkinter で関連ツールを書くんじゃなかった。blender に絡んでくるツールだから、Python を使ったほうがいいのかなとか、Tkならどこの環境にも比較的入ってる・インストール可能だから都合がいいかなとか、そのように思って使ったのがかえって裏目に出てしまったかもしれず。

Python 2.6.1 をアンインストール・再インストールしたものの、結果は変わらず。

どうも、ActiveTcl をインストールしたせい・環境変数の TK_LIBRARY に ActiveTcl のソレを指定したのが問題ではないのかと思えてきたり。なので試しに、ActiveTcl をアンインストールして、環境変数 TK_LIBRARY と TCL_LIBRARY を削除してみた。ちなみに、それぞれの環境変数は、
TK_LIBRARY
C:\usr\local\Tcl\lib\tk8.5
TCL_LIBRARY
C:\usr\local\Tcl\lib\tcl8.5
になっていたことをメモ。ActiveTcl のインストール先フォルダ内の特定フォルダを指定していたらしい。>過去の自分。

上記対処をしてみたところ、Python + Tkinter の helloworld スクリプトが動作した。するとやっぱり、ActiveTcl が原因だったということか。いや、TK_LIBRARY が原因なのかもしれないか。…しかし一体どこで設定したんだろう。>TK_LIBRARY。ActiveTclインストール時に自動で設定されたのかしら。そもそもどうして ActiveTcl なんぞを自分はインストールしていたのだろう。思い返してみたところ、どうも Ruby/Tk を試そうとした際にインストールしたような気がする。すると、結局はは Ruby が癌だったのか。<オイ。Ruby が自前で Tk関連ライブラリを内包していないのがマズイのだ。いやまあ、Ruby としてはそのへん何か理由があるんだろうけど。

というか、Ruby/Tk を使うために ActiveTcl をインストールして環境変数を設定したりすると、Python + Tkinter が使えなくなるというこの状況は非常にマズイ。自分が作ったスクリプトは、後々別環境で使われる可能性がありそうなのだけど、ソレを動かす環境では ActiveTcl をインストールしちゃダメ、Ruby はもちろん Ruby/Tk 使っちゃダメ、というわけにはいかないだろうと。

自分一人でスクリプトを使う分には、コマンドライン指定でも特に問題は無いけれど。他者が使う可能性がある場合は、ファイル指定等、GUIにしておいたほうが良さそうな気がする。しかし、てっとり早くGUIツールにできる Tk は、今回のようなトラブルが起きかねない。どうしたもんか…。 どうしたもんか。

#2 [pc] AmazonからCanon iP4600が届いた

10,880円で購入。今まで使ってた・顔料インク部分だけが微妙に印刷されなくなった iP4300 を片づけて、早速セットアップ。問題なく印刷できそうな感じ。

CD-Rへの印刷機能等がない、Canon iP3600 でもいいかなと思ってたけど。 *1 妹が「絶対に両面印刷がなきゃ嫌だ」と強く主張するので、両面印刷可能、かつ、非複合機のiP4600を選択したわけで。この機種以外に両面印刷可能な機種となると、プリンタとスキャナが一体になった、いわゆる複合機になってしまう。インクジェットプリンタは、やれヘッドの目詰まりが云々等のトラブルが必ず出てくる機器だろうけど。プリンタ部分に発生したトラブルのせいで、関係ないスキャナ機能まで一緒に修理に出さなきゃいけない or 買い替えになるのはバカバカしいので、できるだけプリンタ単体の機器を選びたいなと思っているわけで。

どうも巷のアレコレを調べた限りでは、Canon製プリンタは、せいぜい2年しか持たないらしい。それが本当なら、新規購入時は1万ちょっとで購入できるとしても、1年につき5千円ほど出費することになってしまう。そうまでして何かを印刷したいかというと、自分の場合はちょっと微妙なわけで。まあ、EPSON製プリンタに比べればはるかに目詰まりしないほうだし、使い勝手も良かったので、一応今回もCanon製プリンタを選択してはみたけれど。また2年でダメになるようであれば、次回はちょっと考え直したい。が、HP製プリンタや、brother製プリンタは、両面印刷がないわけで…。

印刷品質はちょっとぐらい悪くてもいいから、 そんな製品が欲しいものだけど。いや、プリンタ部分にトラブルが出ないなら、複合機でもいいんですけど。印刷の原理からしてそれは難しいだろうし。
*1: 自分、iP4300で、CD-Rへの印刷は一度もしたことがないから。

2008/03/17(月) [n年前の日記]

#1 [iappli] ちょこっとモデリングし直し

相手先から形状のラフ画像が送られてきた。なるほど、こういう形やったんか。

と思ったが、該当画像を参考にしてモデリングを始めたら、上面図と側面図が矛盾していて悩んでしまったり。いやまあ、そもそもラフだから、正確なわけもないんだけど。

ラフに基づいてモデリングしてるうちに、なんだかシルクロード少年ユートが脳裏に浮かんだり。アレもモデリングは大変だったんだろうなあ。いや、アレは比較的よくできてるほうじゃないのかと思ってるんだけど。2Dのキャラデザイン画を注視しながらツールに向かっているうちに、「うむ、なかなかの出来栄え!」とモデリングした人は思ったんじゃないだろうか。でも、出来上がったソレは、お客さんにはギョッとされてしまうのがアレなんだけど。作業してるうちに感覚が麻痺してくるんだよな…。と素人の分際で知った風なことを書いてみるテスト。

それはさておき。形状を変えてみたら、位置や角度は変わってないのに、背景画像とパースが比較的一致してしまって愕然としたり。乗せているモデルの形状デザインに難があって、パースがおかしく見えていたのか…。今まで、途中でちょっとだけヘルプをしてくれたデザイナーさんの画を元にしてモデリングしてたんだけど。そこに根本的な問題があったとは…。

まあ、あのラフ画像をドット画におこせと言われたら、自分も途中で頭を抱えてしまうだろうから仕方ない気もするのですが。コレ、立体ではどういう形になるんだか、わからんですわな。デザイナーさんも、かなり苦労したのだろうと想像。道理で、修正を要求しても腰が重かった・小手先(?)の修正に留まってたわけで。って自分が修正を要求してたわけでもないんだけど。

余談。自分は、アニメ大好き人間なせいか、記号化された視覚情報を比較的肯定する傾向があって。パースとか陰影とかこだわってるけど見た目判りづらくなってるものと、あまり手は入れてなくても記号としては判り易くなってるものがあれば、そりゃ後者のほうがいいじゃん、ゲームに使う画像ってそういうもんじゃないの、てな考えが時々脳裏に浮かぶので、件のデザイナーさんの作った画像も「別にこれでいいじゃん。記号的画像が無い状態よりはマシだし」てな感想だったり。…まあ、パースや陰影にこだわりつつ、記号としても成立するものがベストだろうとは思うんですが。そのへん、かけた労力と得られる効果も関係してくるし。

それはそれとして、現状どこまで修正済みかを問われた時のために、バイナリを相手先に送信。「現状どうなってるの?」と万が一言われたら使ってくれ、みたいな。

昨日からずっと作業してたけど、さすがに限界。仮眠。

3DCGやドローツールは積極的に使ったほうがいいような気もしてきたり。 :

「ドット打ったほうが早いやろ」「ドット打ちのほうがいいものができるぞ」等々、ファミコン時代からやってるデザイナーさんが大昔に言ってた記憶があるのだけど。パースがどうとかそういうのを要求されちゃったりする場面では、2Dゲームでも、最初から3DCGで、下絵レベルでいいから作ってみたほうがいいのかもしれないなと、なんとなくそんなことをぼんやりと。一見、二度手間、三度手間、余計な作業をしてるような感覚に陥るんだけど。何度も修正作業を要求されるよりはまだマシなのかもしれない。みたいな。

今企画のオリジナルコンテンツの使用画像を眺めていても、最初からドット打ちで画像を作ってるんじゃなくて、どうもイラストレーター等のドローツールで、キャラやロゴの制作をしてから16色画像に落としてる感が。…ん? もしかしてそれは、後々印刷物に流用する可能性も考えてそうしてるのかしら。ドット画しか存在しないと、印刷物に使うとなったときに描き直しだし。なるほど、印刷物にもデジタルコンテンツにも同じデータを使えるという点では、最初からドローツールで画像制作をしておいたほうがいいのか。せっかくデジタルデータを作るんだから、色々と使い回しができるデータ形式で最初に用意したほうが効率がいいよな。たぶん。

3DCGゲーム全盛時代に何を言ってるのか。>自分。

パレット替えに関して実験。 :

背景の上に乗せる障害物の色をレベルに応じて変えてくれ的要求が来てるので、障害物画像のパレットデータをEDGE2を使いながら変更・増量。しかし、作業してるうちに、パレットだけ変更した画像数が、単純計算では5倍ほどになることに気づいて悩む。…パレットデータだけ持って、PalettedImage() で変更していったほうがいいか。以前そのへん実験したときは、現在のgif画像中のパレット値を取り出して、計算で変化させて書き直す、ということは機種依存の値が返ってくるからできないにしても、パレットデータのRGB値を別途持っておけば、パレット替えはなんとかできそう、てな感じだったし。

パレットデータをRGBでファイル保存しなきゃいけないわけだけど。EDGE2なら、パレットデータをcsvファイルで保存できることに今頃気がついた。ありがたや。チマチマと保存。この手の修正要求が多々上がってきた場合は、Python + PIL 等でcsv保存を自動化せんといかん予感もあるけれど。

csvを読み込んでバイナリファイル出力する Perlスクリプトも作成。

パレットデータだけで2KByteほどになってしまった。うーん。まあ、全部別画像で持つよりは、はるかに容量が少ないから、これでいいか…。

プログラムソースを変更。画像を Image() で確保するメソッドに引数を増やして、PalettedImage() で確保する処理も追加。障害物画像の表示部分も、Image() と PalettedImage() のどちらを使うかで処理を分けた。

動作確認するが、エラーが出る。…開発用モード有効時は、別の流れで動いてることを忘れてた。初期化がちゃんとされてなかった。…が、まだエラーが出る。念のために色んな場所で、障害物配置初期化をしてたのがマズかった。画像を読み込んでないのに縦横幅を取得しようとしてコケていた。そのへんも修正。

なんとかいい感じに表示できたけど。既に画像展開済みの場面でも、処理が返ってくるのが妙に遅い。何故。…画像展開済みか否かに関わらず、System.gc() を何度も呼んでたのが原因だった。スクラッチパッドから読み込む前後でも System.gc() を呼んでるんだから、画像ナンバーの一覧をループで見ていくところでは呼ばなくてもいいよな。せいぜい、ループ外の前後で呼ぶくらいで大丈夫だろう。たぶん。

2007/03/17() [n年前の日記]

#1 [anime] WoO最終回

脱力した。

ネタバレですが。怪獣に食われた連中が、全員、謎の光で、生き返ってしまったのですよ。

なんだソレ。つまりアレかい。どうせ生き返るから、躊躇無くゲストキャラを怪獣に食わせてたと、そういうことかい。最後まで悲劇を描く覚悟もなく、表面的に悲劇ぶらせてただけなのかい。視聴者をバカにしてんのか? いや、自分がバカだったのか。この作品はとことん本気で幼児向けだったのかもしれん。戦隊シリーズと同様、敵の怪人を倒せば戦隊メンバーも復活!的ノリを延々と1クール使ってやってみたということなのかも。…幼児向けなら幼児向けで、どうしてNHK教育で夕方あたりに流さないのだろう。深夜に、まるで隠れるように放送しなくても。む。ホームレスやジャパゆきさんが出てくるから流せなかったのか。ちょっと待て。どうして幼児向け作品で、わざわざそんなキャラ設定を出すのだ。

どこに向けて作られた作品なのか、さっぱりわからない。スタッフの、意図も、姿勢も、能力も、見えてこない。どこに行きたかったんだ、コレを作った人達は。一体何をやりたかったんだ…?

実写映像とのCG合成の自然さと、コインランドリーでゴミ袋をかぶる全裸の女子中学生という小ネタには感心したけど、そのほかは…。名作とまではいかなくても、奇作・妙作・迷作ぐらいにはなってくれるのかなと思ってたけど。どうも見込み違いだったみたい。過大評価してた。箸にも棒にもかからない作品だった。…それとも、自分の、作品を読む能力が低いのだろうか。実は良作だったりするんだろうか。

もしかして、ひょっこりひょうたん島と同じで、実は主人公も怪獣に食われたときに死んでいるのか。ラストのあたりは、全て死後の世界の描写なのか。いやいや、実は1話目で主人公が死んでいるのでは。クラスメートと一緒に怪獣に食われてたとか。逃避行劇は、誰かが見ていた夢だったのか。…そんな馬鹿なことを考えてしまうぐらいに脱力であります。

#2 [ore_xxxxx] WoOのラストがどんなラストだったら自分は満足したのか

考え込んでしまった。…自分の場合は、こんな感じだろうか。恥ずかしいけど書いてみる。

怪獣を倒さず、「生物彗星」というタイトルを活かしてみるパターン。 :

怪獣はとにかく増殖を続け、地球上の全生物は怪獣に飲み込まれてしまう。WoOとの部分的融合を果たしていた少女はかろうじて飲み込まれずに済むが、結局は命を落としてしまう。WoOは、少女の亡骸をその身に取り込み、宇宙に飛び立っていく。

宇宙を飛び続ける彗星と化したWoOの映像に、ナレーションが重なる。「地球上の生命は、彗星や小惑星によって運ばれてきたという説がある。○○を含んだ彗星が地球と接触して、あるいは小惑星が地球に衝突して、○○が海に散らばった。その○○が元になって、生命が誕生したというのだ…」。

WoOはやがて、太古の地球によく似た惑星に辿りつく。海に落ちたWoOの中から、少女の亡骸が放出される。亡骸は飛散して…やがて、海の中に生命が生まれる。生命は進化を続け、陸に上り、様々な生物へと変わり…人間が生まれる。

地球とは異なる文化を持った、人間の集落が見える。その中に、愛を語らっているのであろう、少年と少女の姿が見える。二人の姿は、かつてWoOと共に居た少女と、少女が恋心を抱いていた少年の姿に、どこか似ている。

集落から離れた森の中。二人の姿を見つめている小さな生物 ―― WoOが居る。どこか悲しい…いや、喜びを感じさせる、小さくかすかなWoOの鳴き声が、青空へと消えていく。

とか?

怪獣を倒すが、人類絶滅パターン。 :

怪獣は増殖を続け…そして、地球上の酸素を取り込み始める。次々と倒れていく人間・動物たち。対するWoOは、怪獣を倒す力を得るべく、地球上の全ての水を取り込む。かろうじて怪獣を倒すWoO。しかし、地球からは酸素が失われ、海すらも消えた。死の星と化した地球。WoOは、生き残った少女一人をその身に内包して、宇宙へ飛び立つ。

何もない。誰も居ない。そんな宇宙(そら)を、少女とWoOは二人きり、何千年、何万年と旅を続ける。

やがて二人は、地球によく似た惑星に辿りつく。

その星で、少女はWoOの子を宿し(あるいは、WoOが少女の子を宿し)、その星に生命が満ちていくことを予感させる映像で、終わる。<アダムとイブパターン。

あるいは。辿りついた惑星には、地球人によく似た異星人が暮らしていた。少女とファーストコンタクトしたのは、異星人の少年。その顔は、少女が恋心を抱いていた(以下略)。集落に招かれる、少女とWoO。その集落で少女とWoOは、おそらくは平和に暮らしていけるのであろうことを予感させる映像で、終わる。

とか?

怪獣を倒すが、少女は悲惨なパターン。 :

怪獣が人間を飲み込むことで力を得るように、WoOもまた、怪獣を倒す力を得るためには、人間を飲み込む必要があった。それも、既に部分的融合を果たした人間 ―― 少女を飲み込むことが、怪獣を倒せる可能性がもっとも高い手段であると判明する。これ以上の犠牲者を出さんがために、少女はWoOと融合を果たす。倒される怪獣。しかし、少女は、人間の体に戻れない。少女の肉体は、WoOの肉体の一部として、完全に再構成されてしまっていた。

さらに、やはりWoOが怪獣を引き寄せていることが判明してしまう。地球上にWoOが居る限り、次々と怪獣は地球に向かってくる。地球を去ることを決意する少女。WoOと共に、地球を後にする。

夜。どこか遠い街。WoOと少女が光となって宇宙に向かう様子を、たまたま目撃してる親子が居る。
幼児「ママー、流れ星ー」
母親「あら、ほんとだ。…でも変な流れ星ねえ。ずいぶん長く光ってる。それに、物凄く明るいわね」
彗星(?)と化したWoO+少女の姿がアップで映る。
幼児「ねえ、ママ。あの流れ星、なんだか涙の形に似てるよ…」

とか?

そもそも最初から終わりまでコメディにするパターン。 :

怪獣なんかいらない。WoOが巨大化する必要もない。1話からラストまで日常を舞台にして展開させちゃったほうが良かったのかもしれん。

少女の住む家の屋根をブチ割って、突然現れた謎の生物、WoO。見た目は可愛いが、とにかく騒動を引き起こす。冷蔵庫をサイコキネシスで開けて、勝手にビールを飲んで酔っ払って、町内で騒動を起こしたり。学校まで勝手についてきて、学校内を探検して大騒ぎになったあげく、理科室で大爆発を起こしたり。NHKにもぐりこんで芸能人相手に一騒動起こしたり。…オバQパターンというか、ロボコンパターンというか。

WoOの尻拭いばかりさせられる少女。しかし、その尻ぬぐいをする過程で、出会ったときの第一印象は最悪だった、特撮&フィギュアオタク少年が、毎回毎回どことなく男らしい面を見せ。少年に、次第に心惹かれていく少女。

もちろん(?)ラストは、バカップル誕生でハッピーエンド。キスをしようとするその間にWoOが割り込んで、「こら〜WoO〜!」みたいな追いかけっこで終わる。てなベタな感じのラストとか。

何が何でもハッピーエンドにしたいのであれば、最初からそういう企画にしちゃっても良かったんではなかろうかと。

どれもこれも、どこかで見たようなラストだなぁ。 :

所詮コピー世代。>自分。「涙の形」なんて特にヤバイ。松本零士先生から訴えられる! *1

なんだか、全員生き返ってしまうラストが正解のような気もしてきた。そのほうが一般視聴者からは文句も出ないだろうし。映像化もまだ楽だろうし。…宮崎駿だってナウシカ生き返らせているし。ましてや天下の円谷作品なんだから、数十人ほど生き返ってしまってもいいよな。

宮崎駿は、ナウシカを生き返らせることについて、悩んだらしい。ビジュアルと音楽でソレっぽくはなったけど、これじゃまるで宗教みたいだと、自身の案に嫌悪しつつ、でもこれしか思いつかない、映画館で嫌な気持ちになったまま、お客さんを帰らせるわけにはいかない、と…。どこかのインタビュー記事でそういう内容を読んだ記憶がある。対して、WoOは、生き返る人間の数が何倍にもなってる。宮崎駿より、何倍も悩んだうえで、あのラストを選んだのだろうか。

本当は一番最初の企画書どおりのウーが見たかった。 :

中年カメラマンが、行く先々で奇怪な事件に巻き込まれ。スタイル抜群の女性が毎回ゲストとして登場して、妙にアダルトなシーンが入ってて。ウーは、形がよくわからないモヤモヤした存在で。そういう企画のままで、見たかったなぁ。

「不定形なウーの映像化は難しい」みたいな話を、Pの書いたコラムで見かけた気もするけど。映像化の手段はありそうだけどな。演劇的な見せ方にしたっていいんだし。CG使うのでもどうにかなりそう。アナログ素材でもできそうな感も。かつて味噌汁から発想して火山の噴火まで作ってみせたという、日本の特撮魂はどこに消えてしまったのか。…既存・既知の特撮技術の枠内でしか物事を考えられない、そんなスタッフが集まってしまった、ということなんだろうか。誰も作ったことの無い映像を作ろうと、頭を悩ませる仕事が、特撮ってもんじゃないのだろうか。「これなら出来そう」と思える手段ばかり選んでたんでは、それはもう特撮じゃないような気もする。まあ、自分の中の特撮の定義はそういう感じってだけの話なんですが。…もしかして、スケジュールや予算面から考えられる「無理」だったのかな。あるいは企画が通りやすいかどうかでの「無理」なんだろうか。そうなってくると、もう大人の事情云々だろうから、どうにもならんのかもしれんけど。

そもそもウルトラマンのカラータイマーだって、大人の事情で生まれたものだしなぁ。単なる一設定ではあるけど、それが生まれたことで、話を作るうえでの様々なメリットも得られたわけで。…制限があるからこそ、新しい何かが生まれてくることもあるといえばあるのだろうけど。さて、WoOはその点、どうだったんだろう。制限の中から、新しい何かが生まれたんだろうか。見ていた自分にはよく判らなかったけど、スタッフの中では新しい何かが生まれたのであれば、作られた意義はあったと言えるのかもしれないが。さてはて。

*1: 999のクレアさんだよなぁ。>涙の形。

#3 [nitijyou] ktのチラシページ作成終了

サーバにアップロードして、メールで知らせた。

#4 [windows] IntelliPoint 6.1 をインストールしたのだけど中ボタンクリックが妙

デフォルトでは _インスタントビューア なるタスク切り替え? ウインドウ切り替え? 機能が割り当てられているのだけど。最初のうちは「おお、なんか面白い」と思ってたものの。TClock Light 上での中ボタンクリックが検出できなくなってしまってるようで。一旦 TClock Light を右クリック等して、おそらくはアクティブな状態にすれば、中ボタンクリックを検出させることもできそうな感じではあるのだけど。そんな操作も面倒だし。

ということで、インスタントビューア機能ではなく、オートスクロールだの中ボタンクリックだのを割り当て。なんかもったいない。

CGツールのウインドウがちらつくな…。 :

勝手な想像だけど、どうもインスタントビューアが画面キャプチャしてたりなんかして、そのたびに画面がちらつく、ような予感。

ということで、5.5に戻した。

#5 [anime] ウルトラマンメビウスがTVで流れてた

HDDに溜めっぱなしで全然見てないんだけど。TVをつけっぱなしにしてたら流れ始めてしまったので鑑賞。レオが登場する回。

いつのまにやら、科特隊員がウルトラマンの正体を知っていてビックリした。まあ、そもそも、科特隊員がまったく気づかないという設定自体、かなり無理があるわけで。知ってるほうが自然だよな。そういやネクサスでも正体が知られてたっけ。そのほうが話も作りやすい感が。

レオと言えば、特訓。そのへん見事に外さずに話が作られていて感心。したのだけど、やはりメビウス一人で戦うのではカタルシスがないと判断したのか、途中でレオも参戦。メビウスが、散々「一人で戦わせてください!」と懇願してたのに…。釈然としないなぁ…。しかも、1匹の怪獣(?)に、二人がかりで殴る蹴るの暴行。レオは肉弾戦がメイン *1 なので、ますます凄惨さが。…ハヌマーン+ウルトラ兄弟がどうしても脳裏に浮かんでしまって、困惑いたしました。まさか、それを狙ってやってたのかしら…。

_ハヌマーン ウルトラ6兄弟VS怪獣軍団 前編 :

_ハヌマーン ウルトラ6兄弟VS怪獣軍団 後編

名作だなぁ。いや、見たことないけど。

_ハヌマーンと5人の仮面ライダー 前編 :

_ハヌマーンと5人の仮面ライダー 後編

ライダーとも共演してたのか。恥ずかしながら知りませんでした。…最後の画像はトラウマになりそうです。

_ハヌマーンまとめ :

_新ハヌマーン がカッコよすぎます。

全然関係ないけど。Wikipedia を wiki と略さないでほしい。「ウルトラ6兄弟VS怪獣軍団 Wiki」じゃなくて、「ウルトラ6兄弟VS怪獣軍団 Wikipedia」って書いてくれと。メガドライブを「黒いファミコン」、PlayStationを「SONYのファミコン」って呼んでるおばちゃんと似たようなダメダメさを感じます。って全然違うか。何にせよ、平成の World Wide Web を闊歩するヤングメーン&ガールがそんな杜撰な感覚ではいかんのではないかと。

*1: オイルショックが原因で制作予算に影響を及ぼした故、光学合成=光線技を盛り込むことが難しくなり、結果、特訓と肉弾戦がメインになったという噂もある。>レオ。それは事実と異なるという説もあるが、詳細は不明。

#6 [web] Wikipediaをwikiと略すヤバさを何に喩えて説明すれば理解できるのだろうか

ちと思いつかない。

「Yahooでググれ」みたいなものか。違うなぁ。

「お前のホームページのURLを教えてくれよ」
「いいよ。http」
「…URLを教えろって言ってるだろ」
「だからhttpだって」
みたいな? 無理があるな。

「俺、新車買ったんだよ」
「へー。何買ったの」
「車だよ」
「いや、そうじゃなくて。どのメーカの、どの車種を買ったかって聞いてんの」
「だから車だって言ってるだろ」
とか? なんか微妙に違う気もする。

この記事へのツッコミ

Re: Wikipediaをwikiと略すヤバさ by がんした    2007/03/21 22:57
物事の本質をぼかして、自己に都合の良ように示してるなら、

少女(未成年)売春→援助交際
現実逃避→自分探しの旅

とかかなぁ。ぱっと浮かぶのは。
Re: Wikipediaをwikiと略すヤバさを何に喩えて説明すれば理解できるのだろうか by 名無しさん    2007/03/23 22:21
ふと思いついたので失礼してコメントを。

ケーブルテレビをケーブルと略す。

または、「(指してるものが)何かは分かるけど、そう略したらダメでしょ」
という意味で言うと・・

プリティ長嶋をプリティ。(これはヤバい
あくまで省略してるところがアレかなと by mieki256    2007/03/24 13:49
考えてみれば、元の単語を省略してるところがポイントかもですね。
自分の書いた「車」の例は、明らかに違うな…。
略すヤバさ by mieki256    2007/03/24 14:22
> ケーブルテレビをケーブルと略す。

あー、なるほど。そういう感じの略し方ですよね。
略したことで別の何かの呼称になってしまうという…。

> プリティ長嶋

検索してみて、そんな芸能人が居ることを初めて知りました。
意外なところで勉強になりもうした…。
はじめまして by とおりすがり    2007/03/25 04:16
『WikipediaをWikiと略す』で検索してこのページがトップでした。
どうもはじめまして。
「消防車を車と略すくらい不適切」というたとえはいかがでしょう。
Re: Wikipediaをwikiと略すヤバさを何に喩えて説明すれば理解できるのだろうか by みわ    2007/03/25 11:40
「ゲーム機すべてを『ピコピコ』と呼ぶ」というのはどうか
Re: Wikipediaをwikiと略すヤバさを何に喩えて説明すれば理解できるのだろうか by けいと    2007/03/29 00:41
当事者にしてみれば腹立たしいのかもしれないけど、
個人的には

セブンイレブンを「セブン」と略したり
マクドナルドを「マクド」(関西風だね)と略す程度の
ヤバさしかないような。

ちょっと譲歩して?
メールアドレスを「メアド」「メルアド」って略したり
ホームページのことを「ホムペ」って略したり
その程度かなぁ、と。

ホームページに突っ込むんなら
そもそもホームページって言う言葉の使い方を正しくしろよ、
って言われそうだけど。
Re: Wikipediaをwikiと略すヤバさを何に喩えて説明すれば理解できるのだろうか by 名無しさん    2007/04/04 23:51
ガンダムシード を ガンダム と略す。
ホームページ を HP と略す。(昔から言われている事ですが)
でどうかな?ヤバイと思いますか?
Re: Wikipediaをwikiと略すヤバさを何に喩えて説明すれば理解できるのだろうか by み(略    2007/04/05 11:10
きんしたまご(錦糸卵)を略してみると。
↑↑ ↑↑

wikiと略すよりも、ある意味ヤバいと思います。
念のため、思いついたのは私ではありません。
Re: Wikipediaをwikiと略すヤバさを何に喩えて説明すれば理解できるのだろうか by 名無しさん    2007/04/13 13:59
俺も明らかに変な略し方だと思うけど、多くの人に意味が通じるなら
正しいこと言ってる方も譲歩しなきゃいけないっていうのが「言葉」の怖さ。
携帯電話を携帯って略して、「だから『携帯「何」』なんだよ!」って
訊いてもこっちが変な奴扱いされるしさ・・・ハァ。

2006/03/17(金) [n年前の日記]

#1 [iappli] iアプリ側でサウンドを鳴らせるよう処理を追加

DoJa4.1 のエミュレータ上では、.wav → .mld にしたものも鳴ってくれた。しかし、ワンテンポ遅れて鳴るような。

DoJa 3.0 のエミュレータでは、そもそも鳴らない。変な音が鳴り始める。

MIDIデータってのは最初のあたりに初期化・設定用のデータを入れるために、何小節分かは音を実際に鳴らすためのデータは入れないことになってたはず。もしかすると、それでワンテンポ遅れてしまうのだろうか。

_MFiファイルフォーマット という解析ページで気になる文を見つけた。
データタイプはメジャーとマイナーに分かれています。部分データはゲームの効果音など、データの初期設定だけ最初にやっておいてトラック部だけの小さなデータで音を鳴らすために設けられたタイプなのでしょう。

MFiファイルフォーマット より

なるほど。初期化・設定用と、効果音を鳴らすデータは、分けておかないといけないのか。

何にせよ、仮で実験するにしても、MIDIデータを作るための知識が求められそう。自分、MIDI関連はほとんど遊んだことがない・勉強したことがないから、そこまでやろうとしたらずいぶんと時間がかかるだろうな。

2005/03/17(木) [n年前の日記]

#1 [mozilla] _history.datの容量が300KBを超えたあたりからFirefox全体のパフォーマンスが低下しだします

気になる話。メモ。
厳密にはツールバーの検索履歴のみフォーム右クリックより履歴を削除することができますし、他のフォームも Shift+del でフォーム履歴を一つずつ消すことができるのですが、
知らなかった…!

しまった :

履歴を消してから気がついた。履歴を消すとリンクの色が、全て未訪問色になるわけで。そんな当たり前のことをすっかり忘れてたトホホな自分(爆) どこまでリンクを辿ったのやら… (;´Д`)

#2 [windows] _DVDメディアのメーカー名や対応書き込み速度を調べられる「DVD Identifier」

_DVD Identifier
_Passion For The Future: DVDメディアの選び方とOEM元を確認できるDVD Identifier
_DVD Identifierでメディアの情報を調べる

#3 [windows] _WhoLockMe

何かしらのプログラムが利用してるが故に、「ファイルを削除できません」と言われた際、何のプログラムがそのファイルを利用してるのか確認できるツール。インストールすると、 *1 エクスプローラの右クリックメニューに、「Why Lock Me?」という項目が増える。 _(via bbox :オンラインソフトレビュー)
*1: Install.batを実行すると、インストールされる。ていうかレジストリに設定してるだけみたいだけど。

#4 [digital] _東芝、片岡氏に聞く――「RD-H1」登場の経緯と戦略 (1/4)

_(2/4) _(3/4) _(4/4)
_ストライク? いやヒットでしょ
_アナタの心に“ストライク”?――東芝「RD-H1」を試す (1/5) _(2/5) _(3/5) _(4/5) _(5/5)
_(via ryuzi_kambeの?D)

多くのユーザが本来望んでいたのは、「録画すること」ではなく、「自分の好きな時間にずらして見る」ことだった、ということなのかしら。「手元に残す」ことではなかったと…。 *1

などと書きつつ矛盾するけれど :

ちょっぴり気になるのは、どうしてRD-H1は「ネットdeダビング」しかないんだろうか、という点。USB接続で外付DVD-Rドライブをつけたりできれば…ってコストと対応製品選定の問題で難しいのかな。 *2 でも、一般ピープル相手に、「DVDに残したくなったらRDシリーズをもう一台買ってください」とは言いづらい気もする。「残したくなったら、ドライブ買って付け足せばいいですよ」なら、店頭に置いても売れるんじゃないかと思ったりもして。 *3

*1: 考えてみれば、自分もそうだなぁ。ビデオに録画した番組を見たら、どんどんテープを上書きしちゃうし。妹や親父さんもそんな感じだし。
*2: 将来的には、より高速なDVD-Rドライブも市場に出てくるだろうけど、それらに対応していくのは難しいだろうし。まあ、RD-H1 のオプションとして純正ドライブを用意しとけばいいのだろうけど…。
*3: もっとも家電の世界では、「オール・イン・ワンを求める客が多いはず」という前提を持ち出して、オプション追加で機能増強、なんて発想は否定されそう。

この記事へのツッコミ

Re: 東芝、片岡氏に聞く――「RD-H1」登場の経緯と戦略 (1/4) by けいと    2005/03/19 20:27
> 一般ピープル相手に、「DVDに残したくなったらRDシリーズをもう一台買ってください」とは言いづらい気もする

著作権者相手に、「DVDに残したくなったら仕様がオープンなパソコン機器とつないでコピーできる」とは言いづらい気もする

最近の録画機からi Link端子がつぎつぎと削除されていると言う話もあるし。
コピーワンス前夜の静けさなのかも。
Re: 東芝、片岡氏に聞く――「RD-H1」登場の経緯と戦略 (1/4) by mieki256    2005/03/20 19:24
> 著作権者相手に「〜仕様がオープンなパソコン機器とつないでコピーできる」とは言いづらい気もする

あー。そうか、なるほど。
客が払う導入コストだけ考えて、そちら側の視点は欠落してました。

まあ、接続した機器の制御はRDシリーズから行うわけだから、
相変わらずコピーワンス番組とかは記録できなかったり等、
実運用時、著作権者側にとって問題(?)になる状況は発生しないだろうけど。
それでも、「PC機器と繋げる」と聞いただけで圧力(?)がかかりそうですね。
それを考えると、「RDシリーズをもう一台〜」のほうが、
まだ言いやすい(?)のかもなぁ…

> i Link端子がつぎつぎと削除されてると言う話もあるし。

マジですか。うーむ、着々とそういう方向に向かってるのですな… (;´Д`)

#5 [anime] _ところが日本の財界人は鳥山明を誰なのか知らないと著者は問題提起をしている。

そして、慌てて「コンテンツに萌えた」企業や官公庁のオジサンたちは、クールなコンテンツはどこで幾らで買えるのか、どうやると工場を作って量産できるのか、と見当違いな方向に向かうように思える。

#6 [zatta] _リーダーは現場作業をしてはいけない

#7 [web] _脱・テーブルレイアウト初心者が犯しやすいミスをもろにやっている気が

テーブルレイアウトはいけないと言うのを、表を使ってはいけないと混同しちゃう。表としてマークアップすべきモノまでを他の要素で無理矢理置き換えているだけで、参考にすべきでないでしょう。
_そのテーブル、本当に必要?
気になる話なのでメモ。 *1
*1: ていうかこの日記ページにしろ自分の個人サイトの各ページにしろ中途半端にテーブルレイアウトを使ってたりするわけでアレだなとは思いつつ面倒で未だ修正してないという…。うーん。

#8 [zatta] _日本について外国人はこう思っている!(かもしれない)

一方で、コナミはひそかに日本のすべてをコントロールしている。

#9 [zatta] _粋とパンクは、或いは良く似た概念なのかも知れません。

コメント欄で見かけた一文が気になったのでメモ。

#10 [anime] _OTAKU展、その他

_中森明夫「おたくの研究」をめぐって(1)
_中森明夫「おたくの研究」をめぐって(2)
漫画オタク、アニメオタクについて言及する記事はあっても、コンピュータオタクについて言及する記事ってあまり見かけない気もするなとぼんやり思ったり。種類が違うのだらうか。

#11 [zatta] _人間に見た目が非常に酷似したアンドロイドロボット Repliee R1

この先にマルチが居るのかしら…。期待。<えっ? _(via 伊藤剛のトカトントニズム)

仏像やアニメキャラのフィギュアがこのロボットの内部機構で動いたら :

見た人はどんな風に感じるのだろう。と思ったりもする。

#12 [zatta] ゆとり教育って否定されるべきものなんだろうか

生まれた『ゆとり』で別の能力を向上させてたりする可能性はないのかしらん。などとぼんやり思ったり。

ひょっとするとどこかで読んだ言説のような気もするけど…。最近の若い人達って漫画絵とか異様に上手いけど。アレって『ゆとり教育』によって生まれた『ゆとり』を丸々作画の訓練に充てたが故に身につけた能力 ―― 『ゆとり教育』の賜物だったりしないかなー、みたいな。 *1 *2

でも、学力以外の能力って測定できるのだろうか。…測定不能っぽい。となると検証できないですな。ぎゃふん。
*1: 更にそれら世代が漫画家だのアニメーターだのになって日本から海外に輸出する娯楽コンテンツのクオリティ向上を果たし結果的に日本の外貨獲得に貢献したとしたら、ってそこまで行くと話を大きくし過ぎか…。
*2: もし、自分の子供時代に『ゆとり教育』がされてたら…。自分なら一日中、コンピュータでプログラミングの勉強でもしてたかもなと。そう考えると、『ゆとり教育』の時代に育った子供達だって、自分の好きなことを見つけることができていたら、そちらに『ゆとり』を割り当てるんじゃないのかなぁ、などと想像。もっとも、夢中になれるものを見つけられず、スーパーの開店を待ったりした層が居たのかもしれんけど。その場合、子供達が夢中になれるような何かに触れる機会を大人達が与えてやることができなかった、というのが真の問題だったりはしないか。などと思ったりもして。

この記事へのツッコミ

食えればどっちでもよい by けいと    2005/03/20 16:12
> 最近の若い人達って漫画絵とか異様に上手いけど。

それで飯が食えれば言う事なし、だと思いますよ。

生き方が2つあって、
ひとつは「こんな感じの絵を描いて欲しいな」といわれたときに
「はい分かりました」と答えられるか。
お客さんの要求に応えられない絵描きどんなにうまくてもダメ。
もうひとつは「俺の画風を世間に認めさせてやる」といって
がんがん売り込む。
売れれば天下、売れなければただの人。

プロとアマの違いはその辺でしょう。
要するにお金になる能力かどうか、と言う事です。

かんちがいしやすいのは
「どこかの会社に所属して、描きたい絵だけを描いてサラリーを貰う」
というような生活がどこかにあると思っている人が多すぎ。
(まぁ、今騒動の元になっているマスコミなんて言う人種はこれに該当するんんで、
マスコミ志望の人が履いて捨てるほどいるんだけど。
しかも高給取りだから、みんなうらやましがるし妬みの元になるんだけどね)

ゆとり教育の悪いところは
こういう「お金にならない人」をおだてたまま
社会に放り出してしまうと言うことだと思いますよ。

結局困るのは本人なのに、能力を過信して
「オレは音楽以外の仕事はしねぇ」とか
「私は漫画以外描かない」とかいってて
「いつかそんな仕事が降って沸いてくるに違いない」と思っている事。
本当にその仕事で食っていくんなら自分で売り込め、と言うことでしょう。

サラリーマンなら嫌な仕事でも引き受けられる能力を身につける。
個人事業者なら自分の持ってる能力や商品を売りまわる。
どっちかしかないわけです。
芸能界が見せている
「ある日突然スターダム」「シンデレラストーリー」
は見せ方が上手なだけで、実はものすごい下積み生活のうえに
成り立っている事のほうが多い。
今のお笑いブームだって、若手と呼ばれる人ですら
「芸歴7年」「芸歴10年」なんていう人たちばかり。
しかもそれですら万に一つの確率。
自分が万に一つの確率でいられるかどうかの見極めをするため、
自分のポジションや能力を見極めるための「競争」だと思いますよ。
(人によっては「諦めるため」と言う人もいるようですが)

つまり、その「万に一つ」に残りたい、と言う意欲が
ゆとり教育では育たない、と言う事です。
最近の芸能人は
「あと3年経ったら芸能界やめてお店開くの」
なんて言う人が増えています。
よく言えば、芸能界を生き抜いていく事の厳しさを知っている、
身の程を知っていると言うことですし、
悪く言えば、勝ち残るための努力はしない、
できる範囲でやっていく、という事でもあるでしょう。
Re: 食えればどっちでもよい by mieki256    2005/03/20 20:22
> ゆとり教育の悪いところ=「お金にならない人」をおだてたまま社会に放り出す

「おだてたまま」という言い方が、個人的にかなりしっくりきました。
そういうことだよなぁ…。

でも、ちょっと気になるのは…
その流れは「ゆとり教育」が作ってるものなのだろうか、という疑問も。

なんとなく、「ゆとり教育」が提供(?)してるのは、
「自由に使える時間」ぐらいじゃなかろうか、という印象が自分にはあって…
「勝ち負けを明確にすることを子供達の目の前から隠す」とか、
「競争心・ハングリー精神の欠如」とか、
「自分には隠れた才能がある云々の勘違い」とか、
それら問題は、また別のところから…
「ゆとり教育」の枠外というか、社会風潮とか、
そのへんから提供されてる感が。

なので個人的には、世間の、「ゆとり教育=悪」という論調に対して、
「ゆとり教育だけ悪者にしてれば解決する話じゃないような…」
という印象?がありますです。
なんていうか、
「ゲームを無くせばゲーム脳も無くなって、いい世の中に」
「エロ本を無くせば性犯罪も無くなって、いい世の中に」
みたいな話と同種の危うさを感じる…

というか、
「学力測定で国際的に下がっちゃったから、『ゆとり教育』を見直し」
という過程が、なんだか???で。
方針を決めるにあたっては必ず「理念」が存在するはずだけど、
その理念の是非や、実現方法が適してたかどうかの検証は、
どこに行っちゃったんだろう…
元々無かったのかしら。「子供が可哀相だから」等の感情論や、
「俺達が子供の頃は野山を走って遊んでたもんだ」等の老人達の郷愁で
決められた方針だったのだろうか。うーん。

…まあ、自分、教育現場に居るわけでもないし、
子供を育ててるわけでもないんで、アレなんですけど(爆)
先生や親が考えて「これで行く」と言ってるんだから、
それでいいんだろうなぁ…

> 才能を持ってるという勘違い

コレ、難しいですね…。
娯楽コンテンツ制作・提供に携わるか、
生活に必要な商品・サービスの制作・提供に携わるか、
どちらを念頭に置くかで話が変わりそうではありますが…

裾野を広げないとその分野で優れた才能は出てこないし。
そのためには、「ひょっとしたら俺も」と勘違いさせてでも
その分野への勧誘を試みないといかんのかもなぁ…と思ったり。

娯楽コンテンツって、人が生きていくうえで必須なものじゃないし。
それで飯を食おうというのだから、本来めちゃくちゃキツイ世界なはずで。

とはいえ「こんなにキツイぞ」と正直に言っちゃうと裾野は広がらない…
しかし裾野が広がったら広がったで、負けて、放置される人達が増えてくる。
うーん。難しいですな…
Re: 食えればどっちでもよい by けいと    2005/03/20 21:52
> 「自由に使える時間」ぐらいじゃなかろうか

ここで本当は、さまざまな社会勉強をしたり
学校の授業では学べないことについて勉強をしていく、というのが
理想形なんですが…

実際はほとんど寝ているか遊んでいるか。
まぁね当然ですよね。
夏休みの宿題だって計画的にきっちりこなすような人とか
宿題以上に自主学習なんてやる人は一握りで、
ほとんどは宿題以外しなかったり、
塾に通って煽られるからこそがんばると言う事です。
その辺の精神力も大人になればある程度は鍛えられますが、
それでも気が緩むわけですから、
子どもはもっと守れないですよね。

> 元々無かったのかしら。

先にも話したとおり、私は何もないと思っています。
ただ単純に学校の先生が週休二日したかったからだけ。
「ゆとり教育」は後からつけられた理由だと思っています。
たしかに「詰め込み教育」の弊害はあったものの、
戦後日本は一貫して
「資源のない日本は教育で世界と渡り合う」
事を国是として教育をしてきたわけで、
実際世界に誇れる教育水準の高さだったことは
欧米やアジア各国も認めているところです。
「詰め込み教育」で問題になったのは
「丸暗記」「受験テクニック」がすべてになってしまったことです。
つまり、最終的には「いい大学」に入るための勉強だった、
と言うだけです。

いまはむしろ「いい大学に入っても…」と言う世の中ですから、
昔のように「受験テクニック」だけの勉強にはならないような気がします。
試験方法も今は多様化していますから、
案外何とかなるんじゃないかなぁ、と思います。

> 裾野を広げないとその分野で優れた才能は出てこないし。

私は順番が逆だと思いますよ。
「入る余地がないと入らない」という発想が
やっぱり「成功を保証された人生」を求めているのであって、
今求められているのは、
入る余地を自分で作って、そこを自分のフィールドにできる人です。

本当に絵描きで食っていきたかったら
他人を押しのけてでも自分の居場所を確保する、
と言うハングリー精神です。

> 「こんなにキツイぞ」と正直に言っちゃうと裾野は広がらない

それで落ちこぼれるような人は所詮それまでの人です。
大成はしないでしょう。

映画だって漫画だって、
誰かが始めたからここまで広まったわけですし、
自分が初めての人になってやろう、って言うぐらいの
意気込みが欲しいわけです。
Re: 食えればどっちでもよい by mieki256    2005/03/22 07:44
> ただ単純に学校の先生が週休二日にしたかった

仮にそれが本当の目的だったとすれば、
「ゆとり教育」の撤回はありえない気もしますね…。
一度、週休二日制になった状態から、
その後「やっぱり戻す」というわけにはいかないような気も。

土曜日だけパートで教員を増やすとかできないかしら。<オイ。

本来は、自治体や地域住民がそれら「パート教員」的存在に
相当するはずだったのかな。
でも、現実には、地域住民のほうが教員や子供達より忙しくて
それどころじゃなかったと(爆)

> 資源のない日本は教育で世界と渡り合う

あー。それはたしかに。それしか道はないですわな…。

> 昔のように「受験テクニック」だけの勉強にはならないような気が

なるほど。自分、単純に「ゆとり教育の撤廃」=「昔の詰め込み教育の再現」
かと思い込んでました(爆)
改善される見込みがあるなら、変革?に反対する理由はないですな…

> 入る余地がないと入らない
> 他人を押しのけてでも自分の居場所を確保する
> 大成はしない

うーん。余地云々とは違う気もするなぁ… >裾野。
なんていうか…勧誘する側の視点と、勧誘される側の視点の違いというか…

勧誘する側は、余地があろうとなかろうと関係なく
勧誘するものだと思うのですね。
また、その中で競争があっても、勧誘する側は意に止めないだろうと。

「裾野を広げて〜」といった思考は、
実務に従事してる人間ではなく、それら業界・分野から上がってきた成果を
利用する立場に居る人間の思考というか…
例えば、漫画家と編集者が居た場合、編集者側の思考になるのかしら。
裾野云々を意識するのは編集者であろうし、
また、編集者にとっては、漫画家が大成しようがしまいが関係なくて。

子供達に対する教育方針ってのは、
どこか編集者みたいな視点で行われてる感が自分にはあるのだろうなぁ…
それで裾野云々を書いたんだろうけど…
でも、けいと様は、勧誘される側・漫画家側の視点で見て、
入る余地があるのかないのかに着目した…ということなのかしら…。

…まあ、何か違う感じがした、というだけの話ですが(爆)

> 成功を保証された人生

うーん。成功を望まない人は居ないと思うわけで…
つまりそのへんは、
「ハイリスク・ハイリターン」「ローリスク・ローリターン」の
どちらを良しとするか、という感じの話なのかなぁ…

しかし、「ローリスク・ハイリターン」を望むのは問題、
ということですかね。そんな上手い話はないよ、と。

…なんだか話がグチャグチャになってきてる感がしないでもない(爆)
起きたばかりなので頭の回転がちょっとアレでして>自分。スイマセン。
Re: 食えればどっちでもよい by けいと    2005/03/22 19:52
> 漫画家と編集者が居た場合、編集者側の思考になるのかしら

どうなんでしょ?
私はこの文を読んだ瞬間、
「編集者って言うよりは出版社側の思考だよな」
と思ってしまったんですが。

ただ、どこの出版社も「新人漫画家募集」なんてやらないですよね。
よほどの事がない限り。

なのに、新人の頃から
出版社から「ぜひうちに描いてください」って来るまで待っている感じなのが
違和感を感じるところなんですよね。
そんなことしてたら一生こないよ、って。

一流の大先生ならばこそ「ぜひうちで」ってなるんですけど、
どんな大先生も最初は新人だったわけで。

> 「ハイリスク・ハイリターン」「ローリスク・ローリターン」

なんていうんでしょうね?
昭和の時代みたいに
「オレは大卒なんだ、ハイリターンは確定だろ」
っていうのが先にあって、
その次に
「大卒のオレがリスクをリスクを負えだと?ふざけるな」
っていう感じですかね。

残念がったり、くやしがったり、昔の人をうらやましがるのはわかるけど、
いまはそんな時代じゃないよ、って言う事です。

意地悪な言い方をすれば
「ハイリスク・ローリターン」「ローリスク・ノーリターン」
の時代だよって言うことです。

まぁ、私から言わせれば、
上のほうの美味しい部分は特権階級だけで独占しますから、
お前らは素直に奴隷やってろ、って言われているようにしか見えませんけどね。
そんな事言われたらやる気なくすし、
誰がお前らのために働くか、って思う気持ちもわからんではないし。

今はその辺の「富の配分」に偏りが出る事を良しとする
社会になってきたんでしょう。
Re: 食えればどっちでもよい by mieki256    2005/03/24 05:38
> 編集者って言うより出版社側

あ。なるほど。なんかそっちのほうが近い感じがするかも…。
『編集者』だと、人によって違いがありそうですしね…

> 出版社から「ぜひうちに描いてください」って来るまで待っている感じ

そのへん、ひょっとすると、「クリエイター志望」の人達に、
↓こういう思想があるんでしょうかねぇ…
http://www.gtvnet.co.jp/watanabe/h_book.html
http://d.hatena.ne.jp/keyword/%A4%D2%A4%E9%A4%AD%A4%B3%A4%E2%A4%EA
いや、わかんないんですけど。
ていうかこの方は「作品作らなきゃ話にならないよ」と主張してたような
気もするので、ちょっと違うか。

> ノーリターン

うーん。さすがにそれは… (^^;

> 「富の配分」に偏りが出る事を良しとする社会

社会 or 共産主義国家が崩壊する以前であれば、
「社会 or 共産主義に移行することで富は平等に配分される!」
なんて夢想できて、「革命を!」なんて話もあったのかもしれないけど、
(いや、日本人(の一般大衆)は革命なんか起こせないけど。
 外国と違って、今まで起こしたことないし。)
今となっては『ビジョン』すら存在しない…手詰まり状態ですよね。
偏りを良しとはしてないけれど、打つ手もなくて、
ただそちらに流れてるだけ、という状態…なのかしら。

#13 [cg_tools][neta] コンピュータ制御で照明を当てて均一さを得るグリーンバックってのはどうか

各所に光センサがポチョポチョと仕込んであって…

と思ったけどカメラで撮るんだからそちらの映像を参照して均一さを調整すればいいのか。

と思ったけどスタジオの中では一度グリーンバックへの照明を調整しちゃえばそのままなんだろうし。人が調整したほうが早いのか…(爆)

#14 [anime][neta] 外国からやってきた音撃ライダーってのはどうか

海外市場を狙うです。みたいな。

中国からやってきた音撃ライダーは中国4千年の歴史で怪しい技を各所で使いまくり。イタリアからやってきた音撃ライダーは、やけに陽気で、『たちばな』のお姉さん方に「オー! セニョリータ!」みたいな。ドイツからやってきた音撃ライダーは歯車が(以下略。

などとバカ妄想してたのだけど、どんな楽器を割り当てればいいかで詰まったり。「音で清める」とか言ってるのだから、歴史を感じさせる楽器じゃないとアレだろうけど…。

妹に、ヨーロッパで古くからある楽器を尋ねたら、「ハープはかなり古いはず」という返事。…ハープを使う必殺技って、なんか色んな作品で使われてそうだな。

中国で、古くからある楽器って何だろう。女子十二楽坊が使ってるような楽器とか、そのへんかしら。

インドからやってきた音撃ライダーは何をやっても許されそうな印象が :

腕や足が伸びたり、座禅を組むと宙に浮いたり、火を噴いたり、屋根裏部屋に忍び込んだり…そういうことをしても「インド人だからなぁ」で納得してしまう、そんな印象が。どうしてインド人にはミラクル感が付随するのだらう。

つーかなんだか :

『がんばれロボコン』のキャラ設定みたいだ。

2004/03/17(水) [n年前の日記]

#1 [nitijyou] 親父さんが新潟まで写真を撮りに

同好の士と二人で行ってくるらしい。朝7:00頃出かけていった。日帰り。どうせなら、どこかに泊まってのんびりしてくればいいのに。…最近、遠出関係は、必ず誰かと一緒に行くように心掛けてるみたい>親父さん。運転に自信がなくなってきたのだろうか。いや、単に疲れやすいだけか。二人で行けば交替で運転ができるから楽なんだろう。

#2 [digital] _ペン型スキャナー DocuPen

イカス。これですよコレ。こういうアプローチが活発になってくれないかと。…しかし、 _スペック を見ると、200x200dpi、白黒らしい。細さと読取精度を両立させるのは難しいのだろうか。それでもFAXなみの解像度はあるから、ビジネス関係なら問題にならないかも。…同人誌を切り裂かずにスキャンするのにも適してそう<オイ。 _(via void GraphicWizardsLair( void ); //)

_RapidScan RS-C40U :

ついでだから、色々メモ。600dpi、カラーに対応。一度の走査で読めるサイズが大きければ言う事なしだろうけど。逆に、モバイルを意識すれば、この小ささはメリット。

_「やさしい技術講座 - カラーモバイルスキャナ」 :

富士通研究所のカラーモバイルスキャナ開発小話等。 _小話2 の司会者って、ジャパネットたかたの社長さんだろうか。イラストを見る限りではそんな感じが。 _小話1 の内容からすると、スキャナ開発陣に漫画描きや同人誌コレクターが居てほしいと思ったり。必要は発明の母。…父は?

_松下寿、小型モバイルスキャナー『LK-RS300』 :

_松下と松下寿、Zscan+、『LK-RS300U2』『LK-RS300U2-W』 もメモ。300dpi、カラー、A3サイズまで対応。Zを描くように移動してもスキャンできるのが売り、らしい。

_『携帯ハンドスキャナー KX-FS10N』 :

スキャナ自身に読取データを格納して、後でPCに転送する。デジカメみたいだ。ただ、I/FがRS-232C時代の古い製品。今の技術で作ったら、かなりのものになりそうな気もするけど。もっとも今なら、 _携帯のカメラ機能で高精度スキャン画像を取り出す技術 を実用化したほうが、色んな場面で使えそう。

_MultiReader PetiScan MR800U3 :

手で走査しない分、確実に読み取り作業ができる感じはする。

PetiScanのアプローチを発展させて :

下敷きみたいなスキャナを作れないだろうか。書籍のページ間に挟んで、書籍をパタンと閉じた状態でスキャンできる、みたいな。…どうやって読み取る機構を作るねん。読取部分を動かすだけでも大きくなるやん。…駆動部分にモータを使わず、リニアモーターカーのように磁石の並びで移動させるとか、あるいは静電気で移動させたりできないか。重いから無理か。

読取範囲の全面にCCDを配置させたら、駆動部分が無くて済むから、薄くならないか。でも、CCDはコストがかかるから全面配置なんて無理か。…光を使わずに読み取るとか。黒いか白いかを検出できる、光以外の何か、しかもコストが安くて、全面配置できるものを使う。…光以外の何かって何だよ。そんなもの存在するのかと。

よく、本の間にダニみたいなのが蠢いてたりするけど。彼等を真似できないか。マイクロマシンを本のページの間に仕込んで読ませる。ページの上を彼が歩くと、歩いたところが読み込まれていく。…1ページ読み取るまでに時間がかかるか。HDDのデフラグより大変。

#3 [cg_tools] _CRTの電磁波の干渉でポインタが震えるのを防ぐために、タブレットのほうの使用周波数を変更したためだそうです。

旧intuosとintuos2の違いってそれだったのか。なんてこった。オイラのは旧intuosなのです。道理でポインタがプルプル震えて使いづらいはずで。 *1 旧intuosユーザに対しては、intuos2を多少安く売ってくれないものかしら。intuos2があれば、旧intuosは要らないのだから、下取り(?)してくれてもええやん。

妹の使ってる旧製品と交換してもらうことにした :

妹のPCはノートPC。液晶モニタだから電磁波の影響はないはず。なので、自分のintuosと、妹が使ってたUD-0608-Rを交換してもらった。

自分のPCにUD-0608-Rをつけてみた。intuosと違ってシリアル接続、かつ、ACアダプターが必要なので、接続がちと面倒。狭いところでゴソゴソと。WACOMから最新ドライバを入手して動作確認。ポインタの震えはなくなった。ように見える。

Photoshop 5.0上で動作確認。描画が始まるまでワンテンポ遅れる。何故。それと、座標取得の反応が鈍いような。ペンを素早く動かすとガクガクした線になる。…intuosの時もこうだったっけか。記憶が無い。そのへん意識してチェックしてなかった。

Painter 5.5 & 6.0もインストール・動作確認。ポインタ飛びはなくなった。こちらは、Photoshopと違い、結構滑らかな線が引ける。

当たり前だけど、intuosと違って、やはり筆圧反応が鈍い>UD-0608-R。それでも、マウスで描くより、よほどマシ。それはそれとして。なんだか手がジンジンする。タブレット面の、磁気だか静電気だかの影響だろうか。旧製品のほうが何かしら強力なのかな。それとも経年劣化云々があるんだろうか。仕組みが判ってないので頓珍漢な事を言ってる可能性大。

_Painter6、6.1関連 テンプレート集 :

Painterを入れたので、メモ。…そういえば、5.5や6のアップデータってなかったっけか。

*1: 一応、CRTから極力離すべく努力はしてるのですが。PCデスクの机面の位置が手前になるようネジ位置を変えたりとか。タブレット一つの為に、ゴリゴリガリガリと肉体作業(?)を。トホホ。

この記事へのツッコミ

Re: CRTの電磁波の干渉でポインタが震えるのを防ぐために、タブレットのほうの使用周波数を変更したためだそうです。 by BSEタブレット    2007/03/17 19:27
わたしの場合
同じペンタブでも
(条件1)
Windowsでは震えない。
Linux(Fedora core 6)では震える!
Linux(Debian)では震えない。
(条件2)
FedoraCoreでもPS/2マウスでは震えない。
USB直通なら震えない。
モニター切替器経由(USB)だと震える!

つまり2つの条件が重なると震えるといえそうです。
ドライバで終端をちゃんとやってないのでモニタケーブルの電磁波の影響をモロに受けるということだと思います。
Linuxでも震えるというのは気になる話 by mieki256    2007/03/19 04:07
Windowsでは震えないけど、Linuxでは震える場合もあるというのは
なんだか気になる話ですね…。ドライバのせい?

と思いましたが、もしかするとCRTの垂直周波数が
それぞれで違っているのではという気も。
画面解像度は一見同じでも、
X-window(?)が違うパラメータを渡してる場合がありますし。
いや、CRTを利用してるのであれば、の話ですが。
液晶ディスプレイ利用ということであれば…
やはりドライバの作りに関係してくるんだろうなぁ…。

でも、ドライバでは、
タブレット側の動作周波数を変更できないと思うんですよね。
それが出来るなら、初代Intuosもドライバを更新するだけで
Intuos2程度に不具合回避ができるはずですが、
そういう展開にはなりませんでしたし。
ハードウェアレベルでの不具合(?)だったのだろうと思います。

まあ、CRTはもはや日本国内で死滅しつつあるので、
タブレットのポインタが震える不具合に遭遇する人は
これからは皆無なのだろうと予想もしますが…。

2003/03/17(月) [n年前の日記]

#1 ディープリンク

要するに、「直リン禁止」を「主張」で実現可能と思ってる無知な人間はWebを使わんほうがいい、と。 _
逆に言うと、連中には想像もつかない思考・発想をしている _テッド・ネルソン_ティム・バーナーズ=リー がいかに偉大な存在か、ということだろうか。ってgoogleで調べるまで名前知らんかった私。無知は恥。

画像合成ってPhotoshopのアクションやgimpのScript-fuでも充分可能だったのでは。今頃気づいても遅い。

#2 [digital] ディープリンク

連邦vs産経について思った事。
世の中客が集まらなくて困ってる企業が多いのに、自ら汗水垂らして営業しなくても勝手に閲覧者(=広告を見てくれる人)を増やしてくれるなんて随分美味しい話のはずで。閲覧者の多さを商売に結び付けられないのは企業が怠慢なだけ。そもそも実状に合ってない広告の出し方を維持する事に固執してるあたりが愚かしい。「広告を見せる」という「目的」を忘れ、「直リン禁止」という「手段」を「目的」であるかのように錯覚している。実状に合わない「手段」なぞゴミ箱にD&amp;Dすればよろしい。実状そのものを変化させるべく画策するより、実状に合った「手段」を考案する方が容易であるのだから。それとも無知であるが故に実状が見えていないのか。

既に存在し、自由に使え、手っ取り早くて確実な「技術」をあえて使わず、「主張」のみが直リン禁止の状況を達成できるのだと思い込んでいる無知な方々はネット上から消えてほしいと願う。昔、電話線に風呂敷をぶら下げて相手先に荷物を届けようとしたお婆さんが居た、という笑い話があるが、直リン禁止を主張する人々もいつかはそのように笑われる時代が来てほしい。皆が笑うその意味は、皆がネットを活用できるだけの充分な知識を持ち得た証拠であり、「技術」の有無・内容について認識・理解できた証明でもあろうから。今はまだ、電話線に風呂敷をぶら下げている事にすら気づいていない人が多すぎる。しかも「電子営業部企画担当次長」なんて大層な肩書きつけた人間が率先して風呂敷をぶら下げている情けない状況だ。まだまだ先は長い。

それとも実状に合わない「手段」の変革を外部からの圧力を利用して試みようとしたが故のアクションであろうか。そこまでのアクロバットが必要になるほど、動脈硬化した企業なのであろうか。

2002/03/17() [n年前の日記]

#1 北方領土

ムネヲにまつわるマスコミの報道の中で、
「北方領土二島返還論」あるいは「不要論」=「国益に反する」
と決まっちゃってる節があるけど。
本当にそうなのか? _(以下略)


HDDを空けるために、色々整理中。

ユーザ「これこれこういう画像が見たい」
PC「むむ。大体こんな感じの画像ですかね」
ユーザ「いや。もうちょっとこういう感じの」
PC「あー、するとこのへんかなぁ」
なんて時代がくれば、人間がわざわざ整理しなくてもいいのに。
無理か。

#2 [seiji] 北方領土

ムネヲにまつわるマスコミの報道の中で、
「北方領土二島返還論」あるいは「不要論」=「国益に反する」
と決まっちゃってる節があるけど。
本当にそうなのか?

「四島返還論」を主張する側(外務省、政治家連中)って…
国のメンツを保つことばかり意識するあまり、事態を膠着させてないか?
それって、真の意味で国益になってるのか?

北方領土問題って、共産主義国家に対する日本国民の感情を操作する為のアイテム、としての側面も一応あるので…
ちと気をつけて、そのへん注目しとかないとマズイ気もするんだけど。

領土が増える=国益になる、という思考は、現代においては短絡的過ぎやしないか。
外交って、あるいは国益って、もっと色んな面があるんじゃないのか。
頭ガチガチの外務省・政治家の主張=四島返還論に、いつのまにか国民全体が流されちゃうのではなく…
それぞれ個人の中でも、どのように問題解決を図るのがベターなのか、たまには考えてみたほうがいいんじゃないか…
とか思ったり。

今、こういう「非国民」的なこと言うと、すぐ「ムネヲ側か?」とか思われそうだけど。
ムネヲを擁護する気は毛頭無いですよ。
彼の言動は矛盾だらけで、自分は到底信頼できない。
仮に彼が、しっかり理論武装して「不要論」を真っ向から主張してくれるならまだマシだけど、現実はそうじゃないし。
つか、疑惑ありすぎだし、何がマズイのか本人全然理解できてないし、擁護しようもない。

でも、ムネヲが殴ったという外務省役人の、当時の行動・主張って…
文化交流を実際に図ろうとした当事者達からすれば、そりゃ殴られてもおかしくない言動でしょ。
その事について、どうして誰も、批判したり嘆いたりしないのか。

なんかねぇ。マズイ風潮だにょ。
外務省のチェックをするべき場面で、ムネヲばかりチェックしてないか。

外務省官僚達、ほくそ笑んでるだろうなぁ。
見事なまでに、マスコミの意識を逸らす事に成功しちゃったよねぇ。

2001/03/17() [n年前の日記]

#1 CSS難しいです

急遽、ネット上に「お気に入り」のバックアップを残す必要に迫られたり。
とりあえず、MoonBrowserの「お気に入り」を、Netscapeのbookmark.htmへ書き出し。
それを都合のいいように変換するPerlスクリプトを書いてたんですが。

CSS難しいです。見た目ぐちゃぐちゃ。
しかも、IEでいい具合に出来たと思ったら、NNじゃ真っ白いページに…なんでや。
結局テーブルにしてしまったんですが、それはそれで問題が。
CSS使ったときより、ファイルサイズがほぼ倍に。
600KByteのHTMLって一体なんやねん(爆)

2000/03/17(金) [n年前の日記]

#1 (NoTitle) SAMBAですが、ココと...

SAMBAですが、 _ココ とか _ココ とかのHPを見てようやくまともに動くようになりました。特に _このへん とか。
Windowsマシンからブラウザを使ってSWATでの設定もOK。サンバーい \(^o^)/
しかし。
実験的にSAMBA側のパスワードを変更したのですが、その後もWindowsマシンから平気でアクセスできるのです。
なんでやねん。
まあファイルがやり取りできてるわけだし、とりあえずはいいか <ホントにいいのか?

メインマシンの外部へのアクセス不調ですが、Linuxを立ち上げてなくても不調が起きる事が判明。
サブマシン(Win98)が頻繁に外部にアクセスすると調子が悪くなるようで。
なんでやねん。
今こうしている間にもハブのランプの点灯が調子の悪さを物語って…
…あ、メイン、今まさに止まった。なんでやー。

なんだかサブマシンのアクセスが終わると止まるみたい>メイン
1台だけでアクセスしてるとそう止まらないなぁ。何が原因なんだろ。
SAMBAの実験する時Win側のネットワーク設定も変えちゃったからそれのせいかな。
母さん全然わかんないわよ <つーかそれも何のネタかわからん
って設定変えてたら他のマシンにpingすら通らなくなった…いやーん (´Д`;)
とりあえず設定戻すか…

1999/03/17(水) [n年前の日記]

#1 (NoTitle) TWO-TOPから注文確認...

TWO-TOPから注文確認メールが来ました。サーバーが不調だったそうです。
てなわけで銀行振込をしに自転車で。ついでにデジカメであちこちバシバシと。

明日は粗大ゴミの日なので、親父さんと共に色々いらないものを集積所に置いてきました。
とうとう物置にしまってたX1turbo(初代)も処分。さようならX1。わが青春よ…。
とはいっても捨ててきたのは私が使ってたヤツで、弟のX1turboはまだ手元にあるのでした。
大量のMMLデータが惜しいのでハードごと残しといて欲しい、と頼まれたのですが
現在主流のマシンで扱えるメディアにバックアップしておけないものかな…。
どこかにX1turbo+FM音源ボードのエミュ、ないかなぁ。そうすればふんぎりがつくんだろうけど。

昨晩行き当たりばったりで男の子を描いたら、けっこうそれなりに仕上がったので、
せっかくだからとアニメをつけてタイトルアニメ更新です。
しかし…やっぱり女の子じゃないとなんかイヤな感じ。(^_^;)>
近日中に女の子のアニメを新規作成して更新せねば。

以上、25 日分です。

過去ログ表示

Prev - 2024/03 - 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