mieki256's diary



2023/09/11(月) [n年前の日記]

#1 [hsp] 疑似3D道路その8

_昨日 の続き。HSP 3.6 を使って、疑似3D道路が作れないか試しているところ。環境は Windows10 x64 22H2。

1つのスプライト画像サイズを 256x256 にしていたけれど、サイズが小さくて画面に描画した時に見た目がボコボコしてる感じがしてきたので、256x256 から 512x512 にするべく画像を再作成中。

縮小描画と市松模様 :

自分はドット画っぽい見た目というか、市松模様(ディザパターン、メッシュ)が大好きな変人なので、フルカラー画像をディザパターン付きで16〜32色ぐらいに減色してからドット修正、みたいな感じでスプライト用画像を作成していたのだけど。例えば半透明っぽく見せたいところはメッシュにしてみたり、とか…。

しかし、画面に出してみたら、なんだか酷い見た目になってしまって…。

考えてみたら、線形補間すら使わない、単純な拡大縮小(最近傍補間、Nearest neighbor)をした場合、拡大描画はともかくとして、縮小描画をすると市松模様は酷いことになるわなと…。

about_pixelart_scale_ss01.png

等倍で表示される状況なら問題無いけど、各画像を拡大縮小する可能性があるなら…。1ドット単位でこだわったドット画を描いてしまうと、縮小した時、元のシルエットすら分らない奇天烈な見た目になってしまう…。もちろん、メッシュを使った半透明なんて、効果としてはほとんど期待できない。

少ない色数でどうにかしようとするから市松模様を使うことになるし、市松模様を使うから縮小描画時におかしなことになるのだよな…。ここはフルカラーでスプライト画像を用意したほうがまだマシかもしれない。そんなわけで、またまた画像を再作成する羽目になった。

もしかすると、縮小描画する可能性があるドット画は、あらかじめ、少々のぼかしフィルタをかけておく、という手もあるかなと。クッキリ感は無くなってしまうけれど、ソレが画面内でそこそこの速度で動いてるなら気にならないかもしれないし。

2022/09/11() [n年前の日記]

#1 [python] PyOpenGLでテクスチャを表示

PyOpenGL を使ってテクスチャ画像を描画してみたい。

環境は、Windows10 x64 21H2 + Python 3.9.13 64bit + PyOpenGL 3.1.6 + freeglut 3.0.0 64bit。

実行結果は以下。ポリゴン1枚(GL_QUADS)にテクスチャを貼り付けることができている。

ソース。 :

こんな感じのソースになった。

_01_draw_quads_tex.py
from OpenGL.GL import *
from OpenGL.GLUT import *
from OpenGL.GLU import *
import sys
from PIL import Image


IMGS = [
    "img_rgb.png",
    "img_rgba.png",
    "img_grayscale.png",
    "img_palette.png",
]

IMG_IDX = 0

SCRW, SCRH = 512, 512
FPS = 60
PANGLE = 60.0

window = 0

# Rotation angle for the Quads
rotx = 0.0
roty = 0.0

texture = 0


def load_texture():
    global texture

    # load image by using PIL
    im = Image.open(IMGS[IMG_IDX])
    w, h = im.size
    print("Image: %d x %d, %s" % (w, h, im.mode))

    if im.mode == "RGB":
        # RGB convert to RGBA
        im.putalpha(alpha=255)
    elif im.mode == "L" or im.mode == "P":
        # Grayscale, Index Color convert to RGBA
        im = im.convert("RGBA")

    raw_image = im.tobytes()

    ttype = GL_RGBA
    if im.mode == "RGB":
        ttype = GL_RGB
    elif im.mode == "RGBA":
        ttype = GL_RGBA

    glBindTexture(GL_TEXTURE_2D, glGenTextures(1))

    # glPixelStorei(GL_UNPACK_ALIGNMENT, 1)
    glPixelStorei(GL_UNPACK_ALIGNMENT, 4)

    # set texture
    glTexImage2D(
        GL_TEXTURE_2D,      # target
        0,                  # MIPMAP level
        ttype,              # texture type (RGB, RGBA)
        w,                  # texture image width
        h,                  # texture image height
        0,                  # border width
        ttype,              # texture type (RGB, RGBA)
        GL_UNSIGNED_BYTE,   # data is unsigne char
        raw_image,          # texture data pointer
    )

    glClearColor(0, 0, 0, 0)
    glShadeModel(GL_SMOOTH)

    # set texture repeat
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT)
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT)

    # set texture filter
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)

    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE)
    # glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL)
    # glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE)
    # glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND)


def InitGL(width, height):
    glClearColor(0.125, 0.25, 0.5, 0.0)  # background color
    glClearDepth(1.0)  # Enables Clearing Of The Depth Buffer
    glDepthFunc(GL_LESS)  # The Type Of Depth Test To Do
    glEnable(GL_DEPTH_TEST)  # Enables Depth Testing
    glShadeModel(GL_SMOOTH)  # Enables Smooth Color Shading

    glMatrixMode(GL_PROJECTION)
    glLoadIdentity()  # Reset The Projection Matrix

    # Calculate The Aspect Ratio Of The Window
    gluPerspective(PANGLE, float(width) / float(height), 0.1, 100.0)

    glMatrixMode(GL_MODELVIEW)


def ReSizeGLScene(width, height):
    # Prevent A Divide By Zero If The Window Is Too Small
    if height == 0:
        height = 1

    # Reset The Current Viewport And Perspective Transformation
    glViewport(0, 0, width, height)
    glMatrixMode(GL_PROJECTION)
    glLoadIdentity()
    gluPerspective(PANGLE, float(width) / float(height), 0.1, 100.0)
    glMatrixMode(GL_MODELVIEW)


def DrawGLScene():
    global rotx, roty

    glClearColor(0.125, 0.25, 0.5, 0.0)  # background color
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
    glLoadIdentity()  # Reset The View

    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
    glEnable(GL_BLEND)
    glEnable(GL_TEXTURE_2D)

    glPushMatrix()
    glTranslatef(0.0, 0.0, -2.0)  # translate

    # Rotate
    glRotatef(roty, 0.0, 1.0, 0.0)
    glRotatef(rotx, 1.0, 0.0, 0.0)

    glColor4f(1.0, 1.0, 1.0, 1.0)  # color

    # draw quads
    x, y, z = 1.0, 1.0, 0.0
    glBegin(GL_QUADS)

    glTexCoord2f(0.0, 0.0)  # set u, v
    glVertex3f(-x, y, z)  # Top Left

    glTexCoord2f(1.0, 0.0)
    glVertex3f(x, y, z)  # Top Right

    glTexCoord2f(1.0, 1.0)
    glVertex3f(x, -y, z)  # Bottom Right

    glTexCoord2f(0.0, 1.0)
    glVertex3f(-x, -y, z)  # Bottom Left

    glEnd()

    glPopMatrix()
    glDisable(GL_TEXTURE_2D)
    glDisable(GL_BLEND)

    glutSwapBuffers()


def on_timer(value):
    global rotx, roty
    rotx = -10.0
    roty = roty + 1.0
    glutPostRedisplay()
    glutTimerFunc(int(1000 / FPS), on_timer, 0)


def keyPressed(key, x, y):
    # If escape is pressed, kill everything.
    ESCAPE = b"\x1b"
    if key == ESCAPE or key == b'q':
        if glutLeaveMainLoop:
            glutLeaveMainLoop()
        else:
            sys.exit()


def main():
    global window

    glutInit(sys.argv)
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH)

    glutInitWindowSize(SCRW, SCRH)
    # glutInitWindowPosition(0, 0)

    window = glutCreateWindow(b"Draw texture")

    glutDisplayFunc(DrawGLScene)
    glutReshapeFunc(ReSizeGLScene)
    # glutFullScreen()

    # glutIdleFunc(DrawGLScene)
    glutTimerFunc(int(1000 / FPS), on_timer, 0)

    glutKeyboardFunc(keyPressed)
    InitGL(SCRW, SCRH)

    load_texture()

    glutMainLoop()


if __name__ == "__main__":
    print("Hit ESC key to quit.")
    main()

使用画像は以下。

_img_rgb.png
_img_rgba.png
_img_grayscale.png
_img_palette.png

少し解説。 :

テクスチャ画像の読み込みと、OpenGL にテクスチャ画像を登録(?)するあたりは、load_texture() で処理している。

テクスチャ画像の読み込みには、PIL の Image を使った。更に、PIL (の Image) を使って、画像を必ず RGBA に変換してから画像を使う。

OpenGL に渡すためのテクスチャ画像はベタ画像データ(1ピクセル4バイトがピクセル数分ずらずらと並んでる感じのデータ)になってないといけないけれど、それについては PIL の .tobytes() で取得できる。

OpenGLにテクスチャ画像を登録するには、glTexImage2D() を利用する。

描画時にテクスチャを利用したい場合は、glEnable(GL_TEXTURE_2D) を呼んでから描画指定をする。逆に、テクスチャを利用しない場合は、glDisable(GL_TEXTURE_2D) を呼ぶ。

複数のテクスチャを描画。 :

前述のサンプルはテクスチャ画像を1つしか描画してないけれど、複数のテクスチャ画像を読み込んで描画できないか試してみた。

実行結果は以下。



複数のテクスチャを描画することができている。

ソースは以下。

_02_draw_quads_tex_m.py
from OpenGL.GL import *
from OpenGL.GLUT import *
from OpenGL.GLU import *
import sys
from PIL import Image


IMGS = [
    [GL_TEXTURE0, "img_rgb.png"],
    [GL_TEXTURE1, "img_rgba.png"],
    [GL_TEXTURE2, "img_grayscale.png"],
    [GL_TEXTURE3, "img_palette.png"],
]

SCRW, SCRH = 512, 512
FPS = 60
PANGLE = 45.0

window = 0

# Rotation angle for the Quads
rotx = 0.0
roty = 0.0

textures = []


