mieki256's diary



2023/12/25(月) [n年前の日記]

#1 [nitijyou] 録画用PCのHDDが空き容量が無くなってた

PT1を積んでいる録画用PCのHDDをチェックしたら空き容量が完全に無くなっていて、予約していた番組のいくつかが録画できてなかった…。

悔やんでみたところで今から録画できるわけでもないので、録画に失敗したシリーズは、未見のファイルも含めて全削除して空き容量を確保することにした。

どうせ今後、視聴する時間を捻出できるとも思えないし…。次から次へと新作アニメが放送されて、それらを消化 ―― 見て消しするだけで精一杯。1クールも溜め込んでしまったアニメを今から見てる暇なんて、たぶんもう無いだろう…。そう思うことにして諦めていこうかと。

2022/12/25() [n年前の日記]

#1 [tv] TR-808関連の番組を2本視聴

思考メモ。なのかな。たぶん。

先週、今週と、電子楽器 TR-808 (以下808と記述)を紹介する番組がNHKで放送されていたので、どちらも視聴したことをメモ。
そもそも、TV で 808 が紹介されてしまうという展開にビックリ。いやー、見れて良かった…。スタッフさん、ありがとう。星野源さん、ありがとう。その点については御礼を言いたい。よくぞ、こんなニッチな(?)内容を放送してくれたなと…。ありがとう。本当にありがとう。

ただ、内容は随分違っていて、そのことでなんだかちょっと考えさせられてしまったので、そのあたりもメモ。

異なる歴史。 :

「ノーナレ」で語られていた808の歴史は…。
  • 「発売したものの、実際のドラムの音とはかけ離れた音で、市場の評価は芳しくなかった」
  • 「すぐ後にサンプラーが世に出たこともあり、808は『時代遅れの古臭い電子楽器』扱いされてしまう」
  • 「投げ売りされてた808を、お金が無かったヒップホップミュージシャン達が入手。活用方法を次々に見出していく」
  • 「それをキッカケにして808の再評価が始まる」
この歴史は自分もどこかで聞いていたので気にならなかったのだけど。

「星野源の〜」で語られていた808の歴史は…。
  • 「発売したらたちまち大ヒット」
  • 「世界中のミュージシャン達が『この音イイネ!』と大絶賛」
  • 「808を使った曲が次々に大ヒット」
まあ、番組内で流れた実際の説明文とはニュアンスが異なるだろうけど、初見ではこんな感じの説明に聞こえてしまって…。

「ノーナレ」→「星野源の〜」の順番で放送されたせいもあって、「星野源の〜」を見ていて「おいおいおい…。その説明はマズいだろ…」とドキドキハラハラ。まるで、「(カリ城|ブレードランナー)は公開した途端に大ヒット!」という説明を耳にしてしまったような気分に…。いかん。その説明はいかんぞ。かなりマズイぞ。みたいな。

もっとも、これは番組内で語られていたけど、星野源さんは自分のスタジオの名前に「808」というワードを含めているぐらいに808がお気に入りだそうで。そこまで808が好きな人が、808が不遇な扱いを受けていたエピソードを知らないはずもないよなと。だから、これはおそらく、意図してそういう説明をしてるんだろうなと邪推(?)しながら見てたわけですが。下手すると、「ヒップホップミュージシャンが808の魅力を再発見したという話がありますよね。アレ、嘘っぱちですよ。捏造された歴史です。騙されちゃいけません。本当はね…」ぐらいのことをどこかで熱く語ってた可能性だってありそうだよなと…。そのくらい拘りを持っていてもおかしくない気配がする…。

あるいは、「808の例の歴史は別番組でもう紹介してるから、こっちは違う面から紹介していこうよ」という方針でもあったのかなと。

ただ、投げ売りエピソードを完全スルーするのはやっぱりちょっとどうかと思いました。たった一言でいいからチラリと触れてたら全然印象が違ったのになあ…。「ああ、なるほど。全部知ってる上でこの説明なんですね。了解です」と思わせてほしかった…。でもまあ、喋ったけど編集でバッサリとカットされた可能性もありそうか…。

それはそれとして。「星野源の〜」のシーズン3、作って欲しいよなあ…。毎回勉強になるし…。星野源さんが忙しくてなかなか作れないなら別の人と交替して作ってもOKなぐらい良い番組だった、そんな印象でした。

夢や希望や学びを伝えてくれる歴史のほうが好み。 :

個人的には、「ノーナレ」で語られた歴史のほうが好きだなと…。仮にそれが、話を盛り過ぎ・捏造の域に入ってて事実と異なっていたとしても。それは何故かと言うと…。

「808の事例を思い返してごらん。たとえ君が貧乏で、安い機材しか買えなくても、曲を作って楽しむことはできるんだよ。(だから君も音楽やろうよ。始めてみようよ)」
「道具は使い方次第。使う人の創意工夫が一番大事だよ」

これって、お金のない若者達にも夢や希望を与えてくれる話だよなと。音楽は、高い機材を平気でポンポン買える、そんなお金持ちの人達しかやれない趣味じゃないんだと。投げ売りされてた808の歴史が、そのことを証明してるよね、と。

そして。

「『こんなものには価値が無い』と皆が思い込んでるモノの中にも、実は宝石が眠ってるかもしれないんだよ」

そんな教訓を与えてくれる話でもあるよなと。

そう考えると、星野源さんの語った808の歴史は…。夢も希望も無い。何一つ学びが無い。「発売したら大ヒット」「世界中からたちまちイイネを貰った」って…。いや、もしかするとそれが本当の歴史だったりするのかもしれないけれど、というか星野源さんの中の正しい歴史はソレなんだろうけど、自分は、そっちの歴史はこれっぽっちも推したくないなーと思ってしまいました。これほどまでにつまらない、クソの役にも立たない話があるだろうか。嘘でもいいからちょっとは若者達に夢を見させてやれよー。みたいな。 *1

もっとも、このあたり、偉人伝と共通するものを感じたりもして。

偉人伝は、本当はそんな人物じゃなかったりするけれど、後進をその気にさせるために、作り話が盛り込まれてたりするわけで。それと同じようなことが、人物じゃなくて、只の電子楽器にも、ひょっとすると付随しているのかもしれないなと…。

偉人伝ならぬ、偉「電子楽器」伝が作られちゃったのかもしれないあたり、808ってやっぱり妙な楽器というか、実に面白い楽器だよなと改めて思うわけで。こんな楽器は珍しいのではないかと思うのだけど…。そうでもないのかな。どうなんだろう。

TVというメディアの怖さ。 :

ところで、2つの番組は、同じ取材映像を使っている場面がチラホラあったのですが…。映像は同じなのに、そこにどんな説明を被せていくかで、全く違う歴史がまことしやかに語られてしまう。そのあたりも、なかなか興味深かったなと…。

これはTVというメディアに限った話じゃないのだろうけど…。自分達が情報を入手する時、その情報はおそらく一面しか見せていないのだろうなと。語り手の意志によって大きく改竄されている可能性を絶えず疑って見ていかないといけないのだろうなと今更ながら再認識。

いやはや、個人的にはなかなか衝撃的な視聴体験でした。同じ映像なのに言ってることが全然違うのだもの。いやー、コレは怖いなー、でもコレってこの番組に限った話じゃないだろう、どの番組もこういう状態で放送されてるんだろうなー、と。そのあたり気をつけながらTV番組の類は見ていかないとマズイよなと。

てなことをしみじみと思いましたとメモ。思考メモ。

2022/12/27追記。 :

「星野源の〜」の808回の未公開トークがYouTuveで公開されていた。2分半の内容だけど、これまた勉強になった。ありがたや。

公式サイトでは他の回の未公開トークも公開されてる模様。MTRでこういう曲を作ってたんだよ、てな話にはなんだか夢を感じた。そして今は、PCやスマホがあればもっとトラックを重ねられるわけで、Eテレで放送されていた「ヒャダx体育のワンルーム☆ミュージック」内で紹介されていた各事例に繋がっていくのだろうなと。デジタル機器の普及が楽曲制作の敷居を更に下げてくれて、才能が世に出る機会を増やしてくれた。ありがたい話じゃのう…。

*1: ただ、シーズン2 第5回 「レイ・ハラカミ」で、SC-88Pro だけを駆使して楽曲制作をしてみせたミュージシャンを紹介してたので、そこでは夢(?)を見せてくれたというか、教訓が得られる回だったよなあ、とも…。あの回の内容は、808の話と近いものがあるよなと…。「機材の値段で勝負が決まるわけじゃねえぞ」「結局は使うヤツの腕次第なんだよ」みたいな。

2021/12/25() [n年前の日記]

#1 [nitijyou] 某所に行ってきた

某所に行って、DELL OptiPlex 3020 SFF の電池交換のお手伝いと、Windows Update作業のお手伝いをしてきた。とメモ。電動アシスト自転車が壊れてしまって移動手段が無いので、大変申し訳ないことに、車で送迎してもらった…。09:30頃に迎えに来てもらって、13:00頃に帰ってきたような気がする。たしかそんな感じだったはず。

詳細はGRPでメモ。

Windows8.1を使っていて、共有プリンタから印刷できない問題は、2021/12のWindows Updateで修正されたらしい。Windows10/11は修正パッチが出ていて、Windows8.1は放置状態だったけど、ようやくWindows8.1も修正された…。

_【Windows8.1】 WindowsUpdate 2021年12月 注意事項と各KBメモと直リンク KB5008263 / KB5008285等 | ニッチなPCゲーマーの環境構築Z

EPSON の FAQページも更新されていて、情報が掲載されていた。

_よくある質問(FAQ)|エプソン | Windowsセキュリティ更新プログラム(2021年9月14日公開)のKB5005565、(2021年10月12日公開)のKB500670などを適用したら、共有プリンターに対して印刷出来なくなりました。

更新作業には1時間ぐらいかかったような気がする…。共有プリンタから印刷ができることも確認できた。

ただ、某所の方曰く、以前と比べて印刷が始まるまで時間がかかると感じたそうで。これまでとは違う仕組みで印刷するようになったのだろうか。

某所のPCの動作がとにかく遅い。 :

今回作業した OptiPlex 3020 SFF について、3台中2台が、とにかく動作が遅くて。タスクマネージャーで確認すると、HDDアクセスがずっと100%のまま。何かがずっとHDDにアクセスしっぱなしで…。

プロセス名をスマホで撮影して、帰宅後ググってみたら、どうも SaAT Netizen という韓国製のセキュリティソフトが悪さをしている気がする…。動作が遅い2台のどちらにもインストールされていたし…。Web上での評判もめちゃくちゃ悪い…。

_【SaAT Netizen】銀行推奨のセキュリティソフトがメモリを大量に食うので仕事にならない件 - Togetter
_『SaAT Netizen』って何?|さぬきパソコン救急隊の施工事例ブログ|パソコン修理|生活110番
_ちょっと待って! ネット銀行推奨の各種保護ソフト
_銀行向け韓国製セキュリティ SaAT Netizenが酷過ぎてギャグレベルの惨状 - Windows 2000 Blog
_【修正】nProtect Netizen が SaAT Netizen に改名して何が変わったか - Windows 2000 Blog
_SaAt Netizen という韓国製セキュリティソフトは信用できるか? - 独断偏見妄言録 China's Threat
_多くの 地方・都市銀行で導入を推奨している韓国製 SaAT Netizen を調べてみたら 第三者評価の辞退や脆弱性など、洒落にならないレベルだった件のまとめ | BlackWingCatの日記 | スラド
_google chromeが重くなるネットバンキングのセキュリティソフト | サンネット技術部
_SaAT Netizenというソフトについて: 松本、塩尻のパソコン修理・中古PC ぴっとイン
_松本、塩尻のパソコン修理・中古PC ぴっとイン : SaAT Netizenというソフトについて
_【日本経済崩壊?】日本の銀行が採用しているセキュリティソフトがマジでヤバい件 | おにぎりまとめ
_「SaAT Netizen」というソフト - パソコン・インターネット: YATA-LOG
_高木浩光@自宅の日記 - 緑シグナルが点灯しないのに誰も気にしていない?という不思議, 追記

セキュリティ対策をちゃんとできない金融機関が安易に導入を推奨しちゃっているらしい。場合によってはインストールしてない場合取引すらできなくなるのだとか。利用側に負担を押し付けているのだな…。酷い話…。

2020/12/25(金) [n年前の日記]

#1 [anime] 「若おかみは小学生!」劇場アニメ版を視聴

HDDレコーダに録画したままだったソレをようやく視聴。原作は児童文学。スタジオジブリ作品を支えてきたベテランアニメーター、高坂希太郎さんの監督作品。脚本は、「猫の恩返し」「たまこまーけっと」の吉田玲子さん。

これは…これは良い…。巷でとても評価が高かったアニメらしいけど、視聴して納得。これは良作だわ…。そりゃ新海誠監督もTwitterで褒めるわ…。これを褒めずして何を褒めるのか、とすら思える…。

視聴後に関連情報をググってみたら、公開時の初動が何故かとんでもなく悪くて興行成績面では結構苦戦していたらしい…。これはアレだな…。ジャンルは全く違うけど「カリ城」のような映画かも…。「本物」なんだけど最初は客からスルーされちゃった系…。でも最終的には口コミで客がドンと増えて状況が改善したらしいので良かったなと…。

#2 [nitijyou] Amazonから色々届いたのでメモ

Amazonで色々購入したのでメモ。


_タップ用マグネット 丸型2個入り_HS-A0166 04-0166 - オーム電機ダイレクト
_MPD-OP54BK - サンワサプライ株式会社

タップ用マグネットは、マグネットがついてないLANハブに使えないものかと購入。いやまあ、まだLANハブは買ってないのだけど…。マグネット付きのLANハブになると1,000円ぐらい高くなるのが気になるわけで…。

マウスパッドは、今まで使ってた品がこすれてしまってマウスが滑りづらくなってしまったので購入。交換してみたらスルスルとマウスが動くようになった。

自転車サドルは、電動自転車のサドルの先端が破れてしまって養生テープを貼って誤魔化してる状態だったので、いい加減交換しないとダメだなと。

スマホポーチは、せっかく妹から古いスマホを譲ってもらったのに外出時に持ち歩けないのが不便だったので。ただ、想像していたより大き目で…。

2019/12/25(水) [n年前の日記]

#1 [love2d] love2dで多関節

love2d を使って、多関節の触手っぽい動きを書いてみたり。動作確認環境は、Windows10 x64 1909 + love2d 11.3。

こんな感じになった。マウスカーソルの位置で曲がり方が変わるようにしてみたり。

ソース。 :

_conf.lua
function love.conf(t)
  t.version = "11.3" -- love2d version
  t.window.title = "Arm - love2d"
  t.window.vsync = 1
  t.window.width = 1280
  t.window.height = 720

  -- t.window.fullscreen = true
  -- t.window.fullscreentype = "exclusive"
end

_main.lua
-- Arm on love2d

function love.load()
  love.graphics.setDefaultFilter("nearest", "nearest")

  img = love.graphics.newImage("circle02_64x64_take1_05_5bit32col_edit.png")

  scrw = love.graphics.getWidth()
  scrh = love.graphics.getHeight()
  bx = scrw / 2
  by = scrh / 2

  angles = {}
  pos_buf = {}
  for i = 1, 16 do
    angles[i] = 0
    pos_buf[i] = {bx, by}
  end

  ang = 0
  a0 = 15
  a1 = 30
end

function love.update(dt)
  ang = ang + 90 * dt

  mx, my = love.mouse.getPosition()
  a0 = 45 * (mx - (scrw / 2)) / (scrw / 2)
  a1 = 45 * (my - (scrh / 2)) / (scrh / 2)

  -- angles[1] = 0
  angles[1] = ang

  for i = 2, #angles do
    -- angles[i] = a1 + a1 * math.sin(math.rad(a0 * (i - 2)))
    angles[i] = a1 * math.sin(math.rad(ang * 0.75 + (i - 1) * a0))
  end

  local x = pos_buf[1][1]
  local y = pos_buf[1][2]
  local a = angles[1]

  -- local distance = 30
  local distance = 24 + 12 * math.cos(math.rad(ang * 1.4))

  for i = 2, #angles do
    a = a + angles[i]
    x = x + distance * math.cos(math.rad(a))
    y = y + distance * math.sin(math.rad(a))
    pos_buf[i] = {x, y}
  end
end

function love.draw()
  -- fill window background
  love.graphics.clear(0.4, 0.7, 0.8, 1.0)

  -- draw arm
  local ox, oy = img:getWidth() / 2, img:getHeight() / 2
  love.graphics.setColor(1.0, 1.0, 1.0, 1.0)
  for i = 1, #pos_buf do
    local px = pos_buf[i][1]
    local py = pos_buf[i][2]
    love.graphics.draw(img, px, py, 0, 1.0, 1.0, ox, oy)
  end

  love.graphics.print("a0=" .. tostring(a0), 2, 16)
  love.graphics.print("a1=" .. tostring(a1), 2, 32)

  -- draw FPS txet
  love.graphics.print("FPS: " .. tostring(love.timer.getFPS()), 2, 2)
end

function love.keypressed(key, isrepeat)
  if key == "escape" then
    -- ESC key to exit
    love.event.quit()
  end
end

動作に必要な画像は以下。CC0 / Public Domain ってことで。

circle02_64x64_take1_05_5bit32col_edit.png
_circle02_64x64_take1_05_5bit32col_edit.png

この3つのファイル、conf.lua、main.lua、*.png を適当なフォルダに置いて、「love フォルダ名」で実行できる。

解説。 :

仕組みは…。DXRuby で多関節のソレを書いた際の記事が参考になるはず。アレと同じ仕組みだし。

_mieki256's diary - DXRubyで例の多関節を実験

各関節が角度を持っていて、親の角度+自分の持ってる角度を使って位置を決めていく、という説明でいいのかな。

余談。class を作って書いたほうがいいのかなと思ったけれど、この程度の処理なら、各関節の角度を保持しておく配列さえあれば動かせるなと思えてきたので、だらだらと書いてしまったり。

#2 [love2d] love2dでcubic bezierの触手を描画

love2d を使って、cubic bezier 曲線の触手を描画してみたり。動作確認環境は、Windows10 x64 1909 + love2d 11.3。

こんな感じになった。




以下のページを参考にさせてもらいました。ありがたや。

_Flashゲーム講座&ASサンプル集【曲線について】

ソース。 :

_conf.lua
function love.conf(t)
  t.version = "11.3" -- love2d version
  t.window.title = "Cubic bezier - love2d"
  t.window.vsync = 1
  t.window.width = 1280
  t.window.height = 720

  -- t.window.fullscreen = true
  -- t.window.fullscreentype = "exclusive"
end

_main.lua
function get_cubic_bezier_point(p0x, p0y, v0x, v0y, v1x, v1y, p1x, p1y, t)
  local q = 1.0 - t
  local u0 = q * q * q
  local u1 = 3.0 * t * q * q
  local u2 = 3.0 * t * t * q
  local u3 = t * t * t
  local ox = u0 * p0x + u1 * v0x + u2 * v1x + u3 * p1x
  local oy = u0 * p0y + u1 * v0y + u2 * v1y + u3 * p1y
  return ox, oy
end

function love.load()
  love.graphics.setDefaultFilter("nearest", "nearest")

  img = love.graphics.newImage("circle02_64x64_take1_05_5bit32col_edit.png")

  scrw = love.graphics.getWidth()
  scrh = love.graphics.getHeight()
  bx = scrw * 0.95
  by = scrh / 2

  ctrl_points = {
    {100, 200},
    {scrw * 0.3, scrh * 0.1},
    {scrw * 0.6, scrh * 0.9},
    {bx, by}
  }

  points = {}

  ang = 0

  draw_ctrl_points = false
end