def load_texture(filename):
    # load image by using PIL
    im = Image.open(filename)
    w, h = im.size
    print("Image: %d x %d, %s" % (w, h, im.mode))

    if im.mode == "RGB":
        # RGB convert to RGBA
        im.putalpha(alpha=255)
    elif im.mode == "L" or im.mode == "P":
        # Grayscale and Index Color convert to RGBA
        im = im.convert("RGBA")

    raw_image = im.tobytes()

    ttype = GL_RGBA
    if im.mode == "RGB":
        ttype = GL_RGB
    elif im.mode == "RGBA":
        ttype = GL_RGBA

    id = glGenTextures(1)
    glBindTexture(GL_TEXTURE_2D, id)

    # glPixelStorei(GL_UNPACK_ALIGNMENT, 1)
    glPixelStorei(GL_UNPACK_ALIGNMENT, 4)

    # set texture
    glTexImage2D(
        GL_TEXTURE_2D,      # target
        0,                  # MIPMAP level
        ttype,              # texture type (RGB, RGBA)
        w,                  # texture image width
        h,                  # texture image height
        0,                  # border width
        ttype,              # texture type (RGB, RGBA)
        GL_UNSIGNED_BYTE,   # data is unsigne char
        raw_image,          # texture data pointer
    )

    glClearColor(0, 0, 0, 0)
    glShadeModel(GL_SMOOTH)

    # set texture repeat
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT)
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT)

    # set texture filter
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)

    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE)
    # glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL)
    # glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE)
    # glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND)

    return id


def InitGL(width, height):
    glClearColor(0.15, 0.6, 0.3, 0.0)  # background color
    glClearDepth(1.0)  # Enables Clearing Of The Depth Buffer
    glDepthFunc(GL_LESS)  # The Type Of Depth Test To Do
    glEnable(GL_DEPTH_TEST)  # Enables Depth Testing
    glShadeModel(GL_SMOOTH)  # Enables Smooth Color Shading

    glMatrixMode(GL_PROJECTION)
    glLoadIdentity()  # Reset The Projection Matrix

    # Calculate The Aspect Ratio Of The Window
    gluPerspective(PANGLE, float(width) / float(height), 0.1, 100.0)

    glMatrixMode(GL_MODELVIEW)


def ReSizeGLScene(width, height):
    # Prevent A Divide By Zero If The Window Is Too Small
    if height == 0:
        height = 1

    # Reset The Current Viewport And Perspective Transformation
    glViewport(0, 0, width, height)
    glMatrixMode(GL_PROJECTION)
    glLoadIdentity()
    gluPerspective(PANGLE, float(width) / float(height), 0.1, 100.0)
    glMatrixMode(GL_MODELVIEW)


def DrawGLScene():
    global rotx, roty, textures

    glClearColor(0.15, 0.6, 0.3, 0.0)  # background color
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
    glLoadIdentity()  # Reset The View

    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
    glEnable(GL_BLEND)
    glEnable(GL_TEXTURE_2D)

    r = 1.05
    poslist = [
        [-r, r],
        [r, r],
        [-r, -r],
        [r, -r],
    ]

    ry = roty
    for i, tex_id in enumerate(textures):
        tx, ty = poslist[i]

        glPushMatrix()

        # change texture
        glBindTexture(GL_TEXTURE_2D, tex_id)

        # translate
        glTranslatef(tx, ty, -6.0)

        # Rotate
        glRotatef(ry, 0.0, 1.0, 0.0)
        glRotatef(rotx, 1.0, 0.0, 0.0)

        glColor4f(1.0, 1.0, 1.0, 1.0)  # color

        # draw quads
        x, y, z = 1.0, 1.0, 0.0
        glBegin(GL_QUADS)

        glTexCoord2f(0.0, 0.0)  # set u, v
        glVertex3f(-x, y, z)  # Top Left

        glTexCoord2f(1.0, 0.0)
        glVertex3f(x, y, z)  # Top Right

        glTexCoord2f(1.0, 1.0)
        glVertex3f(x, -y, z)  # Bottom Right

        glTexCoord2f(0.0, 1.0)
        glVertex3f(-x, -y, z)  # Bottom Left

        glEnd()

        glPopMatrix()

        ry *= 1.2

    glDisable(GL_TEXTURE_2D)
    glDisable(GL_BLEND)

    glutSwapBuffers()


def on_timer(value):
    global rotx, roty
    rotx = 0.0
    roty = roty + 1.0
    glutPostRedisplay()
    glutTimerFunc(int(1000 / FPS), on_timer, 0)


def keyPressed(key, x, y):
    # If escape is pressed, kill everything.
    ESCAPE = b"\x1b"
    if key == ESCAPE or key == b'q':
        if glutLeaveMainLoop:
            glutLeaveMainLoop()
        else:
            sys.exit()


def main():
    global window

    glutInit(sys.argv)
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH)

    glutInitWindowSize(SCRW, SCRH)
    # glutInitWindowPosition(0, 0)

    window = glutCreateWindow(b"Draw textures")

    glutDisplayFunc(DrawGLScene)
    glutReshapeFunc(ReSizeGLScene)
    # glutFullScreen()

    # glutIdleFunc(DrawGLScene)
    glutTimerFunc(int(1000 / FPS), on_timer, 0)

    glutKeyboardFunc(keyPressed)
    InitGL(SCRW, SCRH)

    for _, fn in IMGS:
        id = load_texture(fn)
        textures.append(id)
        glEnable(GL_TEXTURE_2D)

    glutMainLoop()


if __name__ == "__main__":
    print("Hit ESC key to quit.")
    main()

使用画像は以下。

_img_rgb.png
_img_rgba.png
_img_grayscale.png
_img_palette.png


少し解説。

glBindTexture() を使えば、何番目のテクスチャを利用してその後の処理をするかを指定できる。

ただ…。複数のテクスチャ画像を描画した後で気づいたけれど、考えてみたら、テクスチャ画像を1枚だけ渡して、そのテクスチャ内のここからここまで切り出して利用、といった形でも済むのだよな…。特にゲーム関係はそんな感じでテクスチャを利用しているはずだし…。いやまあ、テクスチャをリピートさせて描画する時は、またちょっと違ってくるのだろうか。

2021/09/11() [n年前の日記]

#1 [python] pygameを復習中

Python で何かしらの処理を書いた際に結果を視覚的に分かりやすくしたいなと思ったので pygame を使おうとしたら書き方を忘れていて勉強中というか復習中。

テスト表示用のpng画像がなんだか今一つに感じたので、ドットエディタ EDGE2 を使って修正しているうちに、ビットマップフォントで文字を入れたくなってきて、BDFから変換した系のフォントをHDDから発掘してインストールして…。作業内容がどんどんずれていく…。

2020/09/11(金) [n年前の日記]

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

雷が鳴ったので、16:10-18:40の間、自宅サーバ止めてました。申し訳ないです。

昨日流れていた天気予報のニュースで、午後からかなり荒れると言ってたけれど、予報通りの激しい雨、そして雷。

少し小降りになってきたあたりで犬の散歩に出かけたら、途中からまた大粒の激しい雨が…。びしょ濡れになりながら全速力で帰宅。しかし犬は散歩をまだしていないと思い込んでるようで、延々吠え続ける…。この悪天候で散歩に行けるわけないやん…。

2019/09/11(水) [n年前の日記]

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

雷が鳴ったので、13:00-16:40の間、自宅サーバを止めてました。申し訳ないです。

12:40頃、これといった前触れもなく、結構近くでいきなりドーンと落ちた感じで。妙な落ち方・鳴り方だったなと。

#2 [nitijyou] かなりの豪雨

昼頃からかなりの豪雨。

豪雨レーダー等、その手のサイトで確認したら、通常時は雨量を示す各色のグラデーションが表情されるのに、今回は最大雨量の色のまま、近隣一帯がまるでアニメ絵のようなベタ塗り状態。つまりは想定量を超える雨量が降っていたはずで…。一体どんだけ降ったのかと…。

2018/09/11(火) [n年前の日記]

#1 [blender] blenderでカメラマッピングの実験その2

blender でもうちょっとカメラマッピングの実験をしてみたり。

_壁で囲まれた空間の写真を元にして動かすことはできた けど、コレをキャラっぽい画像に対して使ったらどうなるのかなと。

作例。 :

_pixabay から入手した画像を、GIMP を使って、前景と遠景に分割して…。

cemetery-1655378_a.png

cemetery-1655378_bg.jpg

blender で、像の画像を元に、簡単な3DCGモデルを作成。こんな感じになった。



よく見ると不自然だけど、翼のあたりや肩のあたりに奥行きがついているので、パッと見はそれっぽくなってるような気がする。

ただ、実写映像らしさが欲しいならともかく、例えば手描きアニメ等であれば、平面の拡大縮小・只のビルボードでも十分のような気がする…。

モデルについて。 :

今回は blender のアドオンの BLAM は使わなかった。どこにも X軸、Y軸を見いだせない画像だったので、カメラをテキトーに動かしてカメラ角度を決めてしまった。

手前の像のモデルは、以下のような感じに。

cameramap_ss01.png

Uキー → プロジェクション、を選んで、現在の見た目そのままでUV設定。テクスチャを貼ると以下のようになった。

cameramap_ss02.png

あまりにも雑過ぎるモデルだけど、要は出っ張ってるところと引っ込んでるところがそれっぽく存在していれば、カメラを動かした時にちょっとはそれらしく見えるのではないか、と予想したわけで…。

ただ、当然、キッチリ作り込んだほうがらしさが増すはずで。つまり、写真からそれっぽいモデルを作ってしまう何かしらが本来なら必要になりそうな気がする。それはツールや機能かもしれないし、あるいは作業者のテクニックかもしれないけれど。

画像をポリゴンで囲って細分化して、ブラシでなぞったら出っ張ったり引っ込んだり、みたいな作業ではどうだろう…。おそらく ZBrush みたいな…。blenderにもそういう機能が無かったっけ…。あった気がする…。

スカルプトモードを使ってみた。 :

ググってみたら、blender にはスカルプトモードと言う、ブラシで塗ったところを引っ張ったり押し込んだりする機能があるらしい。試しにその機能でモデルを凸凹させてみたり。

cameramap_ss03.png

cameramap_ss04.png

こうなった。



予想を下回る結果に。さほど変化は無いな…。

写真から3Dモデルを作成できるアレコレ。 :

写真から3Dモデルを作れる何かは無いのかなとググってみたり。以下が参考になりそうな予感。

_画像1枚から3Dモデルを作成できるSmoothie-3Dを使ってみた | STYLY
_写真から3Dモデリングができる「Smoothie-3D」を実際に使ってみた | モデログ
_写真から3Dデータをつくれる3Dモデルソフト・アプリまとめ | モデログ

複数の写真から3Dモデルを作るサービスもあるらしい。

_Photogrammetryのススメ 〜ソフト比較と質感設定〜 - 人柱系CGモデラーのTipsブログ

もっとも今回は、1枚の静止画像を動かせないかという実験なのでアレだけど。

#2 [gimp] GIMPプラグインの Resynthesizer を探したり

GIMP のプラグインとして、Resynthesizer というものがあって。

_bootchk/resynthesizer: Suite of gimp plugins for texture synthesis

コレを使うと、画像内の選択範囲を、周囲の画像情報を使いながら自然な感じで消去することができる。ちなみに、前述の記事の、画像内の像は、コレを使って消去した。

_Resynthesizer - Oss4art

ただ、バイナリが配布されていた・入手先だった registry.gimp.org が消滅しちゃっているのだよな…。ということで、他に入手先が無いのかググってみたり。

幸い、今現在も入手可能ではあるらしい。ありがたや…。一応各ページのURLをメモ。

_「スマート消去 & Resynthesizer」
_Resynthesizer v1.0 for Linux and Windows | GIMP Plugin Registry (Internet Archive)
_Resynthesizer / heal-selection plugins for Windows
_Resynthesizer 2.0 Windows Binary - mynote

Windows用のバイナリとしては、0.16、1.0、2.0 がある模様。ただ、海外の掲示板で公開されてる版は、バージョンがちょっと分からなかった。

インストール場所は以下。
選択範囲を自然な見た目で消去する場合は、選択範囲を作ってから…。

2017/09/11(月) [n年前の日記]

#1 [raspberrypi] Raspberry Pi Zero WのCPUのサイズ

ノギスでざっくりと、Raspberry Pi Zero W のCPUのサイズを測ってみたのだけど。12x12mm、ぐらいじゃないかなあ…。たぶん。

_On the next version of the Zero (without adding cost) - Page 2 - Raspberry Pi Forums で、「4コアになったら12x12mmが14x14mmになっちゃった」てな一文があるから、たぶん12x12mm、でいいのかなと。

ということは、12x12mmのヒートシンクを購入すれば Zero W につけられるはず。

と思ったのだけど。ググってみてもそんなサイズのヒートシンクは無くて。14x14mmなら出てくるのだけど…。まあ、そのあたりは Pi2 や Pi3 用として売られてるわけですが。

14x14mmのヒートシンクを Zero W につけられるかというと…。miniHDMI端子のあたりにぶつかりそうな気配も…。Zero W じゃなくて Zero なら、真ん中あたりに配置してあるらしいから大丈夫かもしれんけど。

そもそも、Zero や Zero W の消費電力で、ヒートシンクって必要なのかな。何をどうすれば判断できるのだろう。ベンチマークでも動かして発熱させれば分かるのかしらん。

#2 [raspberrypi] pigpiodって結構重いのだな

Raspberry Pi のGPIOをより使い易くする、というか高機能にする、 _pigpio というライブラリだかサービスだかがあるのだけど、利用するためには _pigpiod というデーモン?を動かしておかないといけなくて。

というわけで、先日 Zero W の GPIO が使えるかどうかを実験する際に有効にしてみたのだけど。Zero W上では、pigpiod のCPU使用率が 7〜8%ぐらいになってることに今頃気が付いて。ざっくり考えれば常時1割近くを持っていかれるわけだから…結構重いのだな、と。

もっとも、GPIO をアレコレしながらデスクトップでゴージャスな何かを表示しつつ、みたいなアレもコレも全部一斉にやるぜ、てなことを Raspberry Pi シリーズでできるとも思えないし。GPIO を使ってたら、それはもうほとんど制御専用として使ってそうだし、デスクトップ画面でどうのこうのは制御云々なんてまずやってないだろうし。なので、ほとんどの場面では問題にならないであろう気もする。

#3 [anime][neta] お祭りについて妄想

バカ妄想をメモ。

数日前に、「美少女アニメキャラの顔にしわを描けるようになったのは押井監督のおかげ」「そんな偉業を成した押井監督のお墓を皆でお参りすべき」てな妄想をメモしたのだけど。考えてみたら御存命中に崇め奉っても全然いいのだよなあ、と気が付いて。

例えば…。毎年毎年、劇場版パト1の公開日になると、押井監督が真っ白な着物を着せられて皆の前に現れて。お参りに来たアニメ業界人が、一人一人、筆と墨で、監督の顔に、しわを一本ずつ描き加えていく。

なんとなく雰囲気的に108本ぐらい描き加えて監督の顔が真っ黒になったあたりで、監督は神輿に乗せられて。業界人が神輿を担いで、IGのスタジオがある街の中をぐるぐると練り歩く。

ただ歩いてるのではちょっと雰囲気が出ないので、ここはやはり川井憲次氏にソレっぽい曲を作ってもらって、攻殻機動隊で流れた民謡っぽい謎合掌を皆でしながらウロウロしつつ、私達は押井監督をこの通り心の底から賞賛していますよ、と示す。

てな感じの祭りを企画する。とか。

しかし当然ながら押井監督は絶対嫌がるはず。「冗談じゃないよ」「バッカじゃないの」と言い出しそう。これは困った。神様が出てこないのでは祭りにならない。皆で監督を取り押さえて無理矢理実行するのもアリかもしれないけど、それはそれで後が怖い。特に作画スタッフがガクブル。次回作で何を要求されるか想像するだに恐ろしい。というか、荒縄でグルグル巻きにされた押井監督が集団に担ぎ上げられて街を練り歩いてるの図は、もはや祭りじゃなくて違う何かとしか思えない。ビジュアル的によろしくない。映像制作に携わる者達の振る舞いとしてはいかがなものか。たとえそこに監督を褒め称えたい気持ちが溢れていたとしてもビジュアルって重要。

誰かが言い出す。「犬でいいんじゃねえか」。押井監督と言えば犬だし、犬と言えば押井監督なのだから、犬を神輿に乗せて練り歩くということは押井監督を神輿に乗せて練り歩いてるのと同義である、と…。その発言に、その場に居た全員が、「なるほど。それは名案」「実に筋が通っている」と大賛同。

かくして、犬を神様 ―― オシイ様に見立てて祭りを開く展開に。

だが、犬の顔にしわを描こうとしても、もちろん犬は暴れるわけで。更に、犬は毛だらけだから、どれがしわで、どれが毛だか分からない。どうにか神輿に乗せてみたら恐怖に震えておしっこジャー。しかも、その様子を傍から見ていた押井監督が「オイ! 俺を虐待するのはやめろ!」と怒り出してしまうしで、計画は頓挫しかける…。

もう面倒臭いからぬいぐるみや木彫りの像でいいよ、という話になって…。ツルツルな表面の犬の木像をアレしてソレをする、なんだか妥協しまくりなお祭りに。

しかしそんな経緯で始まった祭りも、数十年、数百年と続けるとなんとなく箔が付いてくるもので。未来の日本では、これは犬ですと言われたらどうにか犬に見えなくもないようなそんな気分にもなってくる、人だか犬だか判別が難しい不思議な謎生物の像が、近隣住民から「オシイ様」と呼ばれて親しまれつつ、祭りの日になると担ぎ出されて墨で真っ黒にされるという光景が…。

ちょっとSFっぽい気がする。でもないか。

他の事例で妄想。 :

てな感じのバカ妄想をしてしまったけど、コレの宮崎駿監督版や、富野監督版を妄想してみたら、どうなるんだろうと…。

まあ、富野監督はイデオン祭りの前科、もとい、実績があるから、内容次第ではビッグな態度を見せてくれそうなイメージが。ていうかガンダム関係のイベントでも顔を出してくれて、集まった人達が「富野監督キター」って喜んでるから、別にわざわざ今から奇祭を企画せんでも、てな気もする。

が、宮崎駿監督は…嫌がりそうだなあ…。絶対怒るだろう…。

でも女性スタッフが、「最近小さい子供さんでも楽しめる、昔ながらの日本らしい祭りってあまりないんですよね」などとつぶやくと、無言でしばらく考えた後、「…やってみるか」と言い出したりしそうな、そんな勝手なイメージも。「せっかくだからこういう祭りはどうか」「チビ達も喜ぶんじゃないか」とエンジンさえかかれば次々に面白いアイデアが。

かくして、スタジオジブリがあったあの辺に、慈奉里(じぶり)祭りなる、小さな小さなお祭りがひっそり定着するという…。当然その頃にはスタジオジブリは無くなってるのだけど、お祭りの名前として、「ジブリ」という名前がずっとその地域に残り続ける、みたいな。

ちょっとSFっぽい。ような気が。すこしファンタジー。

現存する祭りってスゴイ。 :

てな感じの妄想をしていくと、今現在日本の各地に残ってる奇祭の類って、どういう経緯で始まったんだろう、ここまで継続させるのは大変だったんだろうなあ、消えていったお祭りも結構あるんだろうなあ、などと思いを馳せてしまったりもするわけで。いやー、アレとかソレとか、よくまあ残せたもんだよなあ…。当時の人達はどんだけエネルギッシュだったんだろう。みたいな。

まあ、昔は、ハレとケの比率が違ったからそこまでやれたのかも。今はもう、例えばTVをつけたらハレしか目に飛び込んでこないし。感覚的に違ってくるところもあるだろうな…。

てな感じの妄想をしてしまったのでなんとなくメモ。

#4 [anime][neta] 一人の作家が未来で神様扱いされてるソレ

小説家、漫画家、ミュージシャン、映画監督、なんでもいいのだけど、一人の作家が未来世界では比喩でもなんでもなくガチで宗教的な神様として扱われてる、てな設定はアリなのかナシなのか、などとしょーもないことを考え始めてしまったり。まあ、何がどうなったらそんなことになるのか、てな部分が何も思いつかないのでアレだけど。そこらへんをすらすら思いつける人なら、小説家や脚本家になれるのだろう…。

考えてみたら、「機動戦艦ナデシコ」がちょっと近い気もする。まあ、神様になるソレが、人ではなかったけど。「ウラシマン」も近いのかな。と言ってもアレは神と言うわけではなくて、未来世界における重要人物が、実は…てなソレだけど。

昔読んだSF小説で、過去にタイムスリップしてみたら歴史上の偉人が、実は…てのもあったような。アレはSF小説として扱われているのだから、そういう設定は一応SF、なんだろうなあ…。逆に、過去ではなく未来に飛ばしてみれば…それもまたSFになるのだろうか。

現代世界では神様扱いされるほどに特別視されてはいない人物が、未来ではスゴイ扱いになってる、てなあたりを説得力を持って描けたら…。それは逆に、今現在神様として扱われてるアレやコレって実際はどうだったんだろう、てなことをつい考えてしまう可能性も出てきそうだなと。となると…ちょっと危険な感じがしてきた。フィクションが通じない人達って居るから…。

スペックが強化されていく偉人達。 :

神様云々とはちょっと違ってくるけど。有名人って、時代が経つにつれて、そのスペックが人ならざる者になっていく時があるよなと。

例えば聖徳太子は、約1,500年ほど前の人物だけど、そのエピソードを眺めると、「これもう人間じゃなくて宇宙人じゃね?」と思えてくるし。たった1,500年で、この状態。