function love.update(dt)
  ang = ang + 180 * dt

  -- set control points
  mx, my = love.mouse.getPosition()
  ctrl_points[1][1] = mx
  ctrl_points[1][2] = my

  local a0 = math.sin(math.rad(ang))
  local a1 = math.sin(math.rad(ang * 0.6))

  -- ctrl_points[2][1] = mx + (bx - mx) * 0.3
  ctrl_points[2][2] = scrh * (a0 * 0.5 + 0.5)

  -- ctrl_points[3][1] = mx + (bx - mx) * 0.6
  ctrl_points[3][2] = scrh * (a1 * 0.7 + 0.5)

  -- get cubic bezier points
  local interpolate = 40
  local spd = 1.0 / interpolate
  local p0x, p0y, v0x, v0y, v1x, v1y, p1x, p1y
  p0x = ctrl_points[1][1]
  p0y = ctrl_points[1][2]
  v0x = ctrl_points[2][1]
  v0y = ctrl_points[2][2]
  v1x = ctrl_points[3][1]
  v1y = ctrl_points[3][2]
  p1x = ctrl_points[4][1]
  p1y = ctrl_points[4][2]

  points = {}
  local t, x, y
  for t = 0, 1.0, spd do
    x, y = get_cubic_bezier_point(p0x, p0y, v0x, v0y, v1x, v1y, p1x, p1y, t)
    points[#points + 1] = {x, y}
  end
  t = 1.0
  x, y = get_cubic_bezier_point(p0x, p0y, v0x, v0y, v1x, v1y, p1x, p1y, t)
  points[#points + 1] = {x, y}
end

function love.draw()
  -- fill window background
  love.graphics.clear(0.2, 0.5, 0.6, 1.0)

  -- draw arm
  local ox, oy = img:getWidth() / 2, img:getHeight() / 2
  love.graphics.setColor(1.0, 1.0, 1.0, 1.0)
  for i = #points, 1, -1 do
    local px = points[i][1]
    local py = points[i][2]
    love.graphics.draw(img, px, py, 0, 1.0, 1.0, ox, oy)
  end

  -- draw control points line
  if draw_ctrl_points then
    love.graphics.setColor(1.0, 1.0, 1.0, 0.7)
    love.graphics.line(
      ctrl_points[1][1],
      ctrl_points[1][2],
      ctrl_points[2][1],
      ctrl_points[2][2],
      ctrl_points[3][1],
      ctrl_points[3][2],
      ctrl_points[4][1],
      ctrl_points[4][2]
    )
    for i = 1, 4 do
      local px, py
      px = ctrl_points[i][1]
      py = ctrl_points[i][2]
      love.graphics.circle("line", px, py, 16)
    end
  end

  -- draw FPS
  love.graphics.setColor(1.0, 1.0, 1.0, 1.0)
  love.graphics.print("FPS: " .. tostring(love.timer.getFPS()), 2, 2)
  love.graphics.print("C key : Draw control points", 2, 20)
end

function love.keypressed(key, isrepeat)
  if key == "escape" then
    -- ESC key to exit
    love.event.quit()
  elseif key == "c" then
    draw_ctrl_points = not (draw_ctrl_points)
  end
end

動作に必要な画像は以下。CC0 / Public Domain ってことで。

circle02_64x64_take1_05_5bit32col_edit.png
_circle02_64x64_take1_05_5bit32col_edit.png

conf.lua、main.lua、*.png を適当なフォルダに置いて、「love フォルダ名」で実行できる。

余談。昔のCPUは、掛け算(乗算)を使うとクロック数が増えるし、固定小数点で演算してたので桁合わせが面倒だしで、掛け算を使いまくりのこういった処理は、ちと気分的に避けがちだったのだけど。今のCPUなら楽勝だろうなあ、と思ったので試しに書いてみたり。滑らかに動いてるし、さすがに全然余裕ですな…。

#3 [nitijyou] 日記をアップロード

2019/12/11を最後に日記をアップロードしてなかったのでアップロード。

2018/12/25(火) [n年前の日記]

#1 [anime] 「ルパン三世PART5」6話を視聴

素晴らしい。この回は素晴らしい。

5話までの連続話も上手いなーと思って見ていたけれど、いきなりここで昭和ノリで見せてくるとは…。冒頭の 「よっこりしょういち」で、思わず変な声が出てしまったほど驚かされた。こんな台詞で…悔しい…。

ルパンがピンクジャケットなあたり、「パート3のノリを再現してみたい」というスタッフ側の明らかな意思表示だろうけど。これはなかなか見事な昭和臭。おじさん達には懐かしい、回によって・脚本家によって、その場の思い付きでメインキャラの性格も設定も平気でコロコロと変わってしまう、あの頃のルパン、だったなと…。

脚本・コンテは、今回のシリーズの副監督を務める酒向大輔氏。 _「ルパン三世がやりたくて業界に入った」 と発言するだけあって、見事なルパンでした…。あの当時の、昭和アニメの雑さ・テキトーさ・くだらなさを、全力で再現するというある種の暴挙。いやはや、シビレました…。本編のとぼけた感じとは裏腹に、制作姿勢がロックだ…。

もっとも、最近の若い人は、「こんなのルパンじゃない!」と絶対言い出すだろうけど。でもまあ、何かの拍子に大昔のルパンシリーズも目にしてもらえれば、「あっ…PART5のアレも…たしかにルパンだったわ…」と気付いてもらえるだろうなと。

監督の数だけルパンは居る、みたいな評が一部で上がっていたほど、その時々の作り手によって何もかも違ってくるのがアニメ版のルパンシリーズ。何せ昔は、カリ城ルパンに対しても「あんなのルパンじゃない!」とブーイングする人達が大半だったのだから…。当時の主流だったルパン像は、ほとんどが今回みたいなノリだったわけで…。 *1 なので、「こんなのルパンじゃない!」という感想も、時代が経つと「そうだね。これもルパンだね」に変わるだろうなと。

なんとなくだけど、何が出てくるのか分からない、何でもアリなのがルパンシリーズ、なのかもしれないなと思えてきたり。

そもそもルパンは変装の名人。あまりに変装し過ぎて自分の本当の顔も忘れてしまった、なんてエピソードもあるそうで。今回は昭和ルパンに変装したんだなあ、あまりに変装が上手過ぎてナウいヤングが軒並みついていけないぜ、てな捉え方だってできるのかもしれないなと。
*1: カリ城は、パート1の後半を丸々担当した宮崎駿+パート1のキャラデザを担当した大塚康生という、正真正銘、本来のルパンのメインスタッフ構成だったのに、パート2しか見てなかった子供達から偽物扱いされちゃうという…。

2017/12/25(月) [n年前の日記]

#1 [love2d] love2d + stiライブラリでTiledデータのオブジェクト情報を取得その2

love2d と stiライブラリを使って、Tiled で作ったタイルマップデータからオブジェクトレイヤーの情報を取得して、敵を発生させる処理ができそうか試したり。

例えば、Tiled上で四角形のオブジェクトを以下のように配置すれば…。

tilemap_test05_getobject2_ss02.png

こんな感じで、スクロールに合わせて敵が画面に出てくる、みたいな。

画像とソース。 :

使用画像とタイルマップデータは以下。License: CC0 / Public Domain ってことで。

_largecanon.png
_beam01_64x64.png
_block01.png
_tile01_b.png
_mecha_bg2_map_with_enemy.lua
_mecha_bg2_map_with_enemy.tmx

ソースは以下。

_conf.lua
_main.lua

動作には _stiライブラリ が必要。

少し説明。 :

Tiled 上で敵の配置をする際、オブジェクトにカスタムプロパティを追加して速度も指定していたり。

love2d側でカスタムプロパティがどう見えているかは…。 _mecha_bg2_map_with_enemy.lua を開いて最後のあたりを見れば、フツーに Lua のテーブルになってるので分かりやすいかなと。以下のような感じだけど。
  {
    id = 26,
    name = "b",
    type = "180",
    shape = "rectangle",
    x = 384,
    y = 2336,
    width = 64,
    height = 64,
    rotation = 0,
    visible = true,
    properties = {
      ["speed"] = 128
    }
  },
ちなみに上記の例では、type には角度を入れてる。

rotation で角度を指定すれば良かったのでは、と思ったけど、x, y の位置を中心にして回転してしまうから、ちょっと都合が悪いのだな…。中心位置を別途指定できれば助かりそうだけど、それはそれで情報が増えちゃうからよろしくないであろう予感も。

今回、砲台からビームも撃たせてみたけれど。love2d は描画の優先順位を自由に指定できない・描画した順に上書きされていくので、ちょっと悩んだり。砲台の奥に描画できたら見た目はマシになるのだけど…。結局、発生位置を調整して誤魔化した。こんな時、DXRubyの、z値(描画優先順位)を指定可能な Sprite、てな仕様の便利さを再認識するというか。

2016/12/25() [n年前の日記]

#1 [anime] 「亜人」最終回を視聴

BSで放送されてたアニメ、「亜人」の最終回を視聴。セルルックの3DCGアニメ。

面白かった…。これは面白い…。

脚本面や演出面がとにかく優秀だったのだろうな、という印象。このアニメを作ってるポリピク(ポリゴン・ピクチュアズ)というスタジオは、「ウチは工場になることを目指す」と言ってるぐらいに制作効率を追求してるスタジオらしくて、その代わり映像面は、他のスタジオ ―― サンジゲンやオレンジ等に比べるとこれといって特筆すべき点が無さそうな印象もあるのだけど。しかしそんな映像でも見ていてグイグイ引き込まれてしまったので、これはもう脚本が、というかおそらく原作からしてかなりグッドだったりするのだろうなと。ピクサーやディズニーも言ってるけど、娯楽映像商品はやっぱり脚本が一番大事、ってことを再認識させていただきました。

もっとも、映像面は〜などと書いてしまったけれど、個人的には、このくらい作れたらもう十分じゃないか、これで全然オッケーでしょう、という印象も持っていたりして。同スタジオ作品の「シドニアの騎士」「山賊のむすめローニャ」を見た時も思ったけれど、日本国内の一般的なアニメだったら全部こういう感じの3DCG映像でいいよなと。作画に相当している部分がとにかく安定した状態で提供できるわけで、このメリットは大きいはずだと。それでいて、パーティクル表現を活用したり、テクスチャを上手いこと使って不気味さを表現したクリーチャーを見せてみたり等、手描きだったら地獄を見るであろう映像もしっかりと提示できてるし。

どう考えても日本のアニメは、ポリピクをお手本にしてそっちに舵を切ったほうがいいだろうと思うわけですよ。「亜人」を見ろよ。面白いだろ。つまり3DCGでも全然イケるんだって。なんでかんで必ず手描きで作らなきゃいけないってことはないんだって。

だってさ…。 _手描きアニメで家紋の線を一本省略しただけで叩かれる んやで。こんな状況じゃもう手描きでなんか作ってられないっしょ。それでなくても本数が爆発的に増えて大変なことになってるのに、このままだとアニメーター殺されるわ。家紋なんてテクスチャをペタッと貼れば済むやん。つまり最初から3DCGで作ってれば叩かれずに済むやん。手描きのありがたみや恐ろしさがさっぱり分かってない連中になんでわざわざ手描きアニメ見せてしかもボコボコに叩かれなきゃいかんのや。お前らマゾか。さっさと全部3DCGアニメになっちまえ。

とまあ、そんなアレなことまでついつい思ってしまうぐらいに、「亜人」、面白かったです。と、感想をメモ。

2015/12/25(金) [n年前の日記]

#1 [pc] どうしてPCにコピーキーと貼り付けキーを用意しなかったのだろう

コンピュータの得意技は「コピーができること」だと思うのだけど、その割に、PCのキーボードって「コピーキー」と「貼り付けキー」が無いよなと…。どうして途中で増やさなかったんだろう。どうして自分達は何度も何度も Ctrl + C や Ctrl + V という組み合わせを押さなきゃいかんのだろう。1つのキーを1回押すだけでやりたいよなあ。

昔のコンピュータ関係の開発者は、「紙と比べた時、コンピュータはこういうところが便利だ」って考えたことがなかったのだろうか。

これ、前にも書いたっけか。忘れた。

考えてみたら、ファンクションキーを使えばいいのか。

しかし、ファンクションキーは遠いんだよなあ…。それはつまり、フルキーボードの上や横に「コピーキー」「貼り付けキー」を追加しても、やっぱり使われないという展開になりそうな。追加するとしたら、どのあたりの場所がいいんだろう。

#2 [pc][dxruby] キャラグラエディタ作成中

色々機能追加中。

押したキーで文字描画する機能をつけた。 :

キーボードを打つと、押したキーに対応した文字を描画する機能をつけた。

DXRubyで、押したキーに対応する文字を取得するあたりを、どうやって書いたらいいか悩んだけど。[[K_A, "A"], [K_B, "B"]...[K_Z,"Z"]] みたいな配列を作って、一つ一つ Input.keyPush?() で見ていくというアホなことを。まあ、一応動いてるから、これでいいか…。そもそも頻繁に使う機能ではないはずだし。

考えてみたら、配列を作らなくてもASCIIコードでループを回せば済むんじゃ…。いや、特殊なキーは事前に列挙しておかないとダメか…。だったら配列で持っていてもいいよな…。

Undo機能をつけた。 :

Undo機能をつけたら、ツールとして結構それらしくなってきた。

Undoの実装は、何かするたびにキャンバスデータを配列に追加(push)するという酷いやり方。undo_buf.push(Marshal.load(Marshal.dump(canvas.data))) みたいな。酷過ぎる。けど、一応動いてるから、これでいいか…。

#3 [pc] レトロPCのフォントについて調べていたり

キャラグラエディタを作っているけど、考えてみたら同梱するビットマップフォント画像に関してライセンスの問題が発生しそうだよなと。

できれば MZ-700 のフォントデータをビットマップ画像にして同梱しておきたいのだけど、果たしてそんな行為は許されるのだろうか。そういった、昔の8bit PCのフォントデータの著作権ってどうなってるんだろうと気になってきたので色々ググってるけど当然ながら関連情報は全くヒットせず。そりゃそうだ。今時そんなデータを使いたいとか言い出す人が居るわけがない。

それにしても、ググっていると、フォントの著作権を主張する人達の存在がちょっと鬱陶しくなってきたり。彼等の脳内には、8bit PC時代のビットマップフォントなんて欠片も浮かんでないんだろうけど、どうせならそこらへんまで含めて議論したり検証してくれればいいのにと。まあ、当時、彼等がフォントを作ってたわけでもないだろうし、俺には関係ねえ話だと思われちゃうのが関の山だよな…。

東風フォント問題の件を思い返すと、おそらくビットマップフォントもその手の問題が起きるのだろうと思えるわけで。ただ、32ドットの文字はともかく、8x8ドットの文字にその手の問題が付随するのだろうかという疑問も。8x8ドットだよ。実際には縦と横に1ドットの隙間が必要だから、7x7ドットだよ。7x7ドットの中に、独自性だの創造性だのを盛り込むと言っても限度があるだろう…。本当にそこまで権利を主張するの? 主張できるの? 無理じゃねえのかなあ。てな気持ちも、もやーんとあったりするわけで。

#4 [nitijyou] ネットワークプリンタのマニュアルを眺めてる

某所から連絡があって、ネットワークプリンタをLANの別の島に引っ越して使えるようにしてほしいという話が。型番でググったらマニュアルは公開されてたので眺めてるところ。しかし、種類の違うプリンタが3台もあるという…。うーん。

詳細はGRPでメモ。

Outlook が起動しなくなったという相談も。無効な XML がどうとかエラーが出るそうで。ググってみたら、以下のページが。

_"MicrosoftOfficeOutlookを起動できません。Outlookウィンドウを開けません。無効なXMLです..."となって、Outlookが起動できない: パソコンのツボ 〜Office のTIP

Win + Rキーを押して「ファイル名を指定して実行」を表示して「Outlook.exe /resetnavpane」と打ってもらったら一応起動するようになったらしい。とメモ。

2014/12/25(木) [n年前の日記]

#1 [dxruby] DXRuby+Ayameってループ再生位置の指定が本当にできないのだろうか

_DirectSoundサウンドドライバAyameを使ってみる で入手できる Ayame.ZIP をDLして中身を眺めていたのだけど。

SDK\Source\Ayame.cpp の 1466行目あたりで、
 // データの終端
 if ( m_FileReader->DecLoopCount() == true )
 {
 	// ループ
 	m_FileReader->Seek(m_FileReader->GetLoopIn());
 }
と書かれていて。データの終端が来て、かつ、まだループが必要な時は、ループ開始位置(サンプルポイント値で指定)にシークしてループを実現してる、ように思えるのでありますが。

ソースの日付は 2014/08/29。DXRuby で使えるようにしたときのソースが古くて、当時はそこらへんが実装されてなかった、ということなのかしら。今なら使える? のかな? でもないのかな? どうなんだろう。

#2 [dxruby] 「MOD」で伝わるのだろうか

_DXRuby Advent Calendar 2014 ゲーム・プログラミングとサウンドについて という記事の中で、「MOD」という単語が出てきて、なんとなく。

最近はゲームの改造データのことを「MOD」と呼んだりもしているので、「MOD」という単語が出てきたらそっちを連想されそうだよなー、ていうか大体はそっちを思い浮かべるよなー、と思えてきたり。

一応説明しとくと、音楽ファイルフォーマットの「MOD」てのもありまして。

_MOD (ファイルフォーマット) - Wikipedia
_ModPlug Tracker - Wikipedia
_BEMOD: MODとは?

要するに、 _サンプラー なのですが。

再生できるライブラリは無いのかな。 :

MODを鳴らすためのライブラリとか無いのかなとググってたら、 _吉里吉里でMOD再生するプラグイン があると知り。そんなところでも対応してたのか…。ただし、 _吉里吉里1時代のプラグインだから今は使えないよ という話で。

使われているらしい MOD Plug Player SDK とやらを探してみたけど遭遇せず。しかし、 _libopenmpt and openmpt123 てのがあると知り。 _Libopenmpt - OpenMPT Wiki に使用事例が。 _deskjet/chiptune2.js ( _http://deskjet.github.io/chiptune2.js/ )では JavaScript に移植した事例すら。

等々ググってるうちに、bass.dll なら MOD も鳴らせると今頃知りました。やはり有償ドライバは凄いなと…。

_とりあえずbass.dllラッパはじめの一歩 - mirichiの日記

_Ruby/SDL もMODを鳴らせるらしい。凄いな…。

#3 [ruby] Ruby 2.0 と Ruby 2.1 で gem install が使えず

Ruby 2.0、2.1 で、gem list --remote をしても、何も出てこない。Ruby 1.9.3 でやるとちゃんとリストアップされるのだけど。環境は Windows7 x64。

証明書がアレだったらしい。

_Ruby - bundle install がこけるようになった(改訂版) - Qiita
_Workaround RubyGems' SSL errors on Ruby for Windows (RubyInstaller)
_Windowsでgem installするとSSLエラーが出る場合の解決策 - Qiita

上記の記事の通りに作業してみたり。
_AddTrustExternalCARoot-2048.pem をDL。
gem which rubygems で場所を確認。
start 場所のパス、でエクスプローラ起動。
AddTrustExternalCARoot-2048.pem を中にコピー。

gem list --remote で一覧が出てくるようになりました。ありがたや。

それにしても…。
> ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'
"C:/Users/Luis/Code/luislavena/knap-build/var/knapsack/software/x86-windows/openssl/1.0.0l/ssl/cert.pem"
自分も、「Luisさんって…誰?」と思いました。

環境変数を指定する解決方法もあるらしい。 :

SSL_CERT_FILE という環境変数を作って、そこに証明書とやらを指定することでも解決したりするのかもしれない。

_WindowsにRuby2.0とRuby on Rails4.0を入れてみたメモ - catch.jp-wiki
_Windows で Ruby のSSL証明書を更新する - igaiga diary(2013-06-17)

#4 [dxruby][game] 2DゲームとBGMとイントロとループ

自分の中では、「2DゲームのBGMってのはイントロ部分とループ部分があるもんだ」「絶えずBGMが流れてるもんだ」てな思い込みがあるのだけど。「本当にそうか?」と思えてきたので、既存タイトルをリストアップしながら考え直してみようかなと。

インベーダーゲーム。 :

インベーダーゲームはどうだったろう。イントロは無いけど、ループ部分はあった。「デッデッデッデッ」がソレかなと。ただ、ループ部分は、敵のインベーダーの動きとシンクロしてた。

「デッ…デッ…デッ…デッ…」
「デッデッデッデッ」
「デデデデデデデデ」
「デーーーーーー」

ゲームの進行に合わせてBGMのテンポを変えるあたりが「インタラクティブ」(死語)。「ゲームならでは」が、そこにあった気も。

ギャラクシアン。 :

ギャラクシアンは、イントロはあるけど、ループ部分は無かったような? プレイ中は基本的にSEしか鳴ってなかったような? 違ったっけ?

ゼビウス。 :

ゼビウスは、イントロとループ部分があった。ただし、イントロはループ部分と完全に分離してた。イントロが流れてから一瞬無音になって、ループ部分が始まる。だったかな? 違ったっけ?

アレはイントロと呼ぶのだろうか? ジングル、と呼んだほうが合ってるのかな。

グラディウス。 :

グラディウスは、イントロから連続したループ部分がある。自分が思い浮かべる2DゲームのBGMと言えば、このあたり。

PCE版イース、PCE版ドラキュラX。 :

PCエンジンからはCD-ROMが使えるようになって、それまでの矩形波主体のBGMの音色から一気に様変わり。音楽CDを作る感覚でBGMも作れるように。

ただ、CDドライブという「メカ」に曲の演奏を任せるので、瞬時に特定の場所に戻って再生することができなくて。CDドライブの読み取りヘッドが「クククッ」と動いて戻る時間が必要なので、イントロ → ループ部分 → 曲の終わり → (読み取りヘッドが移動) → またイントロから再生、という感じで。

それでも、今までのショボイ(?)音色とは全然違う、どう聞いてもちゃんとした音楽が聞こえてきたので、誰もが喜んでた印象。

PS1版ドラキュラX。 :

プレステ1もCD-ROM搭載ゲーム機だったので、最初の頃は、あるいは技術力の無いメーカは、PCEと同じような曲の流し方をしてたのだけど。

途中で、CD-ROMに収めた圧縮波形データをストリーミング再生する実装が出てきて。CD-ROMから先読みした波形データを再生している間に、CDドライブの読み取りヘッドをループ開始位置まで動かせるので、音が途切れない再生ができるように ―― 昔のゲームタイトルですらフツーにやれてたことが、CD-ROM搭載のゲーム機でも、どうにかやれるようになった。その代わりCD-ROMドライブを酷使するので、ヘタってるドライブでプレイすると、若干のトラブルが。

何にせよ、この時点で、ちゃんとした音楽でありながら、イントロから連続したループ部分もある、そんなBGMの構成ができるようになった。

てなわけで。 :

  • 昔の2Dゲームを思い返せば、イントロが無いBGMもあったし、イントロは流れるけどループ部分が無くてSEしか鳴らない、そんなスタイルもあったわけで。
  • しかも、最近の外国のゲームは、常時BGMを流すというスタイルから脱却して、イベント時だけ曲を流して盛り上げる、みたいなスタイルになってたりもするそうだし。
  • そもそも、アニメや映画は、常時BGMを流してるわけでもないし。常にBGMを流し続けていたゲームの世界が、他のメディアと比べると異質。

なので、「イントロとループ部分がないとおかしい」とは言い切れないし、「常時BGMを流さないといけない」ということもないのだよなと思い至ったり。

たぶん、ゲームの世界は最初の頃、ハードウェアのスペックが色々と低くて、アレもやれない、コレもやれない、てな悲しい状態にあったので、技術的にようやくやれるようになったから、ここはやろうぜ流そうぜ、やらなきゃもったいないじゃん、みたいなノリでやってるうちに、そういうスタイルがフツーなのだとうっかり思い込んでしまった、ような気もする。

昔、Photoshop を触り始めると誰もが逆光フィルタを使いたがる時期があったけど。今まで容易にできなかったことがやれるようになると、ついついそればかり使いたくなってしまうもんで。ゲームのBGMも、そういうところがあったのかもしれないよなと。

2013/12/25(水) [n年前の日記]

#1 [cg_tools][dxruby] EDGEとEDGE2ってファイルの互換性は無かったのね

_あおたくノート - [Ruby][DXRuby] AnimeSpriteを使おう を参考にしながら、EDGE2で保存したアニメファイル(.anm)を読み込んでDXRubyで表示、という実験をしようとしたら、エラーが出てしまって。

EDGE2で保存した anmファイルをエディタで開いてみたら、どう見てもバイナリファイル。テキストファイルの形になってるはずでは…? はてな? どういうこと?

_EDGE2 Ver.0.90 beta006 アップ|TAKABO SOFT に、「EDGEとEDGE2は、ファイル互換性無いっス」と書かれていた。ガーン。

仕方ないので、EDGE をインストールして anmファイルを作ってみたけど。うむ。EDGE2に比べると、EDGE は地味に操作がツラい。 EDGE はフリーソフトだけど、EDGE2 はシェアウェアなので、細かいところで使い勝手が改善されているのだなと再認識。

さておき。EDGE で出力した anm は、たしかにテキストファイルだった。なるほどこれなら簡単に利用できそう。

それにしても、どうして EDGE2 で、わざわざバイナリにしちゃったんだろう…。テキストファイルにしておけば、他のツールとの連携がやりやすくなっただろうに。 _マップエディタの Platinum もそうだったけど、独自データをバイナリ保存しちゃうツールって、どうしても世界が閉じてしまう…。 *1 ファイルを開いて、「あ、テキストファイルだ。これならなんとかなる」と思う場面って、結構多い印象もあるのだけど。

まあ、EDGE2 は EDGE2 で、アニメーションデータを xml でエクスポート/インポートできるので、それでどうにかしなさい、ということなのだろうな…。

でも、これだと、EDGE と EDGE2 が混在してる環境では困りそう。と思ったけど、ビットマップデータを格納しているedgファイル自体は、EDGE → EDGE2 も、EDGE2 → EDGE もOKだった。すると、anmファイルだけは別、という状態なのか…。

EDGEでアニメ作成について。 :

解説ページを参考にしながら作業すればよかったのだなと今頃気付いたり。

_ドット絵描こうZ : アニメーションの作り方
_かんたんGIFアニメアイコン制作講座
_大学生の悩み ロボ太の日記

そういや、Adobe も「Adobe Edge」というツールを出してきちゃったから、ドットエディタのEDGEのほうで検索する時、ちょっと困りますな…。

*1: Platinum は CSV出力できるから、それで助かった記憶もあるけれど。

#2 [xyzzy] xyzzy + complete+.l を動かそうとして四苦八苦

_complete+.l を使ってみようとしたら、C-x C-f を押すだけで、「complete+::*virtual-file-mode* がねえよ」みたいなエラーダイアログが表示される状態に。

netinstaller で virtual-file* を全部と、ffap を入れて、ダンプファイル作り直したら動いてくれた、ような気がする。

でも、complete+ を有効にしておくと、時々 xyzzy が一瞬固まる時があるような。なんでだろ。とりあえず、やっぱり無効にしておいたり。

#3 [dxruby][game] DXRubyで地形アタリを取りながらプレイヤーキャラの移動その3ひとまず完結編

今日も、DXRubyを使って、プレイヤーキャラを動かしてみますよ。

_昨日の時点 では、壁にめり込まなくなったものの、穴に落ちるとそこから脱出できなくなったので、今日はジャンプ処理を追加してみようかと。

下のようなソースになりました。

playermove3.rb
# プレイヤーキャラを動かしてみるサンプルその3
#
# 横移動、落下処理、床補正、壁補正、
# ジャンプ、天井補正をする。

require 'dxruby'
require 'tmx'
require_relative 'dxrbtmx'
require_relative 'bgatari'

font = Font.new(12)

# 画像読み込み
pimg = Image.loadTiles("player_512x256_64x64.png", 512 / 64, 256 / 64)
bgimg = Image.loadTiles("bg_attari.png", 256 / 16, 256 / 16)

# tmx読み込み
scrw, scrh = Window.width, Window.height
tmx = DxrbTmx.new("./bg_atari_test.tmx", scrw, scrh)

# Bgレイヤーマップデータ取得
atari_layer = tmx.get_layer("bg_atari")
bg_layer0 = tmx.get_layer("layer0")
bg_layer1 = tmx.get_layer("layer1")
bg_layer2 = tmx.get_layer("layer2")
bg_layer3 = tmx.get_layer("layer3")

bgtw, bgth = tmx.screenwidth, tmx.screenheight

# BGアタリテーブル作成
bgatari = BgAtari.new(bgimg, atari_layer, scrw, scrh, 0, 22, 30)

# 空中床
float_floor = 21

# カーソル描画用メソッド
def draw_cursor(x, y, col)
  w = 2
  Window.drawLine(x - w, y, x + w, y, col)
  Window.drawLine(x, y - w, x, y + (w + 1), col)
end

# プレイヤーのアニメパターンを定義
ppat = { "walk" => 0, "jump" => 16}
pimgnum = ppat["jump"]

bx, by = 0, 0
px, py = scrw / 2, scrh / 2
dx, dy = 0, 0
gravity = 0.45
bgatari_disp = false

wall_dist = 16 # 壁アタリをチェックする距離
ceiling_dist = 54 # 天井アタリをチェックする距離

# スクロール座標の範囲
scrl_spc = 16
bx_min = scrl_spc
by_min = scrl_spc
bx_max = tmx.map_width - Window.width - scrl_spc
by_max = tmx.map_height - Window.height - scrl_spc

# メインループ
Window.loop do
  break if Input.keyPush?(K_ESCAPE)

  # Bキーを押したらBGアタリ表示と切替
  bgatari_disp = !bgatari_disp if Input.keyPush?(K_B)

  # プレイヤー移動処理

  # 左右キーで横移動
  # x速度に、キー入力に応じて加速度を加算
  dx += Input.x * 0.2

  # 横方向の最大速度を超えないようにする
  spdmax = 6.0
  dx = spdmax if dx >= spdmax
  dx = -spdmax if dx < -spdmax

  # 左右キーを押してなければ、速度を減らしていく
  dx *= 0.95 if Input.x == 0

  # ジャンプボタン(Zキー/ゲームパッドのボタン0)が押されていたら、ジャンプする
  # …このままだと空中でもジャンプできちゃうけど、なんだか面白いから残しとく

  # if Input.padPush?(P_BUTTON0)
  if Input.padDown?(P_BUTTON0)
    # dy = -16 # y速度を上向きに設定
    dy = -10 # y速度を上向きに設定
    pimgnum = ppat["jump"] # ジャンプポーズにする
  end

  # 速度を加算
  px += dx
  py += dy

  # 天井アタリで補正する
  if dy < 0
    # y速度が上向きの時だけ天井アタリを見る
    xadd, yadd = 0, -ceiling_dist
    nx, ny = bgatari.adjust_bg_hit(px + xadd, py + yadd, BgAtari::ADJUST_DOWN)
    if nx and bgatari.bg_code != float_floor
      # 天井側に、空中床以外のBGアタリがある
      py = ny - yadd # 座標を補正
      dy = 0 # y速度を0にする
    end
  end

  # 壁アタリで補正する

  # 右側にBGアタリがあるかチェック
  # xadd, yadd = 32, -32
  xadd, yadd = wall_dist, -32
  nx, ny = bgatari.adjust_bg_hit(px + xadd, py + yadd, BgAtari::ADJUST_LEFT)
  if nx and bgatari.bg_code != float_floor
    # 右方向に、空中床以外のアタリがある
    px = nx - xadd # 座標を補正
    dx = 0 # x速度を0に
  end

  # 左側にBGアタリがあるかチェック
  # xadd, yadd = -32, -32
  xadd, yadd = -wall_dist, -32
  nx, ny = bgatari.adjust_bg_hit(px + xadd, py + yadd, BgAtari::ADJUST_RIGHT)
  if nx and bgatari.bg_code != float_floor
    # 左方向に、空中床以外のアタリがある
    px = nx - xadd # 座標を補正
    dx = 0 # x速度を0に
  end

  # 床アタリで補正する
  if dy < 0
    # 上向きに飛んでいる
    dy += gravity # 重力加速度を、速度に加算
  else
    # 下向きに飛んでいる、もしくは、床の上に居る

    # 床の上に居る時だけ、足元よりちょっと下の座標でアタリを取る
    yadd = (pimgnum == ppat["jump"])? 0 : 12
    nx, ny = bgatari.adjust_bg_hit(px, py + yadd, BgAtari::ADJUST_UP)

    if nx == nil
      # 足元に床が無い
      dy += gravity # 重力加速度を、速度に加算
      pimgnum = ppat["jump"] # 落下ポーズに変更
    else
      # 足元に床がある
      py = ny # 座標補正
      dy = 0 # y速度を0にする
      pimgnum = ppat["walk"] # 床の上に居るポーズに変更
    end
  end

  # プレイヤー移動処理ここまで

  # プレイヤーの位置から、BGスクロール座標を決定
  bx += ((px.to_i - (scrw / 2) - bx) * 0.25).to_i
  by += ((py.to_i - (scrh / 2) - by) * 0.25).to_i
  if true
    # スクロール範囲を制限する場合
    bx = bx_min if bx < bx_min
    by = by_min if by < by_min
    bx = bx_max if bx > bx_max
    by = by_max if by > by_max
  end

  # BG描画
  if bgatari_disp
    Window.drawTile(0, 0, atari_layer, bgimg, bx, by, bgtw, bgth)
  else
    Window.drawTile(0, 0, bg_layer3, bgimg, bx / 8, by / 8, bgtw, bgth)
    Window.drawTile(0, 0, bg_layer2, bgimg, bx / 4, by / 4, bgtw, bgth)
    Window.drawTile(0, 0, bg_layer1, bgimg, bx / 2, by / 2, bgtw, bgth)
    Window.drawTile(0, 0, bg_layer0, bgimg, bx, by, bgtw, bgth)
  end

  # プレイヤー描画
  x = px - bx
  y = py - by
  Window.draw(x - 32, y - 57, pimg[pimgnum])

  # プレイヤー座標にカーソルを描画
  draw_cursor(x, y, C_RED)
  draw_cursor(x + wall_dist, y - 32, C_RED)
  draw_cursor(x - wall_dist, y - 32, C_RED)
  draw_cursor(x, y - ceiling_dist, C_RED)

  Window.drawFont(8, 8, "Move: ← → / Jump: Z / BG atari: B", font)
end
これで、穴に落ちても脱出できるかなと。

動作画面
ホントは、床の上に居る時だけジャンプ可能にすべきかもしれませんが。なんだかこのほうが面白かったので、そのままにしておきました。…きっと、彼の背中には翼がついてて、ジャンプボタンを押してる間は翼がバタバタ動いてるんです。心の目で見ればそう見える。ということにしておこう。

途中で、空中床(?)にも飛び乗れてますが…。どうやっているのかと言うと…。 たったこれだけです。BGアタリの種類を色々用意していけば、こんな風に、できることが増えていくのかなと。…でも、アタリ種類がどんどん増えていくので、これもこれでどうなんだろうという気もしますけど。もっとスマートなやり方はないのかな。まあ、そこは今後の課題ってことで。

ちなみに、マップの一番右のほうに、怪しいことが起きそうな地形を、いくつか置いておきました。個人的には、小さい段差で「ガクッ」と補正されるあたりが、気になりますなあ…。

とりあえず、ここまでのソースも画像も、zipファイルにまとめて、Dropboxに置いときますね。exeファイル以外は Public Domain ってことで。(exeファイルだけは、MIT License の tmxライブラリを含んでるので、ライセンスがよく分からず…。再配布するぐらいなら問題ないと思ってるんですが、どうなんだろう?)

_dxruby_map_disp_20131225.zip
他にも実装したい部分はありますが…。 まあ、ここまでやってきたことを参考にすれば、作り込みはできると思いますので…。

今回は、というか今年の DXRuby関係の記事は、これで最後にしたいと思います。どうにか、「一人DXRuby Advent Calendar 201」 も、そこそこやり遂げられたような気もしますし…! *1

課題のヒント。 :

床の上に立っている時だけジャンプさせたい。
床の上に立っている時だけ、ジャンプボタンが押されたかチェック。
空中床から真下に飛び降りたい。
飛び降り始めてから一定距離は、床アタリを無視。ただし、空中床の上に居ると分かってる時だけ、飛び降り操作を受け付ける。
崖(?)のギリギリ端っこにも立ちたい。
床補正時に見る位置を、足元の一点だけではなく、両脇にも増やす。
崖から落ちるときにガクッと動くのが気になる。
崖のギリギリ端っこに立てるようになれば、気にならないかも。
天井にぶら下がりたい。
床アタリに対してやってることを、上下逆にして、頭のあたりの座標を使って行う。
壁をよじ登りたい。
床アタリに対してやってることを(以下略
ぶら下がり棒に、ぶら下がりたい。
床アタリに対してやってることを、頭のあたりの座標を使って行う。ただし、ぶら下がり棒のBGアタリ番号以外は無視。
壁を蹴って三角飛びしたい。
ジャンプ中、かつ、壁補正された時に、ジャンプボタンを受け付ける。
斜め床の上では移動速度を変えたい。平らな床と同じ速度で動くのは気になる。
BGアタリ種類と、速度もしくは角度の対応表を作っておく。足元のBGアタリ番号を見て速度を決定。
小さい段差の上に乗るとガクッと動くのが気になる。
これ、どうやればいいんでしょうね? たぶん、対処を入れると、斜め床絡みでバグが出そうな予感…。「こういう地形は作らない」というルール適用が一番安直だけど…。
動く足場を作りたい。
動く足場のアタリ範囲と当たったら、床補正時と同じノリでプレイヤー座標を補正。ただし、動く足場の移動量をプレイヤー座標にも加える。足場側が自分の移動量を保持していて、プレイヤー側がソレをゲットして座標変更するか、あるいは、プレイヤー側が、乗ってる足場に、「お前に乗ってるよ」と知らせてあげて、足場側でプレイヤー座標を変更、等の処理になるのかなと。

参考になりそうなページ。 :

_地形判定させてみる の、真ん中あたりにある説明図が、今回のソースの問題点をズバリ示してる、ように思います。

また、前にも書きましたが、 _2D当たり判定超入門(pdf) は、大変参考になりそうです。件のpdfは図形で地形判定してますが、タイルで地形判定する場合と共通する問題点にも触れていますので…。

2017/03/19追記。 :

Dropboxのpublicフォルダが死んだのでファイルの置き場所を変更。

*1: や。「一人DXRuby Advent Calendar 2013」なんてする気はなかったですけど…。そもそも、ほとんどの記事は、DXRubyと関係ないですよね…。HSP、PyGame、pyglet、Processing、等々何を使ってもいいような話ばかりでしたし。

#4 [anime][game][neta] 牛男が気になる

昔目にしていた牛男のゲームのタイトルが気になり始めて検索。

「Wild West Cowboy of Moo Mesa」というタイトルだったらしい。 _Chibi Resena Wild West Cowboy of Moo Mesa - YouTube を眺めた感じでは…アニメ版はカッコイイな…。ゲーム版はちょっと頭身を縮め過ぎてしまった気もする。でも、アチラから「キャラを大きく表示しろ」と要求されつつも、ゲームとして成立させるために、このバランスになったのかなと想像したり。

_wild west cowboys konami - YouTube を眺めた感じでは、結構人気があったのかしら。「俺のお気に入りだぜ!」なんてコメントもあるような。

とは言え。例えばPCE版と○メモチームの画面に、代わりにコレが映ってたら、あのチームはあそこまで踏ん張れなかったんじゃないかという気がして。やっぱり画面の中に可愛い女の子が出てるか否かって、地味に効いてくるような気がしたり。

自分も、起動直後の「(ピピン!) おはようございます! 今日も一日〜」で、もう色々とグッタリ状態だったのに、「…よし…頑張らねば…この娘のためにも…な…」てな気分になった記憶もあって。

つまり、赤い矩形や、青い矩形じゃ、ソース単体で事足りるとは言え、「勉強してみようかな」てな気分にならないよなと。そんなわけで、自分、その手の実験をする時すら、まずはドットエディタを起動しちゃうのでした。でも、 _ワイデス40 モドキが関の山という…。

む。なんとなく思ったけど、Ruby のソース内に画像バイナリを記述して、ソースのみをblogに張ってるのに、コピペして動かすと可愛い画像が、みたいなことはできないのかしら。…考えてみたら、ARGB値を並べておけばいいだけ、なのかな。いやいや、それだと圧縮が効かないか。

Rubyで、テキスト化されたバイナリ圧縮データを解凍するのって、どんな形式がメジャーなんだろう…。

2012/12/25(火) [n年前の日記]

#1 [cg_tools] Shade12で作業中

立体視用画像を作成中。飛び出し具合がどうもイマイチなので、最初からモデリングし直し。

2011/12/25() [n年前の日記]

#1 [nitijyou] 何もする気が起きず

ボーッとしてました。

2010/12/25() [n年前の日記]

#1 [pc] 色々なエディタを試してみたり

あふwのキー定義を見直してて、Rubyスクリプトを修正する流れに。で、Rubyスクリプトを書くのに便利なエディタはないものかと。自動補完機能が優秀なエディタが使いたい。できれば一々補完キーを押さなくても自動で候補が出てくるエディタがありがたい。

ということで、SciTE、Geany、Editra、Komodo Edit を試用してみたり。

SciTE は、キーワードファイルに列挙された単語は補完してくれるけど、ファイル中に存在する単語、つまりはユーザが打った変数名などは補完してくれなかった。設定がおかしいのだろうか…。autocompleteword.automatic=1 その他は有効にしたつもりなんだが…。

Geany は、自動で候補を表示してくれるあたりは良いのだけど。Ctrl + SPC を押したら固まった。起動もちと遅い。さすが GTK+アプリだなと。動作が怪しい。

Editra は、キーを押さないと候補を表示してくれないように見える。が、それ以前に日本語入力がインラインで出来ない。修正した事例もあるらしいけど、ソースのリンク先が消滅していて修正したソースが入手できなかった。

Komodo Edit は 6.0.3 が出ていたらしい。5.xからアップデートしてみたが、起動がますます遅くなっている…。補完候補は、3文字まで打たないと出てこない。2文字とか1文字にできんのかな…。

結局、これだというエディタは見当たらず。

ひょっとして、emacs か vi を設定して使ったほうがいいのだろうか…。

2009/12/25(金) [n年前の日記]

#1 [prog] DXRubyを勉強するためにRubyが書きやすいエディタもしくはIDEを探してみたのだけど

どれも今一つ。

emacs(NTEmacs)を試してみたり。 :

_NTEmacs 22BASE (日本語インライン変換 & 半透明) を試してみたのだけど。ruby-mode.el がそもそも入ってなかった。どうもバージョン23からは標準で入ってるらしいのだけど。

ruby-mode.el その他は、 _ActiveScriptRuby をインストールしたフォルダの中にそれらしいモノが入っていた、ように見えたけど一般的には Ruby のソースファイル群の中の misc フォルダ以下に入ってるもの、とされているらしく。

とりあえず、よく判らんので、一般的に言われているほうのモノを使う。 _オブジェクト指向スクリプト言語 Ruby のサイトから辿って、ruby-1.8.7-p174.zip をDL。解凍して、misc/*.el を、emacs設定ファイルが入っているフォルダの中に突っ込んでみたり。

自動補完についてはどうするのかがよく判らず。色々検索してみたら、
  • anything.el
  • anything-rcodetools.el
  • auto-complete.el
  • auto-complete-ruby.el
  • rcodetools (Ruby のgemでインストールする)
なるものを使った補完が便利、という話を見かけたので、そのへんも色々突っ込んでみたり。参考サイトは以下の通り。

_今さらだけど,anything.el を使う - ~fumi/ChangeLog
_anything.el が手放せなくなった | Weboo! Returns.
_巷で話題の anything.el を使ってみた ? ありえるえりあ
_emacs.el, anything.el, anything-rcodetools.elを導入 - blog.katsuma.tv
_Windows: なにげない日々の記録
_auto-complete で Ruby のメソッドを補完する - ChangeLog な日々
_ruby-modeで、リターンキーだけでインデントと改行を行う - 学習する機械、学習しない人間
_ruby-mode の設定(かわちょぶろぐ、2008年01月10日)
_EmacsからRubyを実行。 - t-imaizumiのMacとかのはなし
_のほほん車日記: EmacsからRubyスクリプトを実行する(だけの)Tips
_ruby - PukiWiki

.emacs 側の記述は、コピペで以下のようにした。中身はよくわかってないけど。
;; ----------------------------------------
;; ruby-mode

(autoload 'ruby-mode "ruby-mode"
  "Mode for editing ruby source files" t)
(setq auto-mode-alist
      (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
                                     interpreter-mode-alist))

(autoload 'run-ruby "inf-ruby"
  "Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby"
  "Set local key defs for inf-ruby in ruby-mode")
(add-hook 'ruby-mode-hook
          '(lambda () (inf-ruby-keys)))

(require 'ruby-electric)
(add-hook 'ruby-mode-hook '(lambda () (ruby-electric-mode t)))

(autoload 'rubydb "rubydb3x"
  "run rubydb on program file in buffer *gud-file*.
the directory containing file becomes the initial working directory
and source-file directory for your debugger." t)

(setq ruby-indent-level 2)
(setq ruby-indent-tabs-mode nil)

(define-key ruby-mode-map "\C-m" 'ruby-reindent-then-newline-and-indent)
(define-key ruby-mode-map "\C-j" 'newline)

;; ----------------------------------------
;; anything
(require 'anything-config)
(global-set-key (kbd "C-;") 'anything)
(define-key anything-map (kbd "C-p") 'anything-previous-line)
(define-key anything-map (kbd "C-n") 'anything-next-line)
(define-key anything-map (kbd "C-v") 'anything-next-source)
(define-key anything-map (kbd "M-v") 'anything-previous-source)
(setq anything-sources (list anything-c-source-buffers
                             anything-c-source-bookmarks
                             anything-c-source-recentf
                             anything-c-source-file-name-history
                             anything-c-source-locate))

;; ----------------------------------------
;; rcodetools
(require 'anything)
(require 'anything-rcodetools)
;; Command to get all RI entries.
(setq rct-get-all-methods-command "PAGER=cat fri -l")
;; See docs
(define-key anything-map "\C-z" 'anything-execute-persistent-action)

;; ----------------------------------------
;; auto-complete-ruby
(require 'auto-complete-ruby)
(add-hook 'ruby-mode-hook
          (lambda ()
            (setq ac-omni-completion-sources '(("\\.\\=" ac-source-rcodetools)))))

;; ----------------------------------------
(require 'rcodetools)
(setq rct-find-tag-if-available nil)
(defun make-ruby-scratch-buffer ()
  (with-current-buffer (get-buffer-create "*ruby scratch*")
	(ruby-mode)
	(current-buffer)))
(defun ruby-scratch ()
  (interactive)
  (pop-to-buffer (make-ruby-scratch-buffer)))
(defun ruby-mode-hook-rcodetools ()
  (define-key ruby-mode-map "\M-\C-i" 'rct-complete-symbol)
  (define-key ruby-mode-map "\C-c\C-t" 'ruby-toggle-buffer)
  (define-key ruby-mode-map "\C-c\C-d" 'xmp)
  (define-key ruby-mode-map "\C-c\C-f" 'rct-ri))
(add-hook 'ruby-mode-hook 'ruby-mode-hook-rcodetools)

でも、使い方が判らず。ここまでやって諦めた。

とりあえず、C-; と打つと、今まで NTEmacs で編集してきたファイルの履歴が表示されてそれを絞り込んでいけるので、その点は便利になったような気がする。

eclipse + Aptana RadRails とやらを試してみたり。 :

要するに、eclipseみたいに、「.」を打ったら自動補完してほしいわけです。だったら eclipse 使えばいいじゃん、という気分になってきた。ので、そっちも試してみたり。

iアプリ用に使ってる eclipse にプラグインを追加して動作がおかしくなるのは怖いので、わざわざ別フォルダを作成して、その中に Perl や Python や Ruby 用の eclipse を入れることに。参考サイトは以下の通り。

_Freak: Eclipse 3.5を余分なプラグインなしでインストール
_Eclipse プラグイン版 RadRails のインストール
_halfway life: Eclipse3.5 に Aptana Studio1.5 をインストールする(WinXP)
_Semigadget: WindowsでPerl実行環境構築(Eclipse + EPIC + ActivePerl)
_EclipseとPydevによるGoogle App Engineの開発環境構築 | 山本隆の開発日誌

要するに、Aptana RadRails、EPIC、PyDev を入れる。

入れてはみたけど、なんかちゃんと補完ができないような…。「.」を打ったらすぐ補完してくれるようにするのは、設定を弄ったらできたけど。require 'dxruby' と打っても、DXRuby 関係のメソッドが表示されないような気がする。気がするというか、表示されてない。Javaと違って、さすがにそこまで面倒は見てくれないのかな。>eclipse。

他にも色々試したのだけど。 :

RDE とか、Komodo Edit とか。でもなんか補完が…。

一番補完してくれるのは、NTEmacs のソレなのかな。前述の設定だと、「.」を打った後、M-C-i を打てばメソッドを表示してくれる、ように見える。が、eclipse で Java を書いてる時のソレに比べると…。いや、動的な言語?でそういうことをするのはスゲー難しいんだぞ、という話も見かけたのだけど。スクリプトをこっそり裏で動かしてみないと処理ができないとかなんとか。Javaソースを編集してる際も、実は裏で絶えずコンパイルしてるらしいし…。仕方ないのかな。

とりあえずDXRubyでちょこちょこ遊んだけど。 :

サウンド関係の仕様を見て、ちょっとこれはと。SEは wav が使えるから、まだどうにかならないでもないけど。BGMはMIDIデータしか使えないらしい。厳し過ぎる。携帯電話アプリのレベル。いやまあ、FM音源積んでた家庭用ゲーム機よりは音色の音質ではマシかもしれないけど。自由度の無さを考えると、ある意味スーファミ以下のような気もする。MODに対応すればスーファミレベルにはなるんだろうけどなあ。いや、今からMODを作れというのもなんかアレな気もするけど。

なんとかならんのかと思ってもう少し検索したら、vox.dll なるモノを使うことで、oggが使えると知る。サンプルスクリプトをDLして試してみたら、ちゃんと鳴ってくれた。これを使うのが現実的な解、なのだろうか。

他のライブラリはどうなんだろうと思って検索してみたら、StarRubyならoggを標準で使えるらしい。SDLで対応してるのでその延長なんだろうけど。しかしSDLは描画が遅いという話も聞くわけで。うーん。

2008/12/25(木) [n年前の日記]

#1 [iappli] 別企画のデータが届いた

12月中頃には始まるみたいな話だったけど特に連絡もなく、ひょっとしたら今年中には始まらないのかなと思ってたけど。いよいよ本格的に作業が始まる、ということなのかな。

#2 [prog] Perlスクリプト中の円マーク列挙はどうにかならんのかな

サブディレクト以下の特定拡張子のファイルに対して、複数の文字列で置換をしたいのだけど。後でファイル差し替えがあるだろうし、置換作業を自動化しておいたほうがいいかな、と思ってPerlスクリプトを記述。

が、「\」の記述で悩む。s/$src_string/$dst_stringa/ みたいな感じで置換したいのだけど。置換元文字列に「\」を使いたい場合、「\\\\」と書かなきゃいけない。スクリプトソースの見通しが悪い。何かいい手はないものか。

Pythonの場合なら、 _生の文字列(raw string)表記 とやらを使えば多少は良くなるっぽいのだけど。

2007/12/25(火) [n年前の日記]

#1 [windows] DOS窓を開かずにbatファイルを実行させる方法はないのだろうか

DOS窓というか、コマンドプロンプトというか、cmd.exeのウインドウなんだろうけど。あふのユーザーメニュー(?)から、自作のbatファイルを呼び出したものの、DOS窓・新しいウインドウが一瞬開いてしまうわけで。ウインドウを出さずに実行する方法はないのだろうか。

_Windowsコマンド集:(start) :

「終了しない」と書いてあるのが気になる。それ以前に、あふで指定したら実行失敗と言われた。うーん。

_管理人のヒトリゴト - Blog Archive - Poderosa+stoneでProxy越えSSH :

これで完了!っといいたいところですが、これまた毎回毎回DOS窓が開くのはうっとおしいので、今度はDOS窓が開かない用に、つまり裏でひっそり動いてくれるようにするためにWindows Script Hostを使ってstone-start.batを実行するようにします。

管理人のヒトリゴト ≫ Blog Archive ≫ Poderosa+stoneでProxy越えSSH より

.bat を実行するために、もう一つ .vbs が必要になるというのも、うーむ。

結局WSHで書きなおした。 :

ていうか .vbs で。

ActivePerl と違って、クリップボードにアクセスできないのか…。一々、IEを経由(?)して処理するとは。そのせいなのか処理が戻ってくるのも遅い。….bat を呼び出すだけの .vbs を作ったほうが良かったのだろうか。

もしかして、ActivePerlでもウインドウを開かないようにできるのか。 :

_nDiki: ActivePerl - Wineを入れてみる (2005-03-31)
コマンド プロンプトを開かない -> wperl.exe を使う。

nDiki: ActivePerl - Wineを入れてみる (2005-03-31) より

ガーン。

だったら Perl でやるわ…。

rubyもpythonも同様らしい。 :

rubyw、pytonwがあるらしい。

perlスクリプトもrubyスクリプトもbatファイルに変換できるらしい。 :

perl の場合は pl2bat、ruby の場合は _rb2bat 、なるものがあるらしい。…rb2batは標準で入ってるわけではないのか。 _こちら で配布されてる。

pl2bat も標準で入ってるというわけではないか。ActivePerl に入ってるだけで。

py2bat は見つからなかった。英語圏のサイトでは単語があるようだけど、日本のサイトでは見かけない。perl や ruby とは世界(?)が違うのかしら。あるいは python文化の常として(?)、まったく異なる名前をつけられているのだらうか。

この記事へのツッコミ

Re: DOS窓を開かずにbatファイルを実行させる方法はないのだろうか by 通りすがり    2007/12/28 14:08
「ウインドウ」さえ開かなければ良い(タスクバーには現れる)のであれば…

 1. test.bat(←実行したいバッチファイル)のショートカットを作成
 2. 作成したショートカットのプロパティで「実行時の大きさ」を「最小化」に
 3. あふで &exec test.bat.lnk

# 1. 2. はあふからコンテキストメニューで作成・操作可。
# 3. の指定するショートカットファイルは実際にはフルパスで。

…とか。

ちなみに start は cmd.exe のコマンドなので cmd /c start /B 〜 と記述する必要あり。
ただし「start /B 〜」以降のコマンドのウインドウは開かずとも、この cmd を走らせる為のウインドウは開きます(笑)。
最小化されるだけでもありがたいです by mieki256    2008/01/12 06:56
> 作成したショートカットのプロパティで「実行時の大きさ」を「最小化」に

そんな手が! 情報thxです。
最小化されるだけでも充分ありがたいです。
いや、むしろ、最小化状態で動くことで、
バッチファイルやスクリプト等が動作してることが確認できて、
メリットがあるような気もしますね。なるほどなぁ…。

2006/12/25(月) [n年前の日記]

#1 [digital] _液晶ワイドテレビには罠が仕込まれている

ゼビウスのテーブル筺体を思い出した。液晶は未だあのレベルの世界なのか。退行してるような気が…。

ていうかCRTではどうやってこのへんの問題を緩和してたんだろう。緩和できていたのか、できていなかったのか。緩和できていたとして、それはCRT特有の解決策なのか、それとも他にも応用できそうな解決策なのか。仮にノウハウがあったとしても、今の家電メーカ内に当時のノウハウは残ってるのか。CRTの技術を捨てちゃったのであろう家電メーカが、液晶TVにおいてコレを解決することはできるのか。

この記事へのツッコミ

Re: 液晶ワイドテレビには罠が仕込まれている by けいと    2006/12/28 19:54
ゼビウスの話までわかっていれば、話が早いと思いますが^^;;

いままでのCRTは解決してきたんじゃなくて
4:3の映像ソースしか無かったから
まだらに焼きつくなんてことが無かったんですよね。

パソコン画面もDOS時代だとファンクションキーのところだけ
四角く焼きついたり…

ちなみにソース元に書いてある疑問はそのとおりでして、
プラズマのほうがもっと早く焼きつきます。

家の場合は仕事上やむをえないところがありますが、
朝から晩までつけっぱなしにしていると
1年ぐらいで画面の端っこの部分だけ「焼きつかない」ので
その部分だけきれいに映ります。
改善策はないものですかねぇ… by mieki256    2007/01/07 05:05
ふと、おバカな改善策を思いついたのですが、

ユーザが気づかない時間で、
じわじわと左右に4:3の表示部分が移動していく…なんてのはどうですかね。
あるときは左のほうに表示され、あるときは右のほうに表示され。
…ユーザから「故障じゃないか?」とかクレームがつくかしら。

あるいは、ユーザが明らかに利用してない時間に、
表示してなかった面を無理矢理光らせて
表示部分と一緒に劣化させていくとか。
…夜中にいきなりTVの電源が入ったりするから
これまたユーザから「故障じゃないか?」と言われそうな気もしますが。
年配の人が目撃したら、驚いてショック死するかもしれない…。
Re: 改善策はないものですかねぇ… by けいと    2007/01/08 00:09
> おバカな改善策を思いついたのですが

私も思いついたのでひとつ(笑)

ユーザーが気がつかないよう
4:3で使わない部分だけ「擬似焼き付き色」で色調整して
表示させれば…

ビデオカメラとかにも「セピアカラー」とかあるから簡単ですよね?
Re: 改善策はないものですかねぇ… by mieki256    2007/01/13 06:01
> 「擬似焼き付き色」で色調整

おおお…。焼き付き防止ではなく、焼き付くことが前提の機能追加ですな!
コロンブスの卵だ…! 脱帽であります。

吉永さゆりが「長く使うならおすすめします」とか
口走ってるCM映像が目に浮かぶようです…。
ってそんな機能を売りにするメーカがあるわけないですな。
Re: 改善策はないものですかねぇ… by けいと    2007/01/14 14:53
> そんな機能を売りにするメーカがあるわけない

今回の4:3→16:9移行期?ではじめて
テレビが焼きついて変色するんだってことを知ることも多いかもね。
Re: 改善策はないものですかねぇ… by mieki256    2007/01/20 05:21
16:9が主流になれば、これまた“昔話”になるんでしょうけど。>焼き付き。
焼き付きと聞いて、ゼビウスを思い出すか、液晶TVを思い出すかで、
明確に世代が分かれるんだろうなぁ…。
Re: 改善策はないものですかねぇ… by けいと    2007/01/21 01:27
> ゼビウスを思い出すか

ああ、ゲーセンでよく遊んだよ、っていう世代と
ああ、ファミコンソフトの、っていう世代と
ああ、iアプリの奴ねー

っていう世代とごっちゃになりそうですな〜
iアプリ版もあったとは! by mieki256    2007/01/29 01:52
> ああ、iアプリの奴ねー

http://k-tai.impress.co.jp/cda/article/news_toppage/10559.html
おお。ホントだ! iアプリ版がある…。
手のひらの中にゼビウスが…
凄い時代になったことを痛感、であります。

#2 [game] 妹からPS2を借りた

借りたというか、自分の部屋に置いておくというか。

妹が使っていたPS2のドライブから、異音がするようになったらしい。「ギャギャギャ」てな音がするのだとか。で、ドライブ交換しようにも、おそらくメーカーに送りつけることになるわけだし。また、ドライブ交換費用も1万円ぐらいかかる+送料はユーザ持ちだろうというのもあって。結局、妹は、新しい薄型のPS2を買ってしまったわけで。ということで、「古いPS2を捨てるにはどうしたらいいんだ」「粗大ゴミ扱いになるのか」という質問を受けて。なんかソレも勿体無いから、PS2未所有の自分が使ってみて、異音がやっぱりするようだったら捨てましょう、という話に。

ひとまず、DVDレンズクリーナー(DVDの裏にハケがついてるやつ)で掃除してから、PS1のゲームを入れて動かしてみた。…CD-ROMを読む分にはまったく異音がしない。 *1 問題はDVDを入れるとどうなるか、なのだけど。自分、PS2は持ってなかったから、DVDメディアのゲームも持ってないんだよな…。妹から借りようにも、「X-BOXみたいにメディアが傷ついたりしたらイヤだ」とのことで拒否された。…そのうち、中古ゲーム店で投売りされてるようなのを探してみるか。

PS1のエミュレーションってどうなんだろう。 :

PS2が発売されてこれだけ時間が経ってるのに今頃気づくのも何なんだけど。
  • ドライブ速度を倍速にした。→ 音声も倍速になった。 → 使えん。
  • テクスチャの補完処理を有効にした。 → レースゲームの木や人のポリゴンの境界線にうっすらと黒い線が入った。 → 使えん。
ということで、強化機能の意味があまり無さそう。

そのうえ、ゲームの画面によっては、どうも画像がガクガクした感じの見栄えに。おそらくだけど、画面解像度が異なるものをエミュレータ上で拡大縮小してどうにかしてるような雰囲気。PS2のゲームをPS3で遊ぶと画面が汚くなるという話をどこかで見かけたけど。もしかするとPS2の時点で、PS1のゲームをPS2で遊ぶと画面が汚くなるという症状が既に出ていたのかなと。いや、ホントのところは判らないけど。もしかしたら気のせいかもしれん。

まあ、新型機で旧型機のソフトが動くだけでも凄いんだけど。FCのソフトはSFCで動かなかったし。MDのソフトはサターンで動かなかったし。マークIIIのソフトはMDで動いたけど、おかげでMDのスペックはアレだったし。ハードウェアのスペックが非力だった頃は、互換性を重視するとそれが足を引っ張る結果に繋がって負け組要素が増えてしまったけど。今はハードウェアのスペックが充分極まって、互換性がセールスポイントになるようになったと。時代は変わったなと、なんだかしみじみ。

*1: 考えてみたらDVDレンズクリーナーで掃除するのはDVD用のレンズでCD用のレンズじゃないのでは。…DVDとCDって同じレンズを使ってるのか、それとも別なのか。そんなことも判らない自分なのですが。

#3 [nitijyou] 買い物に行ってきた

夜食とか煙草とか。

電気ヒゲソリを買いたくてケーズデンキやデンコードーに回ったけど。ヨドバシより高いな…。ヨドバシの10%ポイント還元は結構大きいですね。

2005/12/25() [n年前の日記]

#1 [nitijyou][pc] Sound Blaster PCI 128 をつけた状態で30時間エラーは出なかったけど

本当に XWAVE5000 は壊れてしまったのだろうか。気になる。ということで、XWAVE 5000 を差して検証開始。

#2 [pc] 今時 YMF7x4 を使用したサウンドカードは入手不可能なのだな

検索してみたけど、もはや新品は市場に見当たらず。チップの生産自体が終了してしまったから当り前か。XG音源をターゲットにしたMIDIデータを聴くために、XG音源は1つ手元に置いておきたいのだけどな。

ハードウェアが存在しないなら、ソフトウェアで。ということで、ソフトウェア XG MIDI 音源 S-YXG50 の販売状況を調べたけど。サウンドカードにバンドルされていた版は、えてして Win9x までの対応。一部ではNT用もあったらしいけど、それを WinXP に入れると OS 自体が起動しなくなるという。WinXP への対応は S-YXG50 V4.0 で果たしたらしいけど、V4.0 は現在単体販売していない。どうやら、S-YXG50 V4.0 を正規に購入したいと思った場合、 といった状況になっているらしい。

つまり、「アニメを鑑賞したければ、『RETAS!』 *1 を購入せよ」的な状況。一時期の YMF7x4 大流行時代と比較すると、信じられないほどにXG規格を取り巻く環境は悪化してる。

_ミッドラジオプレーヤ なるソフトをインストールすれば、その中に S-YG50 相当のソフトウェアMIDI音源が入っているらしいのだけど。S-YXG50 じゃなくて、S-YG50、なのが気になるところ。かつ、ミッドラジオプレーヤで MIDI を開かないと、内部音源は使えないらしく。他のWindowsアプリから使うことはできないらしい。随分と不自由な。まあ、それを利用してサイトを売り込みたいのだろうから、仕方ないのか。

_GameTheaterXP、FortissimoII、MUSE、MUSE XL なるサウンドカードを購入していた人なら、添付してきた S-YXG50 用に、S-YXG50 V4.0 へのアップデータも無料配布されているので、それを使えば WinXP でも S-YXG50 が使えるらしい。しかし、該当アップデータはハードウェアをチェックして動作するので、該当サウンドカードを購入・装着した人じゃないとアップデートができない。だが、該当製品自体もはや日本の市場にはなく。

というわけで、低予算で XG音源の音を聴く手段は絶たれたような気が。

まあ、YAMAHA自身が「XG規格の役目は終わったやろ」と関連サイトを当の昔に閉鎖しちゃったし。仕方ないのだろうけど。

たしかに MIDI そのものがエンドユーザにとって価値のないものになってる現状はあるわけで。 :

現在のアマチュア作曲家が、楽曲を公開・配信する場合、 MP3 による公開・配信が主流だったりするし。 MIDI データは、再生機器によって音色・音質がガラリと変わるわけで、容量の点でしかメリットがない。それを考えると、今となっては XG 規格を残す意味も無いだろうし、 MIDI 自体をエンドユーザの手の届くものとして置いておく必要もない。

MIDI の立場を画像データあたりでたとえれば、.psd みたいなものなのだろうか。.psd を開きたかったら、 Photoshop を買えと。当り前の話ではある。が、低予算でもそこそこ聴けた時代があったことを考えると、なんというか。

捨てる・歴史から抹消するぐらいなら、いっそオープンソースにでもしてくれないものかしら。 :

と思ったが。無理か。あの手の音源って、波形データも重要だし。

ていうか受け皿がなさそうでもあるな。音楽関係に興味を持つプログラマーって、「これは俺の財産だ」「金払え」「金払わないならHDDフォーマットしちゃうぞ」てな人が多そうだし。<偏見。

どこぞのオープンソースコミュニティに提供しようとしても、そもそもコミュニティが存在しないか、あるいはコミュニティからシカトされたりして。…結局、XG規格は消滅していくしかないのだろうなぁ。

まあ、レコードとか、ベータのビデオデッキみたいなものなのかもしれん。レコードを聴く機材は結構お金がかかるし。ベータのビデオデッキなんて入手不可能だし。レコードや、ベータのテープが手元にあっても、再生機器がなければゴミにしかならない。それと同じなのだろう。

にしても、8bitPCのプログラムなんかは、エミュレータで動かしたりできるけど。それより遥かに新しいXG規格が、再生機器もなく消滅していくというのは、なんか釈然としない。…いや、高額な機材を購入すればちゃんと再生できる状況にはあるのだから、8bitPCよりはマシなのかしら。よくわからんけど。 *2

*1: RETAS! = アニメ製作用ソフトウェア。
*2: 高額といっても、音源の価格は昔とそれほど変わってない気もする。それを考えると、YMF7x4 や S-YXG50 が普及してた時期のほうが異常、だったのかもしれんなぁ…。

#3 [anime] エウレカセブン、お姉さんの顔見せの回

最後まで見せないのかと予想してたけど。予想は外れた。

あの目は、向こう側に行っちゃった人の目なのか。それとも、向こう側から来た人の目なのか。どっちなんだろうなぁ。

以前、主人公があっち側でお姉さんを目撃したわけだけど。つまり、お姉さんは、手段を見つけて、既にあっちに行ってしまってた、ということなのであらうか。

まあ、色々と想像させてくれるヨサゲな回だったと。作画はちょっとアレだったけど。とはいえ最近スゴイ作画ばっかりだったから、このへんで調整しないとアレだよな。

#4 [anime] マジレンジャー、空に広がる蛙の回

蛙の山に埋もれる青の人の画、及び、巨大な蛙の画に感心。CG万歳。特に後者は、モーフィング? 座標変換? だけで動かしていたので、面白いなと。

#5 [anime] ライダーヒビキ、二人でギターをの回

少年のライバルが完全に踏み止まっていてかなりガックリ。そうだった。井上脚本ってのは、そういう脚本だった。すっかり忘れてた。油断してた。まあ、それはそれでいいんだけど。二人が切磋琢磨する図は見てみたいし。でも、もう時間ないけど。

もっと早期に二人を弟子に出来ていたらなぁ。色んなエピソードが描けただろうに。やはり、高寺Pは、その点については誤った方針を選んでいたのではないか、という気がする。太鼓祭りしてた時間がもったいない。

ザンキさんが! ザンキさんが! 特撮ヒーロー番組において、ああいうシーンを書かせたら、井上氏の右に出る者は居ないな。 どれもこれも、一味違う。これまた今回、トドの人の叫びがたまらない。…ヤバイ。思い出したらちょっとウルウルしてきた。イイヨイイヨー。

この記事へのツッコミ

Re: ライダーヒビキ、二人でギターをの回 by どろ    2005/12/26 22:29
ザンキさーーーーん!!!(;´д⊂)
「オレもう大丈夫ッス」という轟君もけなげだったね〜
もう、前回、今回と録り貯めしていたのを嫁さんと一気に見て、
二人でウルウルしてましたよ。
なんて美しい師弟愛でしょう。
うわぁぁぁん・・・ザンキさーーん・・・
Re: ライダーヒビキ、二人でギターをの回 by mieki256    2005/12/27 12:38
> なんて美しい師弟愛でしょう。

男同士のなんやかやを書かせると、井上脚本は素晴らしいですなぁ…。
いや、もちろん、ザンキさんの中の人と、
トドの中の人が演じてくれたからこそ、
あの出来になったと思うのでありますが。

トドじゃないけど、見てるこっちも、
「ザンキさん、今までありがとうございましたアッ!」
って感じであります。

いかん。書いてるうちに、またウルウルしてきてしまった。

#6 [anime] プリキュアmax、部長引き継ぎ後の回

あの設定でも色々なエピソードが書けるものなんだなと感心。色んなところに目をつけるもんだなぁ。

2004/12/25() [n年前の日記]

#1 [nitijyou] 眠い

なんだか異様に眠いので早々に布団に。

2003/12/25(木) [n年前の日記]

#1 [pc] 親父さんのPCが大変な事に

BIOS起動時のSCSIドライブ認識で止まる。PC本体上部、SCSI-HDDのあたりから、「ヒューン、カツン、ヒューン、カツン」という音が。マズイ事に、親父さんのファイル *1 が保存されてるのは、IDE-HDDではなくSCSI-HDDの中。しかもそれらSCSI-HDDにアクセスできる手持ちのパーツは、親父さんのPCに積んでいるM/B、ASUS P2B-Sしかない。ピンチ。数分〜十数分ほどSCSIドライブ認識をリトライした後で、ようやくOSが起動してくれたものの、2台のSCSI-HDDのうち、1台は見えないし、もう1台もアクセスすると例の音を出し始める。幸い、親父さんのファイルが入ってるSCSI-HDDは見えたので、IDE-HDDとサーバ機に中身をコピー。ケースを開けてSCSI-HDDを2つとも取り外し、IDE-HDDx1、ATAPI DVD-ROMx1、SCSI CD-Rx1のドライブ構成にしたところ、起動するようになった。しかし、小容量とはいえ、HDDが2つ無くなったのは容量的に厳しい。IDE-HDD(12GB)の空き容量はあと僅か。どうしたものか。…HDDを新規購入するしかないか。ついでにWinXP OEM版も購入しないと。セットじゃないと買えないし。しかし先立つものが(爆) うーん。

アプリ関係がちとマズイ :

ひとまず、しばらくはIDE-HDDx1で使ってもらうとして。アプリのインストール場所が、E:\Program Files\〜 から C:\Program Files\〜 に変わったので、再インストール等の作業をする必要が。面倒臭い。フォルダを移動するだけでそのまま動くアプリが増えてくれないものか。

300Wの電源だった :

SCSI-HDDを取り外してる時に気がついた。以前ケースを開けた時は、どうも違うところの数字を読んでたようで。「昔のフルタワーケースって250Wが標準なのか。ショボ」と思い込んでたのであります。オラが間違ってた。

電源ではなく、SCSI-HDDが怪しかったのだろうか :

某所で見かけた話では、HDDの軸が曲がってたりすると起動時に余計な電力が必要になるらしい。電源を交換しても、そのうちすぐに回らなくなるのだとか。電源が弱まったのではなく、HDDが弱まっていたのかな。とは言え検証する術も無いし。

*1: 主に、親父さんが撮影・取り込んだ写真関係のファイル。

#2 [pc] WinXP SP1aのCD-ROM申し込み云々

親父さんが、VAIO所有の御友人に、WinXP SP1aの申し込みFAX用紙を渡して、期限についても説明してきた。これでこちら側の責任は果たしたはず。後は当人の責任。…といっても現状では、SP1aだけじゃ不充分なのだったか。困るよなぁ。…ていうか、こういうお知らせってSONYがやるべきじゃないの? メーカ製PCで、しかも液晶タブレット搭載の高級機種なんだから、そのくらいのサポート・アナウンスをしろよ。売ったら売りっぱなしですか?>SONY。

#3 [comic] LaLaを妹から借りて読んだ

返す際、妹と話をしていてお互い疑問に思ったのだけど。何故に、ときメモGS漫画版を、少女漫画雑誌で連載しないのだろう、みたいな。変な映画より儲かりそうな気もするんだけど、素人考えかしら。…少女漫画雑誌に関しては、光栄あたりが各社をおさえていて、食い込む隙がないとか? なら、いっそ雑誌そのものを創刊しちゃうとか。嘘。出版業界の現状を鑑みればあり得ない。

#4 [nitijyou] 近所のコンビニへ

煙草とお菓子を買いに。コンビニはスーパーに比べて、かなりの品が1.5倍の価格。

2002/12/25(水) [n年前の日記]

#1 謝罪の出来る大人

握手会の場で、DVDの件について自ら謝罪・説明をしてみせた某有名アニメ監督と、
映像に不具合のあるDVDを市場に流通させておきながら、コメント一つ出さない某有名アニメ監督。
対称的。 _

#2 [anime] 謝罪の出来る大人

握手会の場で、DVDの件について自ら謝罪・説明をしてみせた某有名アニメ監督と、
映像に不具合のあるDVDを市場に流通させておきながら、コメント一つ出さない某有名アニメ監督。

対称的。


前者は、子供達に胸をはって見せる事ができる立派な大人の姿だと思います。

他の件に関するコメントなどを見ても、前者は、常に正直というか、率直というか。
例えば、商業性に毒されている事を恥じてみたり、と思ったら開き直ってみたり…
その時々に感じた・思った事を、出来る限り、隠す事無く、精一杯説明しようとする。
自分の発言に対して、「これは嘘です。言い訳です」とか平気で解説しちゃったりする。
それってある意味、客に対する誠実さの表れなんだろうなと。
(その誠実さ故に、名台詞や迷コメントが数多く産まれてきた気もする。)


後者は、子供達には見せたくない、醜い大人の姿。
どこにでも居そうな、ありがちな、情けない大人の姿。

良識ぶったコメントや、
商業性を軽蔑するかのようなコメントを後者は散々残してますが。
いざそういう事態になると、頬被りして知らん振りなのですね。
結局のところ、客より身内のほうが大事なんでしょう。
雪印の社長とか、外務省、農水省の役人連中と何ら変わらない。
不誠実。ある意味、大人の最低な姿。
子供には恥ずかしくて見せられない姿です。


なんて偉そうな事言える立場には自分全然ないんですがーないんですがー(爆)


要するに私は、後者よりも前者が好きだし、
そしてできれば前者のように、
ある面においては誠実な人間でありたいなぁ、と思うのでありました。


まあ、それぞれの状況が違うのだから単純には比較できない、とは思いつつ。


「このDVDは完璧です」って堂々と言い張ってもいいと思うのだけどな>後者
毒を食らわば皿まで、とでもいうか。
どうせここまで引っ張ってしまったのだから、そういうのもアリじゃないかと。
それがどうしても嫌なら、正直に事実を話せばいいのだし。


温泉にサルマタ履いたまま浸かってるような感じがするのです。どうにもイケてない>後者
一緒に訪れた友人のハゲ爺さんは、さっさとフルチンになって、
周りに爽快感すら感じさせながら気持ち良さそうに入浴してるのに。
サルマタ爺さんも脱ぎなよ。フルチンは気持ちいいですよ。
どうしても脱ぎたくないなら、せめて海水パンツを履いてくれないだろうか。
とか言ってる間にウルトラマンみたいな猫背姿勢の若者が
ロビーをフルチンで歩いてて大騒ぎになってたりして。
ああっ。ハゲ爺さんがモーレツな勢いで湯から飛び出しロビーへと走り出した。
もしやダンスか?ダンスを踊るのか?

何を書いてるのか私は。

まあとにかく、フルチンは(・∀・)イイ!という話でした <違うよ


(2002/12/27 追記)
後者関係の _公式サイト に関連情報が載ったそうで。
_プロデューサーがインタビューでDVDの件について答えてた とか。
なるほど。後者はDVD化の作業に一切関わってなかったのですね。

そうとも知らず調子に乗って随分と失礼な事をたくさん書いてしまいました。
謝罪します。申し訳ない。ゴメンナサイ。平謝りであります。

DVD化には一切関わっていないと主張するのであれば、これはこれでいいのではないかと。
元々DVD化に乗り気じゃなかったとどこかで見た記憶もありますし。
商業性優先の話が大嫌いな御仁ということで筋は通りましたし。
極端な話、嘘偽りで塗り固めたとしても、
要は顧客を満足させることさえ出来ていればそれでいいのでありまして。
(正直、あの発表でそのへん実現できるのか不安が残りますが…
まあ、黙り続けてるよりはいいんじゃないかと思ったりして。)


そういえば、前者関係の公式サイトでは、前者の監督さんがコメントを発表してますね。
こちらはDVDについて自らチェックしてるみたいで…ってTV放映作品だから当たり前ですか(爆)
でもこうやって、監督自らコメントして貰えるなんて、前者のファンは幸せ者ですな。
顧客に対し真正面から向き合ってくれる監督さんで…ホント、幸せ者ですよ。

2001/12/25(火) [n年前の日記]

#1 爆音

PCの電源入れたら爆音が。
もうダメだコイツ…
フロント側のファン外そう。


どうも今現在SWが入らなくて。
どうしたものか…

2000/12/25(月) [n年前の日記]

#1 G400DHのTV出力についての実験と推察

動画に興味無い人は読み飛ばすのが吉かと。

G400 DHでTV出力できない件について、ネットで情報を探す。
「MPEG4でも、V1,V2はTV出力できるが、V3はダメ」という経験談を発見。

そこで試しに、画質悪化覚悟で、V3→V2に変換して実験を…と思ったら。
AviUtlは、「サポートしてない形式」と言われ、開く事すら拒否される。
TMPGEncは、音声しか読みこまれない。
Windows Media関連ツールは、変換開始と同時にエラーが出てアプリが落ちる。

どうもV3は問題が多い…
V1,V2を使うにとどめておいたほうがいいのかも。
_このへん を見る限り、V1,V2とV3ではサポート具合も違うようだし。

その後、MPG4C32.DLL、MPG4DS32.AXを古いバージョン(4.0.0.3688)に置き換えたら、AviUtl、TMPGEncで問題無く読めるようになった。
どうやらこの手のツールは、その開こうとする形式に対応した、「外部呼出し可能」なEncode Codecが入ってないと開く事すら出来ないようで。

それを考えると、V3での配布は少し問題がありそう。
現状、最新codecを導入してしまうと、再生は出来ても、編集・変換が難しくなる。
WMP7で再生が可能に、と手放しで喜び、利用する機会を増やすと…
後で悲しい事態に遭遇してしまう危険性が、あるようなないような。

もっとも、MS独自の動画形式になりつつあるMPEG4-Vxは総じて危ないのかもしれず。
また、メジャーであるRealMedia形式にも、同様の事が当てはまりそう。
どうせ危ないなら、「毒を食らわば皿まで」。
後々の、編集や変換作業の可能性は無視して、ひたすら現状での画質追求を目指す…
そんなスタンスも「あり」かと。
まあ、動画にしろ楽曲にしろ、技術が絡んでくる全てのメディアは、そういうスタンスでクオリティを追求せざるを得ないわけで。

ちなみに、上記の古いバージョンのcodecでは、再生時のガクガク感が増加。
デコード処理速度は、新しいバージョンのほうが若干向上していた模様。

さて。
変換可能になったので、画像サイズはそのままで、V3→V2への変換をしてみた。
…V2でも、TV出力不可。
つまり、G400 DHにおけるMPEG4形式のTV出力可否は、「V1,V2,V3による違い」には起因してない、と思われるわけで。

そもそも、V3形式自体がTV出力可能なのだろうか。
そこで、640x480キャプチャ動画を、画像サイズはそのままでV3に変換し、再生。
…これはTV出力されてる。
となると、原因は画像サイズだろうか。

TMPGEncで同サイズ(720x480)のMPEG1に変換・再生してみた。
…これもTV出力されてる。
すると、MPEG1,2形式においては、画像サイズ720x480は充分TV出力可能らしい。

ちなみに、変換後のMPEG1画像だけど。
ビットレートはMAX(=6000)を指定したにも関わらず、ブロックノイズが激しくTV上ですら見れたもんじゃなかった。
今更ながら、MPEG1とMPEG4の、画質の違いを痛感。

結論。
G400 DHにおけるMPEG4形式のTV出力は、現状、V1,V2,V3による制限は受けないが、画像サイズにより制限を受ける可能性が高い。

…と、たぶんそういうことでしょう。
もっとも、ドライバ、DirectXのバージョンにより、結果が変ってくる可能性も否定できないけど。

…クリスマスに何やってんだ? >俺

1999/12/25() [n年前の日記]

#1 (NoTitle)鏡の中の自分を見てそ...

鏡の中の自分を見てその容貌の酷さにショックを受ける。外出しないとダメだ。明日か明後日あたり電器屋めぐりでもしてこよう。

以上、25 日分です。

過去ログ表示

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