500年ぐらい前の君主様は、人の生き血を吸ったり、コウモリに変身して夜な夜な飛び回る、そんなキャラになってたりするし。

200年ぐらい前に活動してた新選組は、今ではもう、全員超絶イケメンだったのだ、そうに決まってる、そうじゃなきゃ許さない、という扱いが当たり前で。

それらを考えると…。今現在活躍してる有名人は、未来でどんなキャラクターとして描かれてるか、ちょっと予想がつかないよなと。

何度も例に出してなんだか申し訳ないけど…例えば押井監督などは、犬に変身したり、犬と会話ができる異能力者として未来では扱われてる可能性があるよなと。しかも十中八九、美少年か美青年キャラになってる。いや、だって、沖田総司が今ではあんなルックスになってるのだもの。押井監督もスゴイよ? スゴイことになるよ? 保証しますよ。してどうする。…まあ、犬に変身できたからと言って、その設定でどんな話が作れるのかと考えてみると悩んじゃうけど。

宮崎駿監督あたりは、「一目見ただけで全ての光景を記憶できる魔眼の持ち主」とか「通り名:パーフェクトレコーダー」とかそういう扱いのキャラになってそうな。

とか妄想すると…。未来の作家さん達からとんでもない扱いを受ける前に、本人が、「どうせアレンジされちゃうなら、せめてこういう感じのキャラにしてくれ」と要望を出しておくのもアリかもな、と…。「短足には描くな」とか「ほっそりキャラとして描いてくれ」とかそういう。

というか今のうちに自分でキャラ作って「俺はこういうキャラね」と浸透させたほうがいいのかも…。ナベシン監督みたいに。

すると未来の日本では…。犬に変身できる美少年と化した押井監督と、魔眼所有者の美少年と化した宮崎駿監督の横に、コスプレおじさんにしか見えないいつものナベシン監督のソレが並ぶ、という作品が人気を博していたり。ナベシン監督、美味しい…。作戦勝ちじゃないスか…。

2016/09/11() [n年前の日記]

#1 [krita] Kritaをアップデートしたら少し悲しいことに

無料で使えるのにゴイスな機能が満載のお絵かきソフト、Krita 3.0.1 が公開されたらしいので、Krita 2.9.x が入ってる Windows10 上で更新してみようと思ったのだけど。

そのままインストール作業をしてみたら、2.9.x上で追加していた大量のブラシが全部消滅してしまった。なんてこった…。おそらくは 3.0.1 をインストールする前に 2.9.x を自動で一旦アンインストールするので、そのタイミングで追加ブラシが入ってるフォルダを綺麗に掃除してしまったのだろうと。

てなわけで、2.9.x を使ってた人は、設定フォルダをバックアップしてから 3.0.1 に更新したほうがいいみたいですよ、と。

ググりまくって、追加ブラシをまた掻き集めないと…。それぞれどこで入手したのだったかなあ…。無頓着にポンポン追加してたけど、元ファイルを全部HDDに残しとけばよかった…。失敗した…。

ところで、3.0.1の設定データ等が入ってるフォルダの位置がなんだかちょっとよく分からず。 _Krita 3.0メモ書き(暫定版) - Kritaでぐるぐるお絵かきブログ によると、
2.9の設定:%APPDATA%\krita(C:\Users\ユーザ名\AppData\Roaming\krita)
3.0の設定:%LOCALAPPDATA%\krita(C:\Users\ユーザ名\AppData\Local\krita)

Krita 3.0メモ書き(暫定版) - Kritaでぐるぐるお絵かきブログ より

となってるらしいのだけど。手元の環境 (Windows10 x64)では、C:\Users\ユーザ名\AppData\Roaming\krita に Krita 3.0.1 の設定データが入ってるようで。そこは 2.9.x 時代に使ってたフォルダじゃないのか…。Beta版を試用してた時期もあるので、自分の環境はそのへんグチャグチャになってるのかしらん。

#2 [cg_tools] 六角大王Super6をインストール

blender を少し触っていたのだけど、もしかして六角大王Super6でモデリングしたほうが楽だったりしないかと思えてきたわけで。起動しようと思ったら、Windows10 x64上にはインストールしてなかったようで。パッケージ版を買って入手した記憶があるのだけど、部屋のどこにあるのだか…。

外付けHDDの中を探したら、ISOでバックアップしてあった。助かった。とりあえずインストール。Windows7を使ってた頃に入手したソフトなので、Windows10上で動くかどうか不安だったけど、一応起動するところまでは確認できた。

使い方をすっかり忘れてる。当たり前か。インストールすらしてない状態で放置してたもんな…。

2015/09/11(金) [n年前の日記]

#1 [dxruby] 古い画像を探したり

プログラムの実験に使えそうな、古い画像を探したり。一番最初の頃の「不思議の国のアリス」の挿絵画像とかそのあたりを。古い画像なら Public Domain になってるだろうからサンプルに添付できるのではないか、みたいな。

ポリゴンに画像を貼って歪ませた時にそれらしく見えるかどうかを確認したいので、 _ハッチング が使われてる画像がいいなと思ったのだけど。キャラ部分だけ上手く切り出せそうな画像が見つからず。なかなか難しい。

#2 [nitijyou] 中宿のあたりで工事をしてることに今頃気づいた

犬の散歩のついでに、いつも洪水になってる中宿のあたりを走ってきたのだけど。須賀川の堤防を高くする工事をしていたのですな…。もっとも、まだ工事途中で全然できてない状態だけど。震災で避難してる方のための仮設住宅群すら水没したぐらいに洪水が発生してた・少し下流の郊外型ショッピングセンターの駐車場が池になるぐらいにトホホな状況だったから、そりゃさすがに手を入れるよなと…。これで多少は状況が改善してくれればいいのだけど。

2014/09/11(木) [n年前の日記]

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

雷が鳴ったので、16:50-19:00まで自宅サーバ止めてました。申し訳ないです。

#2 [linux] Chromium OSを試用

せっかくだから、試しに Chrome OS (Chromium OS)を試用してみようかと。

VMware上で試してみた。 :

とりあえず、Windows7 + VMware Player 上で動かしてみたり。 _Chromium OS builds by Hexxeh から、Build 4028 VMWare 用、ChromeOS-Vanilla-4028.0.2013_04_20_1810-r706c4144-VMWare.zip をDLして解凍。中に、
  • ChromeOS-Vanilla-4028.0.2013_04_20_1810-r706c4144-VMWare.vmdk
  • ChromeOS-Vanilla-4028.0.2013_04_20_1810-r706c4144-VMWare.vmx
が入ってるので、適当なフォルダに移動。.vmxファイルをエディタで開いて、最後のあたりに、
ethernet0.virtualDev = "e1000"
の一行を追加。
  1. VMware Player を起動。
  2. 「仮想マシンを開く」を選択して、.vmxを開く。
  3. 「Chromium OS」という名前で仮想マシンが一覧に追加されるので選択。
  4. 「仮想マシン設定の編集」を選ぶ。
  5. 「ハードディスク(IDE)」を選ぶと「指定されたファイルが見つからない」と言われるので、削除ボタンを押して削除。
  6. 追加ボタンを押してハードディスクを追加。IDE → 既存の仮想ディスクを使用 → .vmdk を選択。
  7. 仮想マシンを再生。
で、一応起動はしたのだけど…。
  • マウスカーソルの動きがあまりに遅くてイライラ。設定を変更してもさほど改善された感じがしない。
  • Youtubeすら見れない。動画が再生できない。
これは厳しいなと。なんとなく起動時間が短そうなあたりは好印象だったのだけど…。

ちなみに、マウスの速度設定は、画面右下のアイコンをクリック → 設定、で変更できる。変更しても遅いけど。

時刻表示もおかしかったけど、設定でタイムゾーンを変更したらそれっぽくなった。

USBメモリにインストールして試してみた。 :

VMware上で動かしているからよろしくないのだろうかと思えてきたので、USBメモリにインストールして試してみようかなと。

_Chromium OS Builds の daily/ から、Cx86OS-20140910010101.img.7z をDLして解凍。.img ファイルが出てくる。

USBメモリに書き込むためのツール、Win32 Disk Imager を、 _Win32 Disk Imager | SourceForge.net からDL。Win32DiskImager-0.9.5-install.exe して実行してインストール。

USBメモリを差して、 Win32 Disk Imager を起動。.img を選択。USBメモリのドライブレターを指定。「Write」を押せば書き込まれる。

しかし、PCを再起動してUSBメモリから起動しても、正常動作しない。市松模様っぽい画面になったまま…。マウスを動かすとマウスカーソルが表示されて動くけど…。おそらく、NVIDIA製ビデオチップ、GeForce 9800GT は対応してない・ドライバが入ってないのではないかと。

Cx86OS-20140820010102.img.7z や ChromeOS-Vanilla-4028.0.2013_04_20_1810-r706c4144.zip をDLして試してみたけど結果は同じ。市松模様しか出てこない。

ちなみに、Chromium OS をインストールしたUSBメモリは、やたらとパーティションが分かれてしまっているので、そのままフォーマットしても元の容量に戻らない。SDフォーマッタとやらを使えばUSBメモリのパーティションも元に戻せるらしいので導入。 _SD/SDHC/SDXC用 SDフォーマッター4.0 - SD Association をDL。実行してインストール。起動後、オプション設定で、クイックフォーマット、論理サイズ調整ONにして、USBメモリのドライブレターを指定してフォーマット。

#3 [linux] Puppy Linuxを再度試用

Chromium OS を使うより、Puppy Linux を使ったほうが、Web閲覧・動画再生がしやすいのではと思えてきたので、USBメモリに再度インストールして少し試用。今回は、UNetbootin を使わずに、一旦 VMware Player 上の仮想PCにインストールしてから、VMware Player 経由で USBメモリにインストールしてみたり。

Puppy Linux 5.7.1JP は kernel バージョンが3.2らしいので、VMware 上では「他の Linux 3.x カーネル」で新規仮想PCを作成。ウィザードの途中でHDDを作成するのだけど、SCSIで作成されてしまうので、設定を作った後、SCSIのHDDは削除して、IDEのHDDを追加。

まずは仮想PCのHDDに Puppy Linux をインストール。precise-571JP.iso (Live CD)をCD/DVDに指定して仮想PCを起動。CD で Puppy Linux が起動した後、メニュー → システム → GParted を起動して、HDD にパーティションを作る。デバイス → パーティションテーブルの作成。パーティション → New。今回は ext4 でフォーマット。

デスクトップ上のインストールアイコンをクリック。Frugalインストール?を選択。ウィザード形式でインストールできる。

HDDインストール後、仮想PCをシャットダウン。CD/DVDからisoを取り外して起動。HDDから起動するはず。

Operaブラウザを起動して、precise-571JP.iso をネットからDL。USBメモリへのインストール時に使うらしい。

USBメモリを差す。デスクトップ上に、自動で、USBメモリっぽいアイコンが表示される。

デスクトップのインストールアイコンをクリック。ブートフラッシュUSBインストーラを選択。ウィザード形式でUSBメモリにインストールされる。

これで、Puppy Linux を起動できるUSBメモリができた。

ただ、アプリをどんどんインストールしていくと、ユーザ設定用のファイルに保存されてしまうようで。512MBほど用意してたけど、あっという間に無くなってしまった。解決策はあるのだろうか。うーん。

Google Chrome をインストール。 :

Puppy Linux は .deb を使ってアプリのインストールもできるらしいので、Google Chrome の .deb を公式サイトからDLしてインストールしてみたのだけど、ちょっとよろしくないことが。
  • 英数字のフォントがおかしい。スケーリングに失敗した感じの、かなり汚い見た目。
  • Google Chrome 上では日本語入力ができない。Opera上では入力できるのだけど…。
  • Opera は Opera で、Flash Player をインストールした状態であっても、例えば SoundCloud で再生ができない。
この状態では、ちと使えないなと…。別のディストリを試したほうがいいのかもしれない。

2013/09/11(水) [n年前の日記]

#1 [cg_tools] 宝石のアニメパターンを作り直し

blender で出力したソレを縮小してアニメパターンにしようと試行錯誤してたのだけど。どう見ても回転してるように見えず。

_ドット絵描こうZ : 第22ドット 『回転アニメについて』 を参考にさせてもらいながら、結局、全部ドット打ちで描き直したり。

こんな感じに。
赤い飛行石

赤い飛行石スプライトシート
_赤い飛行石のスプライトシート(24x24 dot x 7 pattern)

Public Domain の画像として置いときます。

一応なんだかごちょごちょ動いてるようには見えるけど、やっぱり回転してるようには見えない…。何がいかんのかなあ…。

作業中は試しにアンチエイリアスもかけていたのだけど、どうも今一つで。こういうのはベタッとジャギッとしてるほうがいいような気がしてきたので、その方向で。

というか、よく動くパターンは、ドットそのままのほうがいいんじゃないかという気もする。セルアニメと同様、視覚情報を意図的に少なくしたほうが動きがよく伝わる場面もあるんじゃないのかしら。

バナナと星も描いた。 :

プレイヤーキャラの栄養補給には、やっぱりバナナだろうと…。背中にロケットを背負った青い ネズミ オポッサムもバナナで栄養補給してた記憶があるし。

星のパターンもあると色々便利。パーティクルにして飛ばしたり。

バナナ

バナナスプライトシート
_バナナスプライトシート(24x24 dot x 3 pattern)

星

星スプライトシート
_星スプライトシート(16x16 dot x 4 pattern)

これも Public Domain の画像として置いときます。…星は、背景が黒じゃないと分かりづらい気がする。

バナナもアニメさせないとアイテムとして分かりにくいんじゃないかな、と思って動かしてみたけれど…。まだ回転させたほうがそれらしく見えたのだろうか…。いや、そもそもバナナは動いたりしないものだけど…。

#2 [haxe] HaxeFlixelをまだ勉強中

Tiled Map Editor のオブジェクトレイヤーの情報も取得できるように修正したり。と言っても、タイル画像を置いたものにしか対応してないけれど。ポリゴン等は、実際使う場面が出てきたら対応しよう…。

アイテムを取ったら消えるように処理を入れてみたり。なんだかゲームっぽくなってきた。

アイテムを取った際に、FlxEmitter を使ってパーティクルを飛ばしてみようとしたのだけど、FlxEmitter.makeParticle() が思った通りに動かなくてハマったり。第一引数に画像を ―― BitmapData を与えれば表示してくれるのかなと思ったら、反映されずに標準画像(default.png)が表示されてしまう。結局、FlxParticle を生成して、その FlxParticle に画像割り当て・アニメパターンを設定して、必要な個数分、FlxEmitter に add していくやり方で表示できるようになった。

本来、Flixel の FlxEmitter には、minParticleSpeed や maxParticleSpeed というプロパティがあるらしいけど。HaxeFlixel の FlxEmitter には存在してないらしい。とりあえずそこは諦める。

Flixel には、 FlxU という、便利なメソッドがまとめられたクラスがあるらしいのだけど。HaxeFlixel には FlxU 自体が見つからなくておかしいなと。情報を検索してみたら、HaxeFlixel は鋭意開発中のライブラリなので、FlxU はバラバラになった状態であちこちに分散してる状態、かつ、結構なメソッドが未実装だそうで。具体的には、FlxU.getTicks() 等が無かったり。仕方ないので、OpenFL 内のメソッドを代用・流用することでどうにかした。FlxU.getTicks() は、flash.Lib.getTimer() を使う、みたいな。

Haxe には sprintf() が無いので、StringTools.lpad(元文字列, 埋め用文字, 全文字数) を使ってどうにかした。

#3 [dtm] SE作成中

アイテムを取る時の音や、走ってる時の音を、FL Studio を使って作成中。

アイテムを取る時の音は、Sytrus や Autogun でベルっぽい音を鳴らしてどうにか。「パキーン」という音を鳴らしたいので、「パ」と「キーン」で、音色や音程を変えてみたりとかそんな感じ。

走ってる時の音については、テンポ(?)の求め方について少し悩んでしまったり。 実際に180BPMで「タッ」の音を並べてみて、EDGE2でアニメ再生させながら同時に鳴らしてみたら、大体合ってるような気がしてきた。もちろん、機械的に同じ音を鳴らしてたら変なので、ベロシティを弄ったり、Cut offを弄ったりして、それぞれの音にバラつきを。

本当は地形によって足音を変えたほうがいいのだろうけど、HaxeFlixel で、キャラのすぐ下の地形コードを取得する方法はあるのだろうか…。自前でアタリ判定すればそういうこともできるだろうけど。

2012/09/11(火) [n年前の日記]

#1 [windows] pdf関係のアレコレをインストール

Windows7 x64 上に、pdf関係のソフトをインストールした。

印刷時にpdfとして書き出せる、CubePDF を、1.0.0 RC3 にアップデート。

出力時に 300dpi に固定されてるっぽいのだけど。 _今日の戯言(2012-08-31) という記事で、レジストリを弄れば 600 dpi にできるという話を見かけて試してみたり。
[HKEY_CURRENT_USER\Software\CubeSoft\CubePDF\v2] "Resolution"=dword:00000004

今日の戯言(2012-08-31) より



PDF X-change Viewer もインストール。しばらく試用してみようかと。

pdf出力とDropbox利用で少し便利さが分かったような。 :

PC上でレシピを探して、印刷時にpdfとして出力して。Dropboxの同期フォルダに保存。Androidタブレット端末 IdeaPad A1 を台所に持っていって、Dropboxのフォルダを開いてpdfを表示して、それを見ながら料理を作ったり。

今までは、一々プリンタでレシピを印刷して台所に持ち込んでいたわけで。ソレに比べると、なんだかちょっと便利な感じ。

ただ、お袋さんが同じものを作ろうとした際に、ちょっと困るかもしれないけど。お袋さんは紙に印刷されたレシピしか見れない人なので。それと、水で濡れた手でタブレット操作はできないのはちょっとアレだなと。

2011/09/11() [n年前の日記]

#1 [anime] 平成ライダー、凄いなあ

ロケットライダーの1話と2話を視聴。勢いがあるなあ…。役者さんの演技だけがアレだけど。オーズの人の安定感を見てしまった後だと…。まあ、役者さんは今後グングン育ってくれるはずだからアレだけど。それにしても、月面の1/6の重力を表現しようと努力していたあたりが素晴らしいなと。最初から映像にすることを諦めたりしないその姿勢に、なんだか目頭が熱く…。

ちょっと前にオーズの最終回も視聴してたのでその感想もメモ。展開に感心した。平成ライダーシリーズの最終回は、予算もスケジュールも無く、更に次の企画でスタッフも取られ、なんだか悲しい出来になってしまう印象があったのだけど。都市の上空に巨大なソレが出現するわ、空中戦はするわ、役者をワイヤーで吊るわ、おそらくかなり厳しい状況だろうに、よくぞここまで、みたいな。その進化ぶり・発展ぶり・スタッフの心意気に、なんだか目頭が熱く…。

2010/09/11() [n年前の日記]

#1 [digital][sound] V-85のノイズが酷過ぎる

OLYMPUS V-85を毛布に突っ込んで録音してみたら、「サーッ」という感じのノイズが入ってた。SONY ECM-PC50をV-85に繋いで録音してみたり、IdeaPad S10-2 + SONY ECM-PC50 で録音したソレと比較してみたけど。内部でノイズ出しまくりのはずのノートPC+マイクのほうが、まだノイズが少なくて使い物になるという。

V-85は、ダメ過ぎる。Audacityでノイズ除去すると音が変わってしまうし。録音した音を加工編集して別の何かに使う、という用途では、V-85は使えない。まあ、音声メモ程度なら問題ないのだろうけど。というか、価格帯やシリーズのラインナップからして、音声メモ程度を念頭に置いて企画設計された製品なのだろう。しかしこれでは自分の目的は果たせない。

まさか、録音専用機器が、ノートPC+マイク以下の音質だったとは。生録にもオススメ、みたいなことが公式サイトに書いてあったけど。このノイズの大きさでは色々とダメだろ。ああ、大失敗。金をドブに捨てたも同然。トホホ。

金輪際、OLYMPUS製品は買わないことにしよう。このメーカの製品はヤバい。そういう印象を持った。

で。他メーカの、ノイズが少ない製品について、色々調べてみたけど。えてして、24bit・96KHzでPCM録音できる等、自分にとってはオーバースペックの凄い製品ばかりで。そこまでの性能は求めてないんだが…。

2009/09/11(金) [n年前の日記]

#1 [nitijyou] Perlスクリプト修正中

こういう削り方をしていいよ、みたいな連絡が。概算を出してみたら、なんとか目標容量の前後のサイズになってくれそうな状態に。

バイナリ化するところまではできた。

2008/09/11(木) [n年前の日記]

#1 [zatta][comic] オタキング岡田氏は噺家なのだろうな

昨日だったか一昨日だったか忘れたけど、NHK総合でBS漫画夜話?が流れてて。オトコグミ?なる漫画についての回だったのだけど。岡田氏の発言内容を聞いていて、この人は評論家には程遠いというか、噺家なんだろうなとなんとなく。

雑誌連載作品なら、雑誌をパラパラめくったときに左側のページのほうが目に飛び込んできやすいから、左側のページのコマ割り・レイアウトを派手にする傾向があるとか。登場人物の台詞1つずつを糞真面目に1コマずつ収めていったら時間経過が冗長になってしまうので、同時に何かが起こってることを示すために異なる構図をあえて1コマに入れてしまうときもあるとか。複数の人物が皆同じ方向を向いて叫んでいたら静的な画面の印象になるからあえてカメラ位置をそれぞれ変えて描いてみるのもありだろうとか。そういったことを鑑みて、「この作家はこのコマで、こういうことを読者に感じさせようとして、あえてこういうコマ割り・構図・レイアウトにしたのだろう」「かなり意識的にこういう構成にしてるのだろうな」ぐらいのことを考えるのがフツーのオタクかなと想像するのだけど。岡田氏の場合、「連載で疲れ始めた時期だからこんな変なコマ描いちゃったんだよ!(笑) コレ、絵になってないもん! 疲れきってるよ!(爆笑)」等を平気で言い出すのでなんだかなと。なんというか、その業界の技術面とかノウハウ等の話をかなりそっちのけにして、凡人でも思いつきそうな低レベルな話になんでも引き下げちゃう・貶めてしまいがちな印象を受けたり。

要するにあの人は、落語の人情話?っぽいストーリーを勝手に作らずには居られない人 ―― 評論家や解説者の類じゃなくて、あくまで噺家なんだろうなと。たとえば、ゲド戦記の宮崎ゴロー監督の話なんかは典型的な例のような気も。関連性がなさそうな情報を組み合わせて、一つの見事なストーリーをでっちあげてしまう。そういう能力には長けている感が。

まあ、当人の公式サイトに、自身を噺家として強く認識してる的文章があった記憶もあるし。意図してやってる、のだろうと想像するのだけど。あの人の話を聞くときは、あくまであの人が作った妄想プチストーリー・落語モドキを聞かされている、と、聞き手のほうで意識しつつ話を聞いてあげないといかんのかもしれんなあ、と。

つーか、いしかわ氏と夏目氏に挟まれたら、そういう方向の芸で場を盛り上げる以外に、居場所ないよなという気もしてきた。レギュラー陣の構成を考えると仕方ないのか。あの人も大変なんだなあ…。という話にまとめてしまうのが岡田流、みたいな?

そんな電波が飛んできたのでメモ。みたいな?

2007/09/11(火) [n年前の日記]

#1 [pc][digital][windows] サイトに載せているデジカメ画像をDVDプレイヤーで再生したいという相談を受けた

親父さんの友人のo氏からそういう相談を受けて悩んでしまったり。どういう手法があるんだろう…。 DVDプレイヤー = TVに繋ぐタイプの再生機器、なんだろうな。となると…。静止画像を使って、スライドショーのような映像を作成して、それをDVD映像としてDVDに記録する、という作業になるのだろうか?

o氏の使ってる記録型DVDドライブは、 _RICOH MP5125A のはず。以前自分が譲ったドライブがそのまま使われているのであれば、だけど。

添付ソフトの、 _neoDVD standard v4.0 てのが、「プレーヤーで再生出来るオリジナルDVDをシンプル操作で作成。」と謳われている。映像を用意できれば、これでなんとかなるだろうか。

他の添付ソフトに、 _WinProducer 3 てのもあるらしい。「デジタルビデオカメラなどから取り込んだデジタル映像を利用して、ムービークリップの多彩な編集が行えます。」と書いてある。スクリーンショットや取り込み可能形式を見る限り、どうやら静止画像も取り込めそう。つまり、WinProducer 3 でスライドショー映像を作って、neoDVD standard 4.0 でDVD+Rに書き込む、ということになるのだろうか。

_DVDプレーヤーで見られるデジカメ写真集を作りたい:デジタルARENA :

  • DVD MovieWriter 4
  • DVD SlideTheater2
  • デジカメde!!ムービーシアター
  • 蔵衛門2005プロ DVDホームシアター
といったソフトで、そういったDVDを作成できるらしい。最初からそういう需要に対応してるのはヨサゲ。

o氏はデジカメde同時プリントユーザなので、もしかすると _デジカメde!!ムービーシアター2 あたりなら操作が判りやすいかもしれず。でも、値段がちょっと高いな。

値段的には _DVD SlideTheater2 が安くていいのかもしれず。いや、 _ソースネクスト PowerProducer Personal も、静止画からDVD作成ができると書いてあるから、ひょっとするとそちらのほうがいいか。これなら1,980円だし。と思ったが、PowerProducer EXPERT と違って、「DVD-Video PC Autheringロゴ取得」をしてないのだな。>Personal。それに、Powerナントカの映像編集・作成系ソフトは、基本的に動作が不安定という話も聞くし…。

_インストール無しでできる簡単スライドショー デジ物語 デジカメ編で作るDVD - [CG・画像加工]All About :

ちょっと変わり種。DVD-RWの中に、作成ソフトが入っている・使い捨てのプログラムが入っているらしい。

_DVDスライドショー作成 | パソコンなら何でもできる! :

_Microsoft Windows フォトストーリー3 を使ってスライドショー的DVDを作る記事。DVD記録ドライブには、えてして動画データをDVD映像として変換・DVD記録メディアに書き込むソフトが添付されてる場合がほとんどなので、Windows フォトストーリー3を使えば、ほとんど無料で作成できる。…一旦、wmvで書き出した後、それを再度不可逆圧縮してDVD映像にするのだろうから、画質は更に悪化するだろうけど。

試しに、Windows フォトストーリー3 をインストールしてみた。ウイザード形式でスライドショーが作れる。操作は非常に簡単。複数の画像に対してアニメーション変更等をしたい場合は結構面倒そうだけど。

出来上がった wmv を、DVDドライブに添付されてた PowerProducer Gold を使って DVD-Video形式に変換。PowerDVDで再生してみた。GeForce6200Aカードを経由してTVに表示してみたけど、結構イイ感じ。画質劣化も想像してたほど酷くない。そもそも、TVの表示品質自体、さほど良くないだろうから、それで気にならないのかもしれず。

_デジカメ写真で簡単にDVDスライドショーを作成する。 :

_DVDStyler というソフトが肝らしい。

_プレイヤーがJPEG対応でしたら、画像をデータとして焼けばスライドショーで再生されます。 :

家庭用のDVDプレーヤーで再生するには、プレイヤーがJPEG対応でしたら、画像をデータとして焼けばスライドショーで再生されます。対応してなければ、スライドショーを作成し、オーサリングソフトでDVD-Video形式で作成します。

写真が好きでデジカメで撮ってよくスライドショーなどにして鑑賞しておりますが遠... - Yahoo!知恵袋 より

jpgを勝手に再生してくれるプレイヤーが存在していたとは…。

ざっと検索したところ、たとえば _2002年頃の日本メーカ製プレイヤー でも、既にそういう機能がついてたりするらしく。また、5千円台で買えるアジア製の怪しいプレイヤーであっても、えてしてそういう機能がついてるようでもあり。すると、今時の環境なら、jpegファイルをCD-Rにただ入れておくだけで、TVで再生できてしまうのだな。

_COMment book | Picasaでスライドショーのムービー作成 :

Picasa2でもその手のムービーが作れるのか。知らなかった…。

ということで試しにインストール。ムービーを作成してみた。

Windows フォトストーリー3 と比較した場合のメリット・デメリットは、ざっと見た感じでは、以下のとおり。
Windows フォトストーリー3 と Picasa2 の違い
ソフト名Windowsフォトストーリー3Picasa2
codec選択・設定できるかwmv(WindowsMedia)形式のみ選択・設定可能なので、画質の追及ができる。
BGMを付加できるか付加できる。BGMの作成も可能。付加できない。付加したいなら、別途、音楽データと、映像編集ソフトが必要。
縦長画像の表示縦長画像として表示する横長画像になるように勝手にトリミングする。表示されない部分が出てくる。

作成したDVD-Videoフォルダを、サンプルとしてアップしようかと思ったけど、フォルダサイズが100Mbyte以上になってしまったので、断念。

#2 [web][windows] 「木無」という漢字がホームページビルダーで書けないという相談が

o氏から相談が。「ブナ」という漢字をホームページビルダー7(以下HPB)で書こうとしたら「?」という文字になってしまうとかで。自分の手元のHPBでも試してみたり。…SJISやEUCじゃ表現できないからUnicodeにしろや、と言われる。漢字コードの問題か。

htmlを保存するときに Unicode にして保存すればOK、と伝えるが、o氏の手元では漢字コード選択欄にUnicodeが出てこないらしい。…自分の試したHPBは、最新版の V11だった。V7はUnicode保存に対応してなかったのか。

Unicode対応のエディタ等でhtmlソースを開いて、手作業で編集する方法もあるかもしれないけど。相手先は全てのhtmlをHPBで編集してる。故に、おそらく、Unicodeで記述されたページを、うっかり開いてしまって文字が消滅したりするであろう予感。…とりあえず「ブナ」と書いておくことを勧めた。あるいはそこだけ画像にするとか。

何か回避策はないのかな。特定部分に対してのみ、「Unicodeでこの文字を出してくれ」的指定をするとか。…ページ全体の漢字コードとの兼ね合いもあるだろうから、難しいか。

_文字実体参照・数値文字参照 HTML辞典 :

_数値文字参照(NCR) - by AOK
_文字列 → 数値実体参照変換

数値文字参照なるものを使えば表示できるのか。知らなかった…。

「木無」の場合、
橅
になるらしい。HPBでsjis保存しつつ、「HTMLソース」画面で上記の文字列を挿入してみた。HPB上の「ページ編集」画面では、文字が出てこない・そこに文字があることすら判らないが、「プレビュー」画面、あるいは、IEやFirefoxで該当ページを開くと、「木無」が表示された。

しかし、これって、どの環境でも文字が表示されるのだろうか? …まあ、o氏のサイトを閲覧する人は、えてしてWindows+IEユーザだろうし。o氏の友人のサイトは、IEに特化したレイアウト・JavaScript等を使いまくりなわけだから、コミュニティ(?)的にIEのみが対象なんだろう。であれば万が一、他のOS・ブラウザ等で見えなくても、気にする必要はないよな。ということで。

_株式会社ジャングル | IBM ホームページ・ビルダーV9+はじめての公開サービスパック :

■バージョン 9.0.1.0 から 9.0.2.0 への修正内容

(中略)
* ソースビューに数値文字参照で入力した文字列が、保存後に削除される場合がある。

株式会社ジャングル | IBM ホームページ・ビルダーV9+はじめての公開サービスパック より

バージョンによっては不具合があるのか。

#3 [cg_tools] _新感覚3DCG動画作成ソフト Motion Impact 1枚の写真が立体ムービーに?!

2004年の情報。そのままアニメに使えそうな。

ていうか。もうどこでも売ってないっぽい。こういうソフトを必要としてる人達の間にはもう行きわたってしまった = 売れなくなった、ということなんだろうか。あるいは他のソフトで代替できるようになってしまったのか。

#4 [digital] mp3が不可逆圧縮であることを知らずに使ってる人って結構居るんじゃないのかという不安があるのだけどどうなんだろう

数日前に _MP3Gain という音量変更ツールについて検索して以来、どうも気になっていたり。あちこちのページを眺める限り、mp3やaacの不可逆圧縮データからwav等のベタデータ(?)への変換、あるいはその逆が、結構無頓着に行われている印象を受けたわけで。「mp3から音楽CDを作れます」等の言を喜々として言われても…。なんとなくだけど、巷では、各ファイル形式の概略すら把握しないまま不可逆圧縮を無駄に繰り返してる人が居たりするんじゃないのかという不安が。どうなんだろう。

いやまあ、音質どうこう・情報の損失より、とにかく利便性をとるという方針もアリだとは思うのですが。つーか自分も、mp3→aac変換してみても音の違いがさっぱり判らなかったりするわけで。…ビットレートをグンと落として変換したならまだしも、似たようなビットレートで2〜3回の不可逆圧縮なら、世間では質的に許容範囲なのかもしれない。これがまた、歳をとればとるほど、確実に聴力は劣っていくわけで。若いころは「音が悪くなったな」と気になっても、歳をとった後に同じデータを聞いてみたら全然気にならなくて、本人にとっては幸せな音楽ライフを送れる、かもしれんし。

音は、不可逆圧縮による劣化がわかりづらい気がする。これが動画なら、不可逆圧縮を何度もかけることで劣化していくのが、比較的判りやすいのだけど。たとえばYouTubeとか結構ヒドイ画質になってるし。…人間の耳って、本当にいいかげん。

2006/09/11(月) [n年前の日記]

#1 [iappli] 参考になるソースを送ってもらった

眺めつつ悩んでいたり。プリプロセッサを通さないといけないんだよなぁ…。うーん。

#2 [nitijyou] サーバが反応しなくなってちょっと焦ったり

ひっきりなしにサーバにアクセスが来てることに気づいた。なんだろうなと。

ログインしてプロセスを見ようとしたがそもそもログインできず。ちょっと焦る。ルータのログを見たらDos Attack がどうとか残ってる。ますます焦る。

もしかして攻撃されてる最中なのか。あるいは既に攻撃が成功して権限を取られて踏み台にされて他所のサーバを攻撃中なのか。ガクガクブルブル。

ログインできないのでは何もチェックできない。泣く泣くリセットボタンを。<ホントはマズイ気もする。LANケーブルを外して再起動してログをチェックする。…なんか「golgo」なる文字列のドメインから盛んにアクセスされてたっぽい。「golgo」と言えば…「殺し屋」だ! ガクガクブルブル。

などとビクビクしていたが。どうやら、とあるニュースサイトで、日記中の一記事が取り上げられて、それでアクセスが増えただけ、だったらしい。いやはや、焦ったー。

プロセスを見ると、/usr/bin/perl 〜 がズラリと並ぶ。hnsがやっぱり重いんだろうなぁ。でも、特定ページを表示してる = hnsのキャッシュが効いてるはずだから hns 自体の処理はそんなにかかってないような気もする。どちらかというと、perl の起動コストがバカにならないということなのかもしれん。

とりあえず、Apache の設定だけでもちょっと見直したり。KeepAlive 関係とか、MaxClients とか。

改善できるとしたらどこだろう。 :

hns を mod_perl に対応させるとか。でも、自分には難易度が高すぎる。もっと Perl の勉強をしないと。キャッシュが効かなくなるのもなんかアレだし。

そもそも静的出力・html出力する方向に変えてしまうとか。でも、コメント機能は使いたい。となるとやはり動的出力の方向で動かすことになるだろうし。

hns の公式(?)な改善策として、「ソフトウェア的に改善できないか悩むより、さっさとハードウェアを増強しろ」てのがあるわけだけど。その方針に素直に従って、現在の自宅サーバ… Pen3 500MHz、Memory 192MB のPCを、よりスペックの高いものと置き換える、とか。とはいえ、消費電力に関しても気になるわけで。Pen4以降のCPUは電気食うし熱出すしで使いたくないし。となると、C3・C7あたりのCPUを使ったほうがいいのか。でも C3・C7は圧倒的に処理性能自体は低いだろうし。Pen3ベース 1GHz あたりの中古PCでも買った方がいいのかしら。

ということでヨサゲな中古PCが売ってないかネットで探したり。 :

1GHz ぐらいの中古PCだと、今では1万前後で買えてしまうのですな。しかし、省スペース型のケースになってしまうのがちょっと気になる。熱がこもる = HDD の寿命が短くなりそう。Memory がそんなに多くない品ばかりなのもアレだし。今時 Pen3系のM/Bに挿せる増設メモリなんてあるのかどうか。CPU-FAN も気になるな。中古だから寿命がきてるかもしれない。でも、Socket370 対応の CPU-FAN なんて今時売ってるのか怪しいし。

などと悩んでるうちに、自宅サーバへのアクセス頻度がグンと減ってきた。…どうせたまにしかないことだから、別にこのままでもいいかな。<モノグサ。

2005/09/11() [n年前の日記]

#1 [anime] _Changerion Memorial - シャンゼリオン・メモリアル

なんとなくメモ。

「こぼれ話」に目を通すと、白倉Pの手腕も井上氏の脚本も期待できそうな気になってくる。かもしれない。

#2 [anime] エウレカセブン、僕が○○を一番上手く〜の回

いや、全然違うけど。1stガンダムとは展開が違う。のだけど、なんとなく思い出してしまったり。どうやら次回、それっぽいキャラと遭遇するみたいだし。やはり砂漠では毛深いおじさんと美人な奥さんに遭遇しないと。砂漠というわけでもないか。

#3 [anime] マジレンジャー、中国の回

黄色の人って時間を戻そうとする展開ばかりだな。過去ばかり見ている男。それが黄色の人。というわけではないだろうけど。

考えてみると、黄色の人のキャラ設定じゃないとこういう話は作れないのだな。

#4 [anime] ライダーヒビキ、犬小屋の回

いいねぇ。いい。予想していたよりはるかに良かった。見終わった直後は各所に関して「???」だったけど。2chの特撮板でおそらくは正解であろうそれぞれの解釈を読んで目ウロコ。井上脚本、やるなぁ。こりゃスゴイわ。

犬小屋はこの作品そのものの比喩なのだろうか。現場に顔を出さなくてもいいのに自分で仕事を増やして、結果、現場を混乱させるわ、作り始めた犬小屋は途中で放置するわ。…仕事で建てているのはビルか何かだろうか。ビルに比べれば犬小屋は小さい。小さいけど、ちゃんと最後まで手を抜かなかった少年。…等々考えると複雑な気持ちになってくる。何にせよ、読もうと思えば色々と読める話で、とても面白い。

#5 [jiji][nitijyou] 選挙に行ってきた

悩みに悩んで、選んできた。

関係ないけど。電子投票になるのはいつの日か。一部の機材で動作に不具合が発生して信頼性が云々等の話をどこかで聞いた記憶もあるけど、まさか Windows を使ってるのではあるまいな。<偏見持ちすぎ。

夜にTVをつけてみたら、どうやら自民党が圧勝したらしい :

あらら。まさかここまで差がつくとは。てっきり世間は民主党に流れるものかと思ってた。予想は外れた。

にしても、ヤバイな。これじゃ自民だけでもトンデモな法案が通せてしまう。もう少しバランスがとれた結果になってほしかった。が、野党がアレじゃ、この結果も仕方ないか。

2004/09/11() [n年前の日記]

#1 [prog] Ruby勉強中

class 定義って、使う行の前に置かないといけないのか。一晩ハマった。トホホ。…なんだか公務員みたい。 *1

「p」ってなんだ? :

サンプルの中にやたら出てくる。困惑。

キーワード検索で _説明部分 発見。print の略でしたか。…BASIC の「?」みたいなもんかしら。<だったっけ?

「m」ってなんだ? :

_これ はわからない。うーん。

_イテレータ :

_open-uriを用いた簡単なデータ取得 :

おお。こんなライブラリが。感謝感激。ありがたや。 *2

404の時にopen-uriで止まっちゃう :

_rescue とやらを使えばいいのかしら。勉強せねば…。

_status なるメソッドがあるようなのだけど。どうやって使うんだべ。道は遠いであります…。

404なのに404を返してこないサーバがあるな…。また、503だか302だか403だかを返す場面もあるだろうし。それら取得失敗した時の値を必ず返してくれる実験用の環境はないかしらん。

それにしても :

凄いドキュメントの量。>Rubyのマニュアル。頭が下がりまする。

_Rubyなら、Perlなら :

ありがたや…。

*1: オイラが Perl の sub 感覚を引き摺っちゃってるだけなんですが(爆) …「定義」だから、本来ヘッダファイルに置かれるものなんだろうな >class。
*2: ちなみに自分がやりたいことは、URL と USER AGENT と Referer を指定して、ページを取得して、変数に入れること。

この記事へのツッコミ

Re: Ruby勉強中 by otsune    2004/09/12 21:43
http://www.amazon.co.jp/exec/obidos/ASIN/4798102288/
The Ruby Way―Ruby道への招待
が分量が多くて細かく書いて有りました。PerlとPythonとの差分についても役に立った。
他にもRubyの解説本は大量にでているんですが、全てはとても読めません……
Re: Ruby勉強中 by mieki256    2004/09/15 01:49
> The Ruby Way

おお。オススメ書籍情報、thxであります。助かるであります。
む。著者は外国の方でしょうか。ふむ…

#2 [anime] グランセイザー、悲劇のヒロインぶりっ子の回

演技にめっちゃ熱がこもってるなぁ。格闘家の人、ここぞとばかりに大絶叫。「なぜだっ! なぜなんだっ!」 いいねぇ。

#3 [neta] 変な夢を見たのでメモ

銀河鉄道999に乗り込む手塚キャラ。<マリンエクスプレスか。ヒゲオヤジが車掌にくってかかり、BJがハーロックと対峙。第7〜8世代まで作られて人間と変わらなくなってジェットパック背負って無理矢理飛んでるアトム。<ロケッティアか。博物館で働く第1世代と対面。

2003/09/11(木) [n年前の日記]

#1 [pc][web] オタスケマンしてきました

某氏からSOS。久々に車を運転して相手宅にお邪魔してきた。

業者もやるなぁ :

ソレ系業者の悪質なプログラムがどこかで入ってしまったらしく、IEを起動するたびソレ系ページが開いてうっとおしいのだと言う。実際見てみると、本来開きたいページは一応開いてくれるものの、ウインドウサイズがかなり小さくなり、代わりに業者サイトのページが画面一杯に開かれる。しかもタイトルバー非表示の画面なので、「閉じる」のボタンが見当たらない。一瞬閉じ方が判らなくなりそう。初めて感染例(?)を見たけれど、なかなか考えたもんだな、賢いなぁと、ついつい妙な感心を。

キャッシュ関連クリア、ActiveX関連を無効にして同じ動作を繰り返してもらったらソレ系ページは開かなかった。ActiveX関連で処理してるのだろうか。 _SpyBot(スパイウェア除去ソフト) をDL・インストールして検索してもらったら60ファイルほどリストアップされた。削除後に問題が出てもリカバリできるらしいので、試しにほとんどのファイルをバッサリ削除。その後、ActiveXを有効にしてIEを起動しても件のページは出なくなった。ひとまず解決。ただ、何かしらのアプリが起動できなくなったり、元々のIEのセキュリティ設定が変わってしまってる可能性は高い。そのへん様子見。

侵入元は不明 :

親父さんの知人の写真サイトを見てからおかしくなったと言うのだけれど、そのサイト自身は一般人が作った普通のサイトで怪しい内容は見つからず。英語のメッセージウインドウが突然開いてコレが怪しいのではと尋ねられたけど、内容を見る限りMIDIファイルの異常を伝えてるだけのように見えた。 *1 とりあえず、たまたま発現したのがその写真サイトを見てる時だったのではないかと想像。 *2 そのサイトを訪れる以前にどこかで侵入を許していたのだろう。

IEは危険 :

自分もソレ系業者サイトを閲覧してた時期はあるけれど、 *3 必ず、ActiveX、JAVA、JavaスクリプトはOFFにしてた。でもソレは、Moon や Sleipnir を使ってたから楽にOFF設定ができてたわけで。素のIEでソレらを行おうとすると、設定画面が奥底にあるのでツライはず。MSはIEのツールバー上に、それらのON/OFFボタンを実装しておくべきではないかと思ったり。あのへんの設定は奥底に入れちゃいけないと思う。

Mozilla系を普及する材料に使えないかな :

「IEで見るとこんなに危険。でもMozillaならこんなに安心。ソレ系サイトを見るならMozillaにキマリですよ!奥さん!」とか。

…「奥さん!」は違うか。「社長!」、かな?

*1: ただ、念の為、帰宅後に親父さんにも該当サイトを閲覧して確認してもらったけれど、親父さんのPCではMIDI云々のエラーメッセージすら出てこない。これはこれで謎。
*2: 例えば、もし自分が作るなら、即座に処理を行わず、多少はタイムラグを置いてから動くように作りそうな気がする。即座に処理を実行すると、どこで侵入したかバレてしまいそう。そのあたりの身元・証拠は一応隠したいのだろうし。
*3: 最近はサッパリ。ていうかそもそも巡回云々すらできてないし。ていうか業者サイトより同人のソレ系イラスト漁ってるほうが好みだったり(爆) 二次コン人間だしなぁ…。

#2 ウインカーを出さずに車線変更するドライバー

今日運転してたら3,4台ほど見かけた。交通ルール改正されたのかな。あるいは元から罰則は無かったのだったか。んなわけない。

その手の運転をするドライバーは見つけ次第免許を剥奪してしかるべきだと思う。安全運転を心がけていても事故が起きてしまうのに、最初から安全運転、いや、基本ルールすら守る気がないドライバーが何匹も道路に紛れ込んでたら間違いなく事故の可能性が激増する。あの手の輩は、これから殺人を行うと周囲に意思表示してると、そう判断すらしてしかるべきじゃなかろうか。「殺人?何言ってんの?」と思ったような人間なら尚の事運転してはいけないし、させてはいけない。自分が凶器 *1 を操ってるという基本的事実すら自覚・認識できない程度の知的レベルの人間が運転するなど狂気の沙汰だ。そもそも、そんな人間に免許を渡すだけでも既に犯罪ではないか。免許を渡した人間を直ちにその職から追放しないと。

米映画に出てくるような広い道路ならいざ知らず、日本の貧相で狭苦しく混雑した道路事情を考えれば、「俺、右にいくッスよ」「左にいくッス」を、たかだかレバー1本で他者に示す事すら満足に行えない…そんな種類の人間に道路や車を使わせてやる余裕なんて無いはずだけどなぁ。
*1: 60km/hで走ってる瞬間、自分達はビルの5階から車を落下させるのと同じだけの破壊力を有してる。これが凶器じゃないなら、一体何だ。

#3 [pc][linux][debian] Debian を入れてみるつもり

以下を参考にしながらチャレンジしてみるですよ。
_Debian GNU/Linux スレッドテンプレ
_Debian GNU/Linux 3.0(Woody) インストール 手順書
_私的Debian GNU/Linuxインストールマニュアル
現在、 _Debian GNU/Linux の CD から辿ってCDイメージをDL中。Non-USを落とせばいいのかな?

2002/09/11(水) [n年前の日記]

#1 忘却

忘れました。

2001/09/11(火) [n年前の日記]

#1 大変なことに…

台風で大変なことになってますね。

とか書こうと思ってたら、アメリカでとんでもないことが。 _(以下略)

#2 [seiji] 貿易センタービル炎上・崩落

アメリカで、とんでもないことが。

貿易センタービルに、中東の連中が、飛行機ハイジャックして「特攻」テロ?
しかもビル倒れちゃってるし。
中に居た人、飛び降りてたって? 110階立てのビルから…
…悪夢としか言いようが無い。
現場は地獄絵図に違いない…

半世紀も経って、「特攻」でアメリカ本土、しかも民間の施設が襲われるとは…
戦争になるのかなぁ…
リメンバー・パールハーバーよろしく、リメンバー・NY、などと言われるんだろうか。

あのビル作るときにも…
きっとプロジェクトXみたいにシンドイ思いした人達がたくさんいるんだろうなぁ…
あのビルに事務所構えた人達だって、シンドイ思いをしてきたんだろうなぁ…

モノを作り上げて喜ぶ人達と、
モノを破壊し人を殺して喜ぶ人達。
後者はこの世に存在してなくてもいいんじゃないだろうか。
deleteしてしまっていいんじゃないか。
…とか、つい思ってしまうのはいけないことでしょうか。
(この考えも矛盾を抱えていますが)

コトを起こした連中は、もし日本が今以上に国際的な影響力を持ち始めたら…
都庁あたりに特攻するんですかね。

オウムのサリン事件のときもそうだったけど、宗教野郎は何するかわからん。
人を幸せにする宗教もあるとは思う。
でも、不幸せにする宗教にハマってるヤツラの行動が、全てを台無しにする気がする。

2000/09/11(月) [n年前の日記]

#1 素材探し

FLASH利用のゲームの骨格は大体出来ました。
便利ッスね、スクリプト。
つか、アクションって言うの?
そのへんよくわかんないけど <ダメじゃん

骨格は出来たんで、見栄えをガッチリ整えるため、FLASHデータ作成に必要な参考資料や音声データを探したり。
PS版東鳩の、CG吸い出したりとか、音声吸い出したりとか…
…何を作るつもりなんだ?>自分

しかし音声データチェックしてたら頭クラクラしてきました。
WinAMPにドラッグ&ドロップして一つ一つ聞きながら、求めるモノを探してたんですが。
数千ファイルはあったのかな、アレ…
こんな夜中に俺は一体何をしてるんだろうという疑問(不安)がふつふつと…

つか、使っていいわけないだろ、という話も>音声データ
でもまあ、どうせ腐れ同人野郎のすることだし。
お遊びで作るモノですから、ってことで勘弁してもらおう… (´Д`;) <誰に?

それにしても、PS版東鳩ってホント膨大な音声データを持ってるんですね。ビックリ。
というか、喋るゲーム(ときメモとか?)ってのは皆大体こんな感じの量なんでしょうけど。
商品として出すためには、これ全部チェックして加工して、とかするわけで。
想像しただけで…ううっぷ。

それはそうと。
綾香サマのお声、萌え萌え。
声だけでも、もうたまりません…

1999/09/11() [n年前の日記]

#1 (NoTitle)というわけで朝から起...

というわけで朝から起きてました。正確には寝てないんだけど。今晩から夜寝る生活に戻すつもり。ってもうこんな時間なんですけど。なんだかなぁ。

メインマシンにガンガンアプリをインストール…してたら、なんか偉く不安定になってきて、すぐOSごと落ちるように (/_;) まいっちゃうな。こうなったら「写真屋専用マシン」「塗り人専用マシン」みたいにアプリ毎にマシン組まなきゃだな。ハハハ。…ハハハじゃねーよ!(なぜか激怒)
なんでこうすぐ不安定になるのか。同時に色々動かそうとすると問題が起きるのかな。とはいえ今更昔のDOS時代のようには戻れないし。複数のアプリが動かして作業するのは楽ですよね。一度知ってしまうともう戻れない。でもまあ人間のほうは得てしてその瞬間瞬間では一つのことしか出来ていないんだけど。何はともあれOSごと落ちるのは勘弁してほしいです>腐れWindows
…とか言うと「じゃあLinuxにしたら」なんて話になるので、もう言いません。ハイ。いや、メインマシン復旧と合わせてサブマシンにVine Linux入れようとはしたけど、メインマシンの面倒見るので手一杯です。復旧作業めんどくさいんじゃー (;/-o-)/ ┫

PhotoShop5.0からついてきたカラーマッチングなる機能が良くわからない。Adobeガンマで調整すると、デフォ状態よりかなり明るい画面になるんだけど、これってOKなのかな。オイラの環境で描いたCGを他の人の環境で見ると、暗い色合いになってる、なんて事態になるのではと危惧しているのですが。といってもモニタが違う時点でどう逆立ちしても同じように見えるはずはないんだけど。Macの人にも違う色合いで見えてるんだろうな。…気になるんだけど、あきらめるしかないのだろうか。むぅ。
え? ド下手な絵なんて見る気しないから関係無い? ぎゃふん。 くぅ、いつか見返してやる! 覚えてろヨ!(二人の子分とボロボロになりながら脱出用メカで退散 <お約束)

以上、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