2024/04/22(月) [n年前の日記]
#1 [python] PyOpenGLでモデルデータを描画したい
Python + PyOpenGL + glfw で、モデルデータを描画したい。とりあえず、wavefront obj形式のモデルデータを読み込んで描画できるだけでも助かる。
環境は Windows10 x64 22H2 + Python 3.10.10 64bit。PyOpenGL 3.1.6 + PyOpenGL-accelerate 3.1.6 + glfw 2.7.0。
環境は Windows10 x64 22H2 + Python 3.10.10 64bit。PyOpenGL 3.1.6 + PyOpenGL-accelerate 3.1.6 + glfw 2.7.0。
◎ ライブラリを探す :
wavefront obj形式を解析する処理を自分で書いてもいいのだけど、大人気のプログラミング言語、Python のことだから、絶対に誰かが既にそういう処理を書いてライブラリにしているはず。PyPI で検索してみた。
_PyPI - The Python Package Index
色々見かけたけど、PyWavefront とやらはどうだろう。
_PyWavefront - PyPI
_pywavefront/PyWavefront: Python library for importing Wavefront .obj files
_【Pythonライブラリ】「pywavefront」のサンプルコード | YuNi-Wiki
pip でインストール。
PyWavefront 1.3.3 がインストールされた。
_PyPI - The Python Package Index
色々見かけたけど、PyWavefront とやらはどうだろう。
_PyWavefront - PyPI
_pywavefront/PyWavefront: Python library for importing Wavefront .obj files
_【Pythonライブラリ】「pywavefront」のサンプルコード | YuNi-Wiki
pip でインストール。
pip install pywavefront
PyWavefront 1.3.3 がインストールされた。
◎ PyWavefrontの使い方 :
とりあえず、以下のように書けば、.obj と .mtl を読み込んでくれるらしい。
ただ、変数objに入った、このクラスが、どんな情報を持っているのかが分からない…。とりあえず、それらしい情報を print() で出力してみよう…。
テストに使ったモデルデータは以下。
_cube01.obj
_cube01.mtl
_suzanne01.obj
_suzanne01.mtl
_car.obj
_car.mtl
car.obj、car.mtl は、以下のデータを利用させてもらった。ライセンスがCC0なので、改変して利用してもOK。自由に使える。ありがたや。ほんの少しだけ修正して、ポリゴン数を微妙に減らして使ってみた。
_Car Kit | OpenGameArt.org
_Car Kit - Kenney
テストに使った Pythonスクリプトは以下。
_dump_obj.py
出力結果は以下。
_dump_obj_output.txt
どうやら、.mesh_list が持ってる情報を使えば、描画ができそうだなと…。
import pywavefront obj = pywavefront.Wavefront("hoge.obj")
ただ、変数objに入った、このクラスが、どんな情報を持っているのかが分からない…。とりあえず、それらしい情報を print() で出力してみよう…。
テストに使ったモデルデータは以下。
_cube01.obj
_cube01.mtl
_suzanne01.obj
_suzanne01.mtl
_car.obj
_car.mtl
car.obj、car.mtl は、以下のデータを利用させてもらった。ライセンスがCC0なので、改変して利用してもOK。自由に使える。ありがたや。ほんの少しだけ修正して、ポリゴン数を微妙に減らして使ってみた。
_Car Kit | OpenGameArt.org
_Car Kit - Kenney
テストに使った Pythonスクリプトは以下。
_dump_obj.py
import pywavefront infile = "cube01.obj" # infile = "suzanne01.obj" def dump_material(mat): print() print(f".name = {mat.name}") print(f".vertex_format = {mat.vertex_format}") print(f".vertices = {mat.vertices}") print(f".diffuse = {mat.diffuse}") print(f".ambient = {mat.ambient}") print(f".specular = {mat.specular}") print(f".texture = {mat.texture}") def main(): obj = pywavefront.Wavefront(infile) # obj.parse() print(f"file_name = {obj.file_name}") print(f"mrllibs = {obj.mtllibs}") print(f"vertices = {obj.vertices}") print(f"\nmaterials = {obj.materials}") # for matname, mat in obj.materials.items(): # dump_material(mat) print(f"\nmeshes = {obj.meshes}") # for meshname, mesh in obj.meshes.items(): # print() # print(f"Mesh name = {meshname}") # print(f"name = {mesh.name}") # print(f"faces = {mesh.faces}") # print(f"materials = {mesh.materials}") # print("\n# mesh.materials") # for mat in mesh.materials: # dump_material(mat) print(f"\nmesh_List = {obj.mesh_list}") for mesh in obj.mesh_list: print(f".name = {mesh.name}") print(f".faces = {mesh.faces}") print(f".materials = {mesh.materials}") for mat in mesh.materials: dump_material(mat) if __name__ == "__main__": main()
python dump_obj.py
出力結果は以下。
_dump_obj_output.txt
どうやら、.mesh_list が持ってる情報を使えば、描画ができそうだなと…。
- .mesh_list という配列の中に、各mesh が入っている。
- 各meshは、マテリアル(.materials) を持っている。
- そのマテリアルの中に、頂点配列(.vertices)も含まれている。
- 頂点配列は、テクスチャUV情報、法線情報、頂点座標値が、インターリーブされた形で入ってる。
- どんなインターリーブになっているかは、.vertex_format に入っている。
◎ インターリーブについて :
OpenGLのインターリーブについては、以下のページが参考になるかなと…。
_GPU本来の性能を引き出すWebGL頂点データ作成法 #WebGL - Qiita
_wgld.org | WebGL: インターリーブ配列 VBO |
要は、頂点座標、法線情報、テクスチャUV情報などを、頂点1つ毎にチマチマと並べている頂点配列の格納形式、ということでいいのだろうか。ただ、上記のページの解説によると、昔のGPUではインターリーブをすると高速化できたけど、今のGPUでは遅くなるそうで…。
そのインターリーブとやらは OpenGL 1.1 でも使えるのだろうかと気になったけど、Microsoftのページでは、「OpenGL 1.1以降で使える」と書いてあるようだなと…。
_glInterleavedArrays 関数 (Gl.h) - Win32 apps | Microsoft Learn
_GPU本来の性能を引き出すWebGL頂点データ作成法 #WebGL - Qiita
_wgld.org | WebGL: インターリーブ配列 VBO |
要は、頂点座標、法線情報、テクスチャUV情報などを、頂点1つ毎にチマチマと並べている頂点配列の格納形式、ということでいいのだろうか。ただ、上記のページの解説によると、昔のGPUではインターリーブをすると高速化できたけど、今のGPUでは遅くなるそうで…。
そのインターリーブとやらは OpenGL 1.1 でも使えるのだろうかと気になったけど、Microsoftのページでは、「OpenGL 1.1以降で使える」と書いてあるようだなと…。
_glInterleavedArrays 関数 (Gl.h) - Win32 apps | Microsoft Learn
注意 : glInterleavedArrays 関数は、OpenGL バージョン 1.1 以降でのみ使用できます。glInterleavedArrays 関数 (Gl.h) - Win32 apps | Microsoft Learn より
◎ PyWavefrontを利用して描画してみる :
PyOpenGL 3.1.6 + glfw 2.7.0 + PyWavefront 1.3.3 を利用して、wavefront obj形式のモデルデータを読み込んで描画してみる。
以下のような見た目になった。
_draw_opengl_glfw.py
render() の中で OpenGL関係の描画をしているから、そこを見れば大体分かりそうだけど。肝は以下だろうか…。
PyWavefront を使って読み込むと、マテリアル毎に、そのマテリアル情報を使って描画したい頂点配列をまとめてくれるので…。
インターリーブのフォーマットについては、今回のテストモデルデータを使う限り、GL_T2F_N3F_V3F を固定で指定しちゃって問題無さそうだったけど。本来は、.vertex_format から指定すべき値を決めないといけない気がする。
ちなみに、GL_T2F_N3F_V3F は、テクスチャUVがfloatで2個分(=T2F)、法線情報がfloatで3個分(=N3F)、頂点座標がfloatで3個分(=V3F)、の順番で入っていると示す値、だと思う。
さておき。描画されたモデルの色が、なんだかおかしい気がする…。blender上で表示されたソレとは随分違う色になってしまっていて…。OpenGL側でマテリアルの指定をするあたりで何か間違えてしまっている気がする。
以下のような見た目になった。
_draw_opengl_glfw.py
import glfw from OpenGL.GL import * from OpenGL.GLUT import * from OpenGL.GLU import * import pywavefront model_kind = 2 modeldata = [ {"file": "./cube01.obj", "scale": 2.0}, {"file": "./suzanne01.obj", "scale": 5.0}, {"file": "./car.obj", "scale": 7.0}, ] SCRW, SCRH = 1280, 720 WDWTITLE = "Draw wavefront obj" FOV = 50.0 light_pos = [1.0, 1.0, 1.0, 0.0] light_ambient = [0.2, 0.2, 0.2, 1.0] light_diffuse = [0.9, 0.9, 0.9, 1.0] light_specular = [0.5, 0.5, 0.5, 1.0] winw, winh = SCRW, SCRH ang = 0.0 obj = None def init_animation(infile): global ang, obj ang = 0.0 obj = pywavefront.Wavefront(infile) def render(): global ang, obj ang += 45.0 / 60.0 # init OpenGL glViewport(0, 0, winw, winh) glMatrixMode(GL_PROJECTION) glLoadIdentity() gluPerspective(FOV, float(winw) / float(winh), 1.0, 1000.0) # clear screen glClearDepth(1.0) glClearColor(0, 0, 0, 1) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) glMatrixMode(GL_MODELVIEW) glLoadIdentity() glDepthFunc(GL_LESS) glEnable(GL_DEPTH_TEST) glEnable(GL_BLEND) glEnable(GL_NORMALIZE) glEnable(GL_CULL_FACE) glFrontFace(GL_CCW) # glCullFace(GL_FRONT) glCullFace(GL_BACK) # set material glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE) glEnable(GL_COLOR_MATERIAL) # set lighting glLightfv(GL_LIGHT0, GL_POSITION, light_pos) glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient) glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse) glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular) glEnable(GL_LIGHTING) glEnable(GL_LIGHT0) # obj move and rotate glTranslatef(0.0, 0.0, -20.0) scale = modeldata[model_kind]["scale"] glScalef(scale, scale, scale) glRotatef(20.0, 1, 0, 0) # glRotatef(ang * 0.5, 1, 0, 0) glRotatef(ang, 0, 1, 0) # draw obj for mesh in obj.mesh_list: for mat in mesh.materials: r, g, b, a = mat.diffuse glColor4f(r, g, b, a) gl_floats = (GLfloat * len(mat.vertices))(*mat.vertices) count = len(mat.vertices) / mat.vertex_size glInterleavedArrays(GL_T2F_N3F_V3F, 0, gl_floats) glDrawArrays(GL_TRIANGLES, 0, int(count)) def key_callback(window, key, scancode, action, mods): if action == glfw.PRESS: if key == glfw.KEY_ESCAPE or key == glfw.KEY_Q: glfw.set_window_should_close(window, True) def resize(window, w, h): if h == 0: return set_view(w, h) def set_view(w, h): global winw, winh winw, winh = w, h glViewport(0, 0, w, h) def main(): if not glfw.init(): raise RuntimeError("Could not initialize GLFW3") return window = glfw.create_window(SCRW, SCRH, WDWTITLE, None, None) if not window: glfw.terminate() raise RuntimeError("Could not create an window") return glfw.window_hint(glfw.CONTEXT_VERSION_MAJOR, 1) glfw.window_hint(glfw.CONTEXT_VERSION_MINOR, 1) glfw.window_hint(glfw.OPENGL_PROFILE, glfw.OPENGL_CORE_PROFILE) glfw.window_hint(glfw.DEPTH_BITS, 24) glfw.set_key_callback(window, key_callback) glfw.set_window_size_callback(window, resize) glfw.make_context_current(window) glfw.swap_interval(1) set_view(SCRW, SCRH) # get csv filepath infile = modeldata[model_kind]["file"] if len(sys.argv) != 2 else sys.argv[1] init_animation(infile) # main loop while not glfw.window_should_close(window): render() glfw.swap_buffers(window) glfw.poll_events() glfw.destroy_window(window) glfw.terminate() if __name__ == "__main__": main()
render() の中で OpenGL関係の描画をしているから、そこを見れば大体分かりそうだけど。肝は以下だろうか…。
import pywavefront # ... obj = pywavefront.Wavefront(infile) # ... # draw obj for mesh in obj.mesh_list: for mat in mesh.materials: r, g, b, a = mat.diffuse glColor4f(r, g, b, a) gl_floats = (GLfloat * len(mat.vertices))(*mat.vertices) count = len(mat.vertices) / mat.vertex_size glInterleavedArrays(GL_T2F_N3F_V3F, 0, gl_floats) glDrawArrays(GL_TRIANGLES, 0, int(count))
PyWavefront を使って読み込むと、マテリアル毎に、そのマテリアル情報を使って描画したい頂点配列をまとめてくれるので…。
- マテリアル単位でループ処理する。
- マテリアル情報を元にしながら色の設定を行う。
- glInterleavedArrays() でインターリーブのフォーマットを指定。
- glDrawArrays() で頂点配列の描画を指示。
インターリーブのフォーマットについては、今回のテストモデルデータを使う限り、GL_T2F_N3F_V3F を固定で指定しちゃって問題無さそうだったけど。本来は、.vertex_format から指定すべき値を決めないといけない気がする。
ちなみに、GL_T2F_N3F_V3F は、テクスチャUVがfloatで2個分(=T2F)、法線情報がfloatで3個分(=N3F)、頂点座標がfloatで3個分(=V3F)、の順番で入っていると示す値、だと思う。
さておき。描画されたモデルの色が、なんだかおかしい気がする…。blender上で表示されたソレとは随分違う色になってしまっていて…。OpenGL側でマテリアルの指定をするあたりで何か間違えてしまっている気がする。
[ ツッコむ ]
#2 [prog] 平方根を使ったほうが速いらしい
思考メモ。
とあるPythonスクリプトを書いてる際、途中で平方根を求める部分が出てきて、特に何も考えずに sqrt() を使って書いてしまったのだけど。ふと、「平方根を求めるところで遅くなったりしないのかなあ?」と不安になった。
気になったので少しググってみたら…。今時のCPUは、平方根を求めるための専用のCPU命令が用意されていたりするから、実は素直に平方根を使って計算しちゃったほうが一番速かったりする、と知った。えー。そんなことになってたのか…。今頃になって結構ビックリ。いやまあ、使ってるCPUにもよるだろうし、コンパイラによっても違ってくるだろうし、各プログラミング言語の sqrt() がどういう実装をしているかも絡んでくるのだろうけど。
OpenGLのインターリーブの件もそうだろうけど、ハードウェアの仕組みが変わったことで、昔の高速化手法を使うとかえって遅くなってしまう場面があちこちにあるのかもしれないなと…。
とあるPythonスクリプトを書いてる際、途中で平方根を求める部分が出てきて、特に何も考えずに sqrt() を使って書いてしまったのだけど。ふと、「平方根を求めるところで遅くなったりしないのかなあ?」と不安になった。
気になったので少しググってみたら…。今時のCPUは、平方根を求めるための専用のCPU命令が用意されていたりするから、実は素直に平方根を使って計算しちゃったほうが一番速かったりする、と知った。えー。そんなことになってたのか…。今頃になって結構ビックリ。いやまあ、使ってるCPUにもよるだろうし、コンパイラによっても違ってくるだろうし、各プログラミング言語の sqrt() がどういう実装をしているかも絡んでくるのだろうけど。
OpenGLのインターリーブの件もそうだろうけど、ハードウェアの仕組みが変わったことで、昔の高速化手法を使うとかえって遅くなってしまう場面があちこちにあるのかもしれないなと…。
[ ツッコむ ]
2023/04/22(土) [n年前の日記]
#1 [cg_tools] canvas-zoomを試用
画像生成AI、Stable Diffusion web UI 上で、img2img の inpaint等を使う際、マスク部分を塗っていくのがシンドイ。画像が等倍表示になっているので、細かいところを塗り分けるのがちょっと難しくて。
今までは、Windows10の拡大鏡を利用して、少しは改善できないかと試していたのだけど…。Stable Diffusion web UIの拡張機能として、canvas-zoom というものがあると知ったので導入してみた。
_canvas-zoom - work4ai
_GitHub - richrobber2/canvas-zoom: zoom and pan functionality
インストールは、Stable Diffusion web UIの拡張機能一覧から選択。
最低限の使い方は以下。
これだけでも随分と作業が楽になった。
今までは、Windows10の拡大鏡を利用して、少しは改善できないかと試していたのだけど…。Stable Diffusion web UIの拡張機能として、canvas-zoom というものがあると知ったので導入してみた。
_canvas-zoom - work4ai
_GitHub - richrobber2/canvas-zoom: zoom and pan functionality
インストールは、Stable Diffusion web UIの拡張機能一覧から選択。
最低限の使い方は以下。
- Shift + ホイール回転 : キャンバスのズームイン/ズームアウト。
- SHift + 中ドラッグ (ホイールボタンでドラッグ) : キャンバスの表示位置を移動。
- R : ズーム率をリセット。
これだけでも随分と作業が楽になった。
◎ 2023/04/24追記。 :
ショートカットキーについて、もう少しメモを追加。
- Shift + テンキーの「+」/「-」 : ズームイン/ズームアウト。
- Ctrl + ホイール回転 : ブラシサイズ変更。
- A : カラーピッカー(色取得ツール)への切り替え。マウスカーソルが十字になるので、色を取得したい部分をクリックする。
[ ツッコむ ]
2022/04/22(金) [n年前の日記]
#1 [moho] Mohoのスマートボーンダイヤルを試してた
Windows10 x64 21H2 + Moho Pro 13.5.3 で、スマートボーンダイヤルなる機能について使い方を調べてたのでメモ。
◎ スマートボーンダイヤルについて。 :
Moho関係のチュートリアル動画を眺めていると、時々、次のような画面を目にすることがあって…。
改めてググってみたら、スマートボーンダイヤル(Smart Bone Dial)という機能らしい。Moho上では「スマートボーンダイヤル」「スマートボーンダイアル」と表記が揺れているけど…。
なんでも、例えば目パチ口パク等、何度も出てくる同じアニメを、メインのタイムライン上でその都度逐一指定していたら面倒臭いので、メインのタイムラインとは別に管理される「アクション」と呼ばれるタイムライン上で、お決まりのアニメを作っておいて、そのアクションの何フレーム目を表示するか、という制御のためにスマートボーンダイヤルを使う、ということらしい。
するとつまり「アクション」というのは…プログラミングで言えばサブルーチンみたいなものだろうか…? それともクラスとか? 一度作っておいて後から何度も使い回す、という面は似ているような気もする…。
- キャンバスの端っこに、独立したボーンが数本置いてある。
- ボーンを動かすと、キャンバスの真ん中に置いてあるキャラが、目パチ口パクしたり、向きを変えたりする。
改めてググってみたら、スマートボーンダイヤル(Smart Bone Dial)という機能らしい。Moho上では「スマートボーンダイヤル」「スマートボーンダイアル」と表記が揺れているけど…。
なんでも、例えば目パチ口パク等、何度も出てくる同じアニメを、メインのタイムライン上でその都度逐一指定していたら面倒臭いので、メインのタイムラインとは別に管理される「アクション」と呼ばれるタイムライン上で、お決まりのアニメを作っておいて、そのアクションの何フレーム目を表示するか、という制御のためにスマートボーンダイヤルを使う、ということらしい。
するとつまり「アクション」というのは…プログラミングで言えばサブルーチンみたいなものだろうか…? それともクラスとか? 一度作っておいて後から何度も使い回す、という面は似ているような気もする…。
◎ 使ってみる。 :
とりあえず使ってみる。
アクションが関係してくるので、アクションウインドウを表示しておく。
アニメをさせるために必要なベクターレイヤーを数枚用意して、ボーンレイヤーに登録。今回は、目玉全体と瞳の2つのレイヤーを作ってみた。
スマートボーンダイヤルにするためのボーンを追加する。ボーンレイヤーを選択して、「ボーンを追加」ツールを選んで、キャンバスの端っこのあたりにボーンを追加。
先ほど作成したボーンを、スマートボーンダイヤルにする。「ボーンを選択」ツールを選んで、ボーンを選択して、「ボーン」 → 「スマートボーンダイヤルを作成」を選ぶ。
「スマートダイアルの作成」ダイアログが開く。
スマートボーンダイヤルが作られて、対応するアクション、「B1」「B1 2」の2つが作成された。アクションを選んでいるときは、タイムラインの背景色が変化する。
今回、アクションには48フレームを指定したので、タイムライン上でカレントフレームを48フレーム目にする。スマートボーンダイヤルの見た目(角度)が変化する。ベクターレイヤーの位置を変化させてアニメをつける。
アクションウインドウ上で「B1 2」をダブルクリックして切り替える。こちらも48フレーム目にして、ベクターレイヤーの位置を変えてアニメをつけた。
同じ流れで、「B2」ボーンもスマートボーンダイヤルにした。「B2」「B2 2」の2つのアクションが生成された。アクションウインドウ上で「B2」をダブルクリックして切り替えて、48フレーム目にしてアニメをつけた。
「B2 2」アクションにもアニメをつけた。
アクションウインドウ上で「メインライン」をダブルクリックして切り替える。「ボーンを操作」ツールを選んで、スマートボーンダイヤルのB1、B2の角度を変えてみると、ボーンの角度に応じてアニメが変化する。
こんな感じの作業で、以下のようなアニメが作れた。
アクションが関係してくるので、アクションウインドウを表示しておく。
- ウインドウ → アクション、にチェックを入れると、アクションウインドウが表示される。
- もし、アプリウインドウの周辺のどこかに組み込んで表示したいなら、ウインドウ → ドッキング → アクション、にチェックを入れる。
アニメをさせるために必要なベクターレイヤーを数枚用意して、ボーンレイヤーに登録。今回は、目玉全体と瞳の2つのレイヤーを作ってみた。
スマートボーンダイヤルにするためのボーンを追加する。ボーンレイヤーを選択して、「ボーンを追加」ツールを選んで、キャンバスの端っこのあたりにボーンを追加。
- 各ボーンは、親を持たないようにしておく。ボーンが何も選択されていない状態からボーンを追加すれば、親を持たないボーンになる。
- Shift + 左ボタンドラッグで、ボーンの方向を45度単位で制限できる。
先ほど作成したボーンを、スマートボーンダイヤルにする。「ボーンを選択」ツールを選んで、ボーンを選択して、「ボーン」 → 「スマートボーンダイヤルを作成」を選ぶ。
「スマートダイアルの作成」ダイアログが開く。
- 名前には、選択したボーンの名前が自動で入っている。
- 最小角度、最大角度、時間(フレーム)、を設定する。
- 最小角度 〜 最大角度が、0 〜 +N なら、アクションが1つ作られる。
- 最小角度 〜 最大角度が、-N 〜 +N なら、アクションが2つ作られる。
スマートボーンダイヤルが作られて、対応するアクション、「B1」「B1 2」の2つが作成された。アクションを選んでいるときは、タイムラインの背景色が変化する。
今回、アクションには48フレームを指定したので、タイムライン上でカレントフレームを48フレーム目にする。スマートボーンダイヤルの見た目(角度)が変化する。ベクターレイヤーの位置を変化させてアニメをつける。
アクションウインドウ上で「B1 2」をダブルクリックして切り替える。こちらも48フレーム目にして、ベクターレイヤーの位置を変えてアニメをつけた。
同じ流れで、「B2」ボーンもスマートボーンダイヤルにした。「B2」「B2 2」の2つのアクションが生成された。アクションウインドウ上で「B2」をダブルクリックして切り替えて、48フレーム目にしてアニメをつけた。
「B2 2」アクションにもアニメをつけた。
アクションウインドウ上で「メインライン」をダブルクリックして切り替える。「ボーンを操作」ツールを選んで、スマートボーンダイヤルのB1、B2の角度を変えてみると、ボーンの角度に応じてアニメが変化する。
こんな感じの作業で、以下のようなアニメが作れた。
◎ 参考ページ。 :
[ ツッコむ ]
2021/04/22(木) [n年前の日記]
#1 歯医者に行ってきた
近所のS歯科まで徒歩で。PM02:00-PM02:33まで治療。左上の奥から3番目の歯に、冠を被せた。
おそらく、これで一通り治療は終わったのかなと…。治療内容と費用を、そのうちメモしてまとめておかないと…。
おそらく、これで一通り治療は終わったのかなと…。治療内容と費用を、そのうちメモしてまとめておかないと…。
[ ツッコむ ]
2020/04/22(水) [n年前の日記]
#1 [godot] カメラ情報から自機の移動範囲を求めるソレを考えてるところ
Godoto Engine 3.2.1 上で、カメラ情報から自機の移動範囲を求めることができないかと考えてるところ。
◎ 前提条件。 :
Godot Engine の座標系は以下のような感じ。
いわゆる右手座標系、なのだろうか。
_3次元CGと座標系
カメラ(Camera)情報は以下。
自機の移動面は、y=0 の平面。
余談。
- +X : 右
- +Y : 上
- +Z : 手前
いわゆる右手座標系、なのだろうか。
_3次元CGと座標系
カメラ(Camera)情報は以下。
- Tarnslation (位置) : (x, y, z) = (0, 40, 12)
- Rotation (角度) : (rotx, roty, rotz) = (-65, 0, 0)
- Fov (画角) : 60度
自機の移動面は、y=0 の平面。
余談。
- Godot Engine のカメラは、x回転角度が0の時、水平線が見える。(真横を見てる)
- カメラのデフォルト設定では、画角は垂直画角として扱われる。
- カメラの Keep aspect 設定を変えることで、水平画角にすることも可能。
◎ 縦方向の移動範囲。 :
縦方向というか、奥行き方向については、以下の計算で求めることができそう。たぶん。
前述の図は、横方向から見た時の図だけど、カメラの位置を原点にした状態で考えてるので、求めた値にカメラの位置情報(z値)を後から加減算して本来の値を得ることになる。
一応 Godot Engine 上で、自機の位置を計算で求めた値に変更してみたら画面の上下端に位置してるように見えたので、この計算でも合ってるんじゃないかな。
問題は横方向。どうやって求めればいいのだろう…。
cxrot = -65 cy = 40 cz = 12 fov = 60 ang = 180 - cxrot - (fov / 2) = 215 n = (-cy) / sin(ang) = 69.74 z_top = n * cos(ang) + cz = -57.13 + 12 = -45.13 ang2 = 180 - cxrot + (fov / 2) = 275 m = (-cy) / sin(ang2) = 40.15 z_bottom = m * cos(ang2) + cz = 3.50 + 12 = 15.50
前述の図は、横方向から見た時の図だけど、カメラの位置を原点にした状態で考えてるので、求めた値にカメラの位置情報(z値)を後から加減算して本来の値を得ることになる。
一応 Godot Engine 上で、自機の位置を計算で求めた値に変更してみたら画面の上下端に位置してるように見えたので、この計算でも合ってるんじゃないかな。
問題は横方向。どうやって求めればいいのだろう…。
◎ 垂直画角から水平画角を求める。 :
とりあえず、垂直画角から水平画角を求めないといけない。
w = 1280 # Window width h = 720 # Window height fov = 60 tan(fov / 2) = (h / 2) / dist dist = (h / 2) / tan(fov / 2) tan(fov_h / 2) = (w / 2) / dist fov_h / 2 = arctan((w / 2) / dist) fov_h = 2 * arctan((w / 2) / dist) fov_h = 2 * arctan((w / 2) / ((h / 2) / tan(fov / 2))) = 91.50垂直画角が60度、ウインドウサイズが1280x720なら、水平画角は91.50度ぐらいになるのかな。コレ、合ってるんだろうか。
◎ 別の方法はないのかな。 :
例えば、平面と線分の交点を求める関数でもあれば、こんな計算をしなくても自機の移動範囲を求めることができそうな気もするのだけど…。どうなんだろう…。自機が移動する平面と、カメラの四隅に相当する線分で、交点を求めれば…。そのほうが汎用性はありそうな気もする…。
そういう関数って、Godot Engine には無いのかな。ありそうな気もするのだけど。
そういう関数って、Godot Engine には無いのかな。ありそうな気もするのだけど。
[ ツッコむ ]
2019/04/22(月) [n年前の日記]
#1 [rubysdl] jiskan16.bdfはどこにある
Ruby/SDL でビットマップフォントの描画について動作確認していたのだけど、bdfフォントを描画しようとしたところでちょっと悩んでしまった。jiskan16.bdf って、今現在はどこから入手できるのだろう。
ちなみに、BDFフォントと言うのは、ビットマップフォントを示すファイルフォーマットの一つ。テキストデータで記述されているので、テキストエディタで開いて一部を修正することも可能。
ググってみたけれど、jiskan16.bdf の公式配布ページらしきものは見つからず。また、色んなバージョンがあるようで…。どれを選ぶべきなのだろう…。
_jiskan - Wikipedia
ちなみに、BDFフォントと言うのは、ビットマップフォントを示すファイルフォーマットの一つ。テキストデータで記述されているので、テキストエディタで開いて一部を修正することも可能。
ググってみたけれど、jiskan16.bdf の公式配布ページらしきものは見つからず。また、色んなバージョンがあるようで…。どれを選ぶべきなのだろう…。
_jiskan - Wikipedia
◎ 入手先ページをメモ :
それでもなんとか、ファイル名でググって、入手できそうなページを見かけたので、一応メモ。
_how to convert BDF fonts for FreeBSD 10.x vt(4) console, make ISO10646 encoded font
(ページの下のほうにリンクがある。)
_https://opensource.apple.com/source/X11fonts/...
_Index of /~yasuoka/ftp/fonts
_Index of /dist/fonts/BDF/JISX0213
_JISX0213 16x16 public fonts
_Debian Fonts Task Force / xfonts-jisx0213 - GitLab
_Index of /pub/FreeBSD/ports/distfiles/xorg/font
_how to convert BDF fonts for FreeBSD 10.x vt(4) console, make ISO10646 encoded font
(ページの下のほうにリンクがある。)
_https://opensource.apple.com/source/X11fonts/...
_Index of /~yasuoka/ftp/fonts
_Index of /dist/fonts/BDF/JISX0213
_JISX0213 16x16 public fonts
_Debian Fonts Task Force / xfonts-jisx0213 - GitLab
_Index of /pub/FreeBSD/ports/distfiles/xorg/font
◎ 半角フォントの入手。 :
jiskan16.bdf には全角文字部分が入っているけれど、半角文字部分は入っていないらしい。一般的には、SONY が作ったらしい、8x16rk.bdf と組み合わせて使う場合が多いようで。
_Re: mgl2 make failured
SONY製のフォントとなるとライセンス面が厳しいのではないかと思ったけれど、当時は緩い感じで使えてたようだなと。
_Re: mgl2 make failured
SONY製のフォントとなるとライセンス面が厳しいのではないかと思ったけれど、当時は緩い感じで使えてたようだなと。
◎ intlfontsを入手すれば良かったらしい。 :
その後もググっていたところ、intlfonts なるフォントファイル群を入手できれば、その中に jsikan16.bdf や 8x16rk.bdf も入ってると知った。
_Index of /old-gnu/intlfonts
_With Emacs Next - 3.1.2 フォント設定
_Index of /old-gnu/intlfonts
_With Emacs Next - 3.1.2 フォント設定
◎ その他のフォントについて。 :
他の選択肢として、東雲フォントを使うのもアリかなと。jiskan16.bdf と比べると、すっきりした見た目で、可読性が向上しているフォントのように感じたり。
_東雲フォント - Wikipedia
_shinonome font family
_日本語漢字ビットマップフォント、東雲フォントについて | mgo-tec電子工作
M+ Bitmapフォントという選択肢もありだろうか。丸みがあって、コレも読みやすい。
_M+ BITMAP FONTS
_東雲フォント - Wikipedia
_shinonome font family
_日本語漢字ビットマップフォント、東雲フォントについて | mgo-tec電子工作
M+ Bitmapフォントという選択肢もありだろうか。丸みがあって、コレも読みやすい。
_M+ BITMAP FONTS
◎ BDFフォントを使うメリットは何だろう。 :
余談。
今時はTTFフォントを使う場面が多いわけで、するとBDFフォントをあえて使う理由は何だろうと考えたのだけど。やはり、ドットを寸分違わずきっちりと画面に出したい、という需要を満たしたい時に使えるのかなと。アウトラインフォントだと、最終的にどんな見た目になるのか予想しづらいところがあるし。
もっとも、漢字を含んだ、こういったBDFフォントを使う必要が出てくるとしたら、大量のテキストを画面に表示する場合であろうし。であれば、ドットがどうこうより、読みやすいか否かでフォントを選んだほうがいいのかもしれない。
それとは別に、ライセンスの問題もありそうか…。当時のBDFフォントは、ライセンスに関して比較的緩く指定されてるものが多い印象もあり、ソフトウェアに同梱する際に問題が起きにくい面もありそうな。もっとも、昨今のフォントも、SIL Open Font License 等、ソフトウェアから使う分には比較的緩いライセンスになってるものも多いかな…。と思ったけれど、そのあたりは英語圏のフォントの話で、日本語フォントとなるとまた状況が違ってくるか…。
今時はTTFフォントを使う場面が多いわけで、するとBDFフォントをあえて使う理由は何だろうと考えたのだけど。やはり、ドットを寸分違わずきっちりと画面に出したい、という需要を満たしたい時に使えるのかなと。アウトラインフォントだと、最終的にどんな見た目になるのか予想しづらいところがあるし。
もっとも、漢字を含んだ、こういったBDFフォントを使う必要が出てくるとしたら、大量のテキストを画面に表示する場合であろうし。であれば、ドットがどうこうより、読みやすいか否かでフォントを選んだほうがいいのかもしれない。
それとは別に、ライセンスの問題もありそうか…。当時のBDFフォントは、ライセンスに関して比較的緩く指定されてるものが多い印象もあり、ソフトウェアに同梱する際に問題が起きにくい面もありそうな。もっとも、昨今のフォントも、SIL Open Font License 等、ソフトウェアから使う分には比較的緩いライセンスになってるものも多いかな…。と思ったけれど、そのあたりは英語圏のフォントの話で、日本語フォントとなるとまた状況が違ってくるか…。
[ ツッコむ ]
2018/04/22(日) [n年前の日記]
#1 [nitijyou] PICについて調べてる
PICとやらを使って時計を作れないか調べていたり。「PIC 時計」でググれば製作事例が出てくるのでとても参考になる…。
RTCとやらを追加するなり、あるいは内蔵してるPICじゃないと時計は作れないのかなと思ったけれど。常時電源を入れてあるという前提なら、タイマ割込みでカウントアップして処理することでも時計が作れなくもないらしい。もちろん精度はアレだけど、どのくらい誤差が出るかが分かれば、その分補正して実用性を増すこともできるようで。
RTCとやらを追加するなり、あるいは内蔵してるPICじゃないと時計は作れないのかなと思ったけれど。常時電源を入れてあるという前提なら、タイマ割込みでカウントアップして処理することでも時計が作れなくもないらしい。もちろん精度はアレだけど、どのくらい誤差が出るかが分かれば、その分補正して実用性を増すこともできるようで。
[ ツッコむ ]
2017/04/22(土) [n年前の日記]
#1 [python] pygame_sdl2について調べてるけど
_pygame_sdl2
について調べてるけど、さっぱり分からんなと…。Windows上にインストールする方法すら分からない…。ちなみに手元の環境は Windows10 x64 + Python 2.7.13 32bit版。
_http://nightly.renpy.org/pygame_sdl2/ に「Nightly builds が置いてあるよ」と書かれてるけど、404で。
_Index of /pygame_sdl2/current/ (Internet Archive) には2016/07/09版のリストがあったけど、.whlファイルそのものは残ってない模様。残念。
_Lemma Soft Forums - View topic - Can't install pygame_SDL2 によると、「Ren'PyのSDKを落とせば中に pygame_sdl2 も入ってる」と書いてあるような…。
_Ren'Py 6.99.12 からSDKのzipをDLして中を覗いてみたけど、たしかに SDL2.dll だの pygame_sdl2 なるフォルダが入ってる、が、前述のやり取りでは「ソレを取り出したけどやっぱり動かないんですけど」みたいなことが書かれてるようでもあり。
ビルドとやらをするしかないのかな…。ハードル高いな…。こんなんじゃ「たーのしー!」とか全然言えないよな…。
_http://nightly.renpy.org/pygame_sdl2/ に「Nightly builds が置いてあるよ」と書かれてるけど、404で。
_Index of /pygame_sdl2/current/ (Internet Archive) には2016/07/09版のリストがあったけど、.whlファイルそのものは残ってない模様。残念。
_Lemma Soft Forums - View topic - Can't install pygame_SDL2 によると、「Ren'PyのSDKを落とせば中に pygame_sdl2 も入ってる」と書いてあるような…。
_Ren'Py 6.99.12 からSDKのzipをDLして中を覗いてみたけど、たしかに SDL2.dll だの pygame_sdl2 なるフォルダが入ってる、が、前述のやり取りでは「ソレを取り出したけどやっぱり動かないんですけど」みたいなことが書かれてるようでもあり。
ビルドとやらをするしかないのかな…。ハードル高いな…。こんなんじゃ「たーのしー!」とか全然言えないよな…。
◎ ビルド云々について調べる。 :
_renpy/pygame_sdl2_windeps: Windows dependencies for pygame_sdl2.
に、pygame_sdl2 をWindows上でビルドする際に必要になるファイル群があるよ、てな話も見かけた。ていうか pygame_sdl2 の README.md に書いてあるな…。一覧を眺めると、
_pygame_sdl2_windeps/lib/x86
のあたりに SDL2.dll や SDL2_image.dll が入ってるようで。
ビルドするには、使ってるPythonのバージョンと合ってる Visual Studio が必要、とも書いてある…。
自分が使ってるのは Python 2.7 だけど…。 _WindowsCompilers - Python Wiki を眺めた感じでは、
むむ? よく見たら、 _Microsoft Visual C++ Compiler for Python 2.7 てのが用意されてるのか。Python用のアレコレをビルドするための環境がMicrosoftのサイトから正式に入手できるとは…。嘘だろ。マジかよ。Microsoft、やるなあ。 _Windows での Python 2.7, 3.4, 3.5 の拡張モジュールビルド環境 - Qiita によると去年から用意してくれたらしい。Microsoft、凄いぞ。素晴らしい。いや、ちょっとコレ、 _ヤンキー効果 が入ってる気もするけど…。でも、スゴイ。Microsoft、グッジョブ。
とりあえず Visual C++ Compiler for Python 2.7 を Windows10上でインストール。スタートメニューに「Microsoft Visual C++ Compiler Package for Python 2.7」というフォルダが出来て、ショートカットが登録された。「Visual C++ 2008 32-bit Command Prompt」を実行。DOS窓が開いた。
とりあえず、この Visual C++ のコンパイラを使いたい時は、「Visual C++ 2008 *-bit Command Prompt」を実行してDOS窓開いてそこで作業すべし、ということらしい。
_Microsoft Visual C++ Compiler for Python 2.7はひとのためならず | site-hhs を参考に、 _lru-dict とやらをビルドすることで動作確認。lru-dict-1.1.6.tar.gz をDLして解凍して中に入って python setup.py build と打ったら、buildというフォルダが作られて中に色々なファイルが作られた。どうやらちゃんと使えそうな予感。
ビルドするには、使ってるPythonのバージョンと合ってる Visual Studio が必要、とも書いてある…。
自分が使ってるのは Python 2.7 だけど…。 _WindowsCompilers - Python Wiki を眺めた感じでは、
- Python 2.6 〜 3.2 までは Visual C++ 9.0。
- Python 3.3 と 3.4 は Visual C++ 10.0。
- Python 3.5 と 3.6 は Visual C++ 14.0。
むむ? よく見たら、 _Microsoft Visual C++ Compiler for Python 2.7 てのが用意されてるのか。Python用のアレコレをビルドするための環境がMicrosoftのサイトから正式に入手できるとは…。嘘だろ。マジかよ。Microsoft、やるなあ。 _Windows での Python 2.7, 3.4, 3.5 の拡張モジュールビルド環境 - Qiita によると去年から用意してくれたらしい。Microsoft、凄いぞ。素晴らしい。いや、ちょっとコレ、 _ヤンキー効果 が入ってる気もするけど…。でも、スゴイ。Microsoft、グッジョブ。
とりあえず Visual C++ Compiler for Python 2.7 を Windows10上でインストール。スタートメニューに「Microsoft Visual C++ Compiler Package for Python 2.7」というフォルダが出来て、ショートカットが登録された。「Visual C++ 2008 32-bit Command Prompt」を実行。DOS窓が開いた。
>where cl C:\Users\ユーザアカウント名\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\bin\cl.exeこのへんにインストールされたのか…。「インストールしたユーザしか使えないよ」って感じかな…。 *1
cl /?と打つと、色々出てくる。
とりあえず、この Visual C++ のコンパイラを使いたい時は、「Visual C++ 2008 *-bit Command Prompt」を実行してDOS窓開いてそこで作業すべし、ということらしい。
_Microsoft Visual C++ Compiler for Python 2.7はひとのためならず | site-hhs を参考に、 _lru-dict とやらをビルドすることで動作確認。lru-dict-1.1.6.tar.gz をDLして解凍して中に入って python setup.py build と打ったら、buildというフォルダが作られて中に色々なファイルが作られた。どうやらちゃんと使えそうな予感。
◎ Nightly buildsがあるっぽい。 :
ここまで調べといてなんだけど。色々見ていたら、
_Unavailable nightly builds - Issue #66 - renpy/pygame_sdl2
で、「Nightly buildsは
_http://nightly.renpy.org/current/
の一番上にあるよ」てな話が…。しかし、DLして中を覗いたけどバイナリが入ってるようには見えなかった。何だろう、コレは…。
◎ githubからcloneしてビルドに挑戦してみる。 :
pygame_sdl2 がビルドできそうなのか、ダメ元でやってみる。再度書いておくけど、環境は Windows10 x64 + Python 2.7.13 32bit版。
「Visual C++ 2008 32-bit Command Prompt」を実行して、DOS窓を開いて…。
そのままだと C:\WINDOWS\system32\ というWindowsのシステム的に大変恐ろしい場所に居るので、cd でどこか問題無さげな場所に移動して。…Cドライブのルートにtempフォルダでも作ってそこに行こうかな。
適当なフォルダを作って、中に入って。
git clone で github からソース群をDL。git を使うので、git がインストールされてる必要有。もっとも、githubのページからzipをDLして解凍するのもアリかもしれんけど。
pygame_sdl2 というフォルダが作られた。中に入って、ファイルを確認。
ビルド時に必要になるという、pygame_sdl2_windeps も git clone でDL。
いきなりインストールするのは怖いので、まずはビルドだけ試してみる。
エラーが出た。cython がねえよ、って怒られてるような?
_Why don't have yet a release in PyPI? - Issue #39 - renpy/pygame_sdl2 によると、「Cythonをインストールしろや」って書かれてるな…。Cythonって何ですか?
_深入りしないCython入門 - Qiita
_WindowsでもCythonを使えるようにする。 - Qiita でインストール方法が紹介されてた。pip install でイケるらしい。
もう一度ビルドにチャレンジ。
とりあえず、処理が終わったっぽい。build というフォルダが作成されて、中に色々なファイルが入ってた。SDL2.dll等のファイルも見える。
一応ビルドが通ったように見えなくもないし…。怖いけど…インストールしてみるか…。
ここまでできたということは…。wheelパッケージとやらも作れるのだろうか?
_Python: Wheel でパッケージを配布する | CUBE SUGAR STORAGE によると、
試してみたら、dist というフォルダの中に、 _pygame_sdl2-2.1.0-cp27-cp27m-win32.whl というファイルができていた。コレを使ってインストールできるのかしら。一応置いときます。手元の環境では pip install 〜.whl でインストールできたけど、他の環境でインストールできるかどうかは不明。
「Visual C++ 2008 32-bit Command Prompt」を実行して、DOS窓を開いて…。
そのままだと C:\WINDOWS\system32\ というWindowsのシステム的に大変恐ろしい場所に居るので、cd でどこか問題無さげな場所に移動して。…Cドライブのルートにtempフォルダでも作ってそこに行こうかな。
mkdir C:\temp cd C:\temp
適当なフォルダを作って、中に入って。
mkdir pygame_sdl2 cd pygame_sdl2
git clone で github からソース群をDL。git を使うので、git がインストールされてる必要有。もっとも、githubのページからzipをDLして解凍するのもアリかもしれんけど。
git clone https://github.com/renpy/pygame_sdl2.git
pygame_sdl2 というフォルダが作られた。中に入って、ファイルを確認。
cd pygame_sdl2 dir色々なファイルがDLされた模様。Python でビルドやインストールに使われるらしい setup.py というファイルも見える。
ビルド時に必要になるという、pygame_sdl2_windeps も git clone でDL。
git clone https://github.com/renpy/pygame_sdl2_windepsdir と打って確認すると、pygame_sdl2_windeps というフォルダが作られてる。中にはビルドに必要な色んなファイルが入ってるらしい。
いきなりインストールするのは怖いので、まずはビルドだけ試してみる。
python setup.py build
エラーが出た。cython がねえよ、って怒られてるような?
_Why don't have yet a release in PyPI? - Issue #39 - renpy/pygame_sdl2 によると、「Cythonをインストールしろや」って書かれてるな…。Cythonって何ですか?
_深入りしないCython入門 - Qiita
Pythonは処理速度は決して早くない、むしろ遅い部類である。 そこで、C/C++に変換することにより高速化しようというのがCythonである。そういうものらしい。
_WindowsでもCythonを使えるようにする。 - Qiita でインストール方法が紹介されてた。pip install でイケるらしい。
pip install cythonたぶんこれでインストールされたんじゃないかな。
もう一度ビルドにチャレンジ。
python setup.py build警告がガンガン出てるけど、なんだかずらずらと表示しながら処理が進んでるっぽい…。ていうか、Windows上でやってるのに、
sh: sdl2-config: command not foundとか出てるけど、大丈夫なの? 自分の環境は mingw をインストールしているから sh.exe も入ってるけどさ…。
とりあえず、処理が終わったっぽい。build というフォルダが作成されて、中に色々なファイルが入ってた。SDL2.dll等のファイルも見える。
一応ビルドが通ったように見えなくもないし…。怖いけど…インストールしてみるか…。
python setup.py installPython2.7インストールフォルダ\Lib\site-packages\ の中に、pygame_sdl2-2.1.0-py2.7-win32.egg というフォルダが作られて、中に色々入った、ようではある。
ここまでできたということは…。wheelパッケージとやらも作れるのだろうか?
_Python: Wheel でパッケージを配布する | CUBE SUGAR STORAGE によると、
python setup.py bdist_wheelで作れるっぽいけど…。でも、site-packages\ の中は 〜.egg というフォルダが作られているんだよな…。
試してみたら、dist というフォルダの中に、 _pygame_sdl2-2.1.0-cp27-cp27m-win32.whl というファイルができていた。コレを使ってインストールできるのかしら。一応置いときます。手元の環境では pip install 〜.whl でインストールできたけど、他の環境でインストールできるかどうかは不明。
◎ サンプルは無いのかな。 :
動作確認してみたいのだけど、どこかにサンプルは無いのかな?
_renpytom/rapt-pygame-example: Example of using RAPT to package Pygame(_sdl2) games. で、Android版のサンプルは公開されてるようだけど…。
_rapt-pygame-example/main.py を眺めると、最初のあたりで、
_ウィンドウを表示する - 人工知能に関する断創録 を参考に、ウインドウを表示するだけのスクリプトを書いてみたり。
_helloworld_pygame_sdl2.py
一応動いたことは動いた、ような気がする。しかしコレだけでは見た目が pygame と変わらん…。何をどうしたら pygame_sdl2 で動いてるってことが分かるのやら。
_renpytom/rapt-pygame-example: Example of using RAPT to package Pygame(_sdl2) games. で、Android版のサンプルは公開されてるようだけど…。
_rapt-pygame-example/main.py を眺めると、最初のあたりで、
import pygame_sdl2 pygame_sdl2.import_as_pygame() import pygameみたいな感じで書いとけば、pygame_sdl2 が使われるっぽい。
_ウィンドウを表示する - 人工知能に関する断創録 を参考に、ウインドウを表示するだけのスクリプトを書いてみたり。
_helloworld_pygame_sdl2.py
# pygame_sdl2 test. window display only import pygame_sdl2 pygame_sdl2.import_as_pygame() import pygame from pygame.locals import * import os SCREEN_SIZE = (640, 480) def main(): pygame.init() screen = pygame.display.set_mode( SCREEN_SIZE ) pygame.display.set_caption('Hello pygame_sdl2') while True: screen.fill((0, 0, 255)) # screen fill Blue pygame.display.update() for event in pygame.event.get(): # check event if event.type == QUIT: return if (event.type == KEYDOWN and event.key == K_ESCAPE): # push Escape key ? return if __name__ == '__main__': main()
一応動いたことは動いた、ような気がする。しかしコレだけでは見た目が pygame と変わらん…。何をどうしたら pygame_sdl2 で動いてるってことが分かるのやら。
◎ 画像描画を試してみたり。 :
画像ファイルを読んで描画する処理を試してみたり。
_draw_image.py
_ufo.png
_bg.png
一応描画されたが、妙なメッセージが表示される。
libpng のバグ(?)らしい。
_Libpng errors - ArchWiki
_Cocos Studioで生成した.csbをcocos2d-xに読み込んだ際に"libpng warning: iCCP: known incorrect sRGB profile" - Qiita
_dvipdfmxで「warning: iCCP: known incorrect sRGB profile」というエラーが出る場合の対処方法 - Qiita
ImageMagickの convert を使って画像ファイル内から余計な情報を削除せよ、とのこと。
しかし、ImageMagick 7.0.3-2 の magick.exe を使ったら上記のオプションが反応しなかった。ImageMagick 6.9.1-10 の convert なら処理してくれたのだけど…。
書き方がいかんかったらしい。以下の書き方をしたら処理してくれた。
_draw_image.py
_ufo.png
_bg.png
# draw image by pygame_sdl2 try: import pygame_sdl2 pygame_sdl2.import_as_pygame() except: print "pygame_sdl2 not available" import pygame import pygame.image # from pygame.locals import * SCREEN_SIZE = (640, 480) def main(): pygame.init() screen = pygame.display.set_mode( SCREEN_SIZE, pygame.HWSURFACE | pygame.DOUBLEBUF ) pygame.display.set_caption('draw image by pygame_sdl2') sysfont = pygame.font.SysFont(None, 64) textsurface = sysfont.render("Hello world", True, (255, 255, 255)) bg = pygame.image.load('bg.png').convert() image = pygame.image.load('ufo.png').convert_alpha() x = 10 y = 10 dx = 2 dy = 1 bgx = 0 clock = pygame.time.Clock() cnt = 0 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: return if (event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE): return if x + dx < 0 or x + dx + image.get_width() >= SCREEN_SIZE[0]: dx *= -1 if y + dy < 0 or y + dy + image.get_height() >= SCREEN_SIZE[1]: dy *= -1 x += dx y += dy bgx -= 3 if bgx < -640: bgx = 0 # draw bg image screen.blit(bg, (bgx,0)) screen.blit(bg, (bgx + SCREEN_SIZE[0],0)) screen.blit(image, (x, y)) # draw image screen.blit(textsurface, (0, 0)) # draw text image # pygame.display.update() pygame.display.flip() clock.tick(60) # 60fps cnt += 1 if cnt % 180 == 0: print str(clock.get_fps()) + " FPS" if __name__ == '__main__': main()
一応描画されたが、妙なメッセージが表示される。
> python draw_image.py libpng warning: iCCP: known incorrect sRGB profile
libpng のバグ(?)らしい。
_Libpng errors - ArchWiki
_Cocos Studioで生成した.csbをcocos2d-xに読み込んだ際に"libpng warning: iCCP: known incorrect sRGB profile" - Qiita
_dvipdfmxで「warning: iCCP: known incorrect sRGB profile」というエラーが出る場合の対処方法 - Qiita
ImageMagickの convert を使って画像ファイル内から余計な情報を削除せよ、とのこと。
convert -strip input_file output_file
しかし、ImageMagick 7.0.3-2 の magick.exe を使ったら上記のオプションが反応しなかった。ImageMagick 6.9.1-10 の convert なら処理してくれたのだけど…。
書き方がいかんかったらしい。以下の書き方をしたら処理してくれた。
magick input_file -strip output_file
◎ そもそもSDL2って何だろう。 :
SDL1.2 に比べて SDL2 は何が違っているのだろう。
_SDL2の使い方 - mirichiの日記
_SDL2で出来る事メモごく一部 - nyaocatのがんばるブログ
_SDL 2.0と1.2に関するメモ
_SDL 1.2から2.0への移行
_SDL2の紹介
色々変わったらしいが…とにかく描画が速くなった、と思っておけばいいのかな。
_SDL2の使い方 - mirichiの日記
_SDL2で出来る事メモごく一部 - nyaocatのがんばるブログ
_SDL 2.0と1.2に関するメモ
_SDL 1.2から2.0への移行
_SDL2の紹介
色々変わったらしいが…とにかく描画が速くなった、と思っておけばいいのかな。
◎ pygameよりpygame_sdl2のほうが遅いらしい。 :
_Pygame_SDL2 runs slower when large quantity of sprites are drawn - Issue #36 - renpy/pygame_sdl2
で気になる話が。pygameよりpygame_sdl2のほうが遅いらしい…。
ここまで試したのに、なんじゃそりゃって感じ…。
でもまあ、おかげで Microsoft Visual C++ Compiler for Python 2.7 の存在を知ることができたのは幸いというか。
ここまで試したのに、なんじゃそりゃって感じ…。
でもまあ、おかげで Microsoft Visual C++ Compiler for Python 2.7 の存在を知ることができたのは幸いというか。
*1: 一応、ダウンロードページの下のほうに、「全ユーザで使える状態にしたいならオプションを指定してインストールすればできるよ」と書いてある。
[ ツッコむ ]
2016/04/22(金) [n年前の日記]
#1 [prog] three.jsを勉強中
先日まで Processing で少し実験をしていたけれど、Processing.js を使うと少々制限が出てくると分かったので、この際せっかくだから、three.js を勉強してみようかと。ちなみに three.js というのは、ブラウザ上で3DCG描画をするJavaScriptのライブラリ。という説明で合ってるのだろうか。
とりあえず、 _Releases - mrdoob/three.js から、three.js-r76.zip をDLして解凍。examples/index.html をブラウザで開くと、膨大なサンプルが閲覧できる。
ライブラリ自体は、build/ 内に three.min.js というファイルがあるので、ソレをコピーして使う。
ひとまず写経を始めたり。 _Adobe Brackets というエディタを使って、html + JavaScript を書きつつ勉強。
とりあえず、 _Releases - mrdoob/three.js から、three.js-r76.zip をDLして解凍。examples/index.html をブラウザで開くと、膨大なサンプルが閲覧できる。
ライブラリ自体は、build/ 内に three.min.js というファイルがあるので、ソレをコピーして使う。
ひとまず写経を始めたり。 _Adobe Brackets というエディタを使って、html + JavaScript を書きつつ勉強。
◎ 参考ページ。 :
_three.js wiki - トップページ
_THREE.js で WebGL | ヨモツネット
_Webグラフィックをハックする(5):多彩な表現力のWebGLを扱いやすくする「Three.js」 (1/5) - @IT
_three.jsで3Dを作りたい! - Qiita
_JavaScript 3DレンダリングエンジンのThree.jsを試す | KRAY Inc
_requestAnimationFrame でフレームと再描画更新を制御する
_Timer APIs(Date.getTime, Date.now, performance.now, setTimeout, setInterval, requestAnimationFrame, setImmediate) with Canvas Animation - Qiita
_Three.js リサイズ - Three.jsを使って、作ってみた
_Three.jsで物体に光を当てる | mwSoft
_よく利用するThree.js旧バージョンからのコード書き換え(メモ) | cityJumperWEB.com
_Three.jsでポリゴンを描画するには - non vorrei lavorare
_うだる - ずっと君のターン
_THREE.js で WebGL | ヨモツネット
_Webグラフィックをハックする(5):多彩な表現力のWebGLを扱いやすくする「Three.js」 (1/5) - @IT
_three.jsで3Dを作りたい! - Qiita
_JavaScript 3DレンダリングエンジンのThree.jsを試す | KRAY Inc
_requestAnimationFrame でフレームと再描画更新を制御する
_Timer APIs(Date.getTime, Date.now, performance.now, setTimeout, setInterval, requestAnimationFrame, setImmediate) with Canvas Animation - Qiita
_Three.js リサイズ - Three.jsを使って、作ってみた
_Three.jsで物体に光を当てる | mwSoft
_よく利用するThree.js旧バージョンからのコード書き換え(メモ) | cityJumperWEB.com
_Three.jsでポリゴンを描画するには - non vorrei lavorare
_うだる - ずっと君のターン
[ ツッコむ ]
#2 [movie] 「シュガー・ラッシュ」を視聴
TVで放映されていたので見てみたり。ディズニーの3DCGアニメ。ゲームキャラが夜中になると実は…という、ある種、トイ・ストーリーのゲーム版、という説明でいいのだろうか。
TV放映版はあちこちカットされてるらしいけど、それでも結構面白かった。スト2のキャラが冒頭のあたりに出てきただけでも、なんだかワクワク。各キャラの能力設定もストーリーにちゃんと絡んでくるあたりが上手いなと。キャラの表情も豊富。レースシーンのスピード感もなかなか。ラストもなんだかしんみり。どこを切り取っても文句無しの出来。素晴らしい。
TV放映版はあちこちカットされてるらしいけど、それでも結構面白かった。スト2のキャラが冒頭のあたりに出てきただけでも、なんだかワクワク。各キャラの能力設定もストーリーにちゃんと絡んでくるあたりが上手いなと。キャラの表情も豊富。レースシーンのスピード感もなかなか。ラストもなんだかしんみり。どこを切り取っても文句無しの出来。素晴らしい。
[ ツッコむ ]
2015/04/22(水) [n年前の日記]
#1 [nitijyou] 自転車で買い物に
電動自転車で近所のスーパーまで。まともなものが食べられそうな感じがしないので、ドラッグストアでウイダーインゼリー系を買い込んできたり。
一口サイズで口の中に入れられて、片側でもぐもぐもごもごするだけでなんとか飲み込める何かがないかと探してみたけど、さっぱり見つからず。
カロリーメイトがキャラメルほどの大きさになってたら食べやすいのだろうな、と夢想したけど、それはそれで固めるのが難しいのかな。固め過ぎちゃうと、それはそれで固い食べ物になってしまって、結局食べられなくなりそうだし。
紅茶にビスケットをひたしながら食べる、みたいなことをすればどうにかならんものかな…。
一口サイズで口の中に入れられて、片側でもぐもぐもごもごするだけでなんとか飲み込める何かがないかと探してみたけど、さっぱり見つからず。
カロリーメイトがキャラメルほどの大きさになってたら食べやすいのだろうな、と夢想したけど、それはそれで固めるのが難しいのかな。固め過ぎちゃうと、それはそれで固い食べ物になってしまって、結局食べられなくなりそうだし。
紅茶にビスケットをひたしながら食べる、みたいなことをすればどうにかならんものかな…。
[ ツッコむ ]
#2 [nitijyou] まだ歯が痛い
歯が痛い、というより、歯茎が痛いのだと思うけど。時々ピシッだかピチュッだかそんな感じの痛みが。うっかり仮歯で何かを噛んでしまうと激痛が。それでも、ずっと痛み止めを飲んでないとフツーにしてても耐えられないという状態ではなくなってきたのだけれど。
これが正常な展開なのか、それともあり得ない展開なのか、判断するだけの知識がないのがツライ…。一応歯医者さんに電話をかけて尋ねてみたけれど、歯と歯茎を削ったからしばらく過敏な状態が続くことはあります、との回答で。…コレって過敏云々で済ませられる状態なのだろうか。そこからして分からん。それがツライ。ツライというか、めちゃくちゃ怖い。
これが正常な展開なのか、それともあり得ない展開なのか、判断するだけの知識がないのがツライ…。一応歯医者さんに電話をかけて尋ねてみたけれど、歯と歯茎を削ったからしばらく過敏な状態が続くことはあります、との回答で。…コレって過敏云々で済ませられる状態なのだろうか。そこからして分からん。それがツライ。ツライというか、めちゃくちゃ怖い。
◎ 今頃気が付いたけど。 :
そういえば今頃気が付いたけど。今まで通ったことのある、S歯科、N歯科では、初診時に歯の全体の状態を目視で調べてカルテを作って、今後の治療計画を立てていたような。この歯を治療してる間にこっちの歯まで治療を始めてしまうと食事が取れなくなるので、まずはこの歯の治療を済ませてから、てな説明を受けた記憶もあるし。しかし今回は、そういったことをしてないなと。
*1
それと、1本ずつ治療するか、3本一気に治療するかを選択してほしいと言われた際も、何かこう…。
メリット・デメリットを尋ねてみたら、「1本ずつは1回当たりの治療費が少ないけど何度も来ることになって時間がかかる」「3本一気は1回当たりの治療費がかかるけど来る回数は少ない」との回答で。それだけじゃ判断つかないので先生のおすすめはと尋ねたら3本だとの回答だったので、でしたらそれでと言ってしまったのだけど。今になって考えてみたら、時間と金額の視点はあるけど、患者への体の負担という視点が一切入ってない説明だよなと…。
もっとも、もしかするとこの選択は何かのリトマス試験紙だったのかなと今頃になって邪推したりもして。本来自分は「とにかく痛くないほうを」と打診してみるべきだったのかも。でも、そういうこと言うと「どっちも痛いに決まってるでしょ」と怒り始めそうな先生だし…。
誤解されたくないので一応書いとくけど、こういうのって、歯医者さんと患者さんの相性だよなと思うわけで。
ある患者さんからは評判が悪くても、別の患者さんからは評判がいい歯医者さんの話を聞くことはザラで。ウチの家族の中ですら、ある歯医者さんに対して、親父さんとお袋さんと妹の評価がバラバラだったりするし。
たくさん説明してもらったほうが安心する患者さんも居れば、説明されてもどうせオラわからんから先生にお任せしますてな患者さんや、説明する暇あったら手を動かしてくださいてな患者さんも居るだろうし。とにかく忙しいので治療回数が少ないほうがいいという患者さんも居れば、時間や回数がかかってもいいからしっかり間違いなくと望む患者さんも居るし。歯医者さんだって、得意分野と不得意分野がフツーにあるはずだし。治療方針だってそれぞれ違うはずだし。
なんでもそうだけど、長所は短所になるし、短所は長所になるので。だから、相性だと思うわけですよ。
ただ、できれば、ココはこういうタイプの歯医者です、みたいな情報がもっと欲しいところだよなと…。そのあたりの情報が入手できないから、相性が悪い歯医者さんに運悪く通うことになって双方にとって良くない状態に。最初からタイプが分かってれば行き違いが少しは減らせそうだけど。
それと、1本ずつ治療するか、3本一気に治療するかを選択してほしいと言われた際も、何かこう…。
メリット・デメリットを尋ねてみたら、「1本ずつは1回当たりの治療費が少ないけど何度も来ることになって時間がかかる」「3本一気は1回当たりの治療費がかかるけど来る回数は少ない」との回答で。それだけじゃ判断つかないので先生のおすすめはと尋ねたら3本だとの回答だったので、でしたらそれでと言ってしまったのだけど。今になって考えてみたら、時間と金額の視点はあるけど、患者への体の負担という視点が一切入ってない説明だよなと…。
もっとも、もしかするとこの選択は何かのリトマス試験紙だったのかなと今頃になって邪推したりもして。本来自分は「とにかく痛くないほうを」と打診してみるべきだったのかも。でも、そういうこと言うと「どっちも痛いに決まってるでしょ」と怒り始めそうな先生だし…。
誤解されたくないので一応書いとくけど、こういうのって、歯医者さんと患者さんの相性だよなと思うわけで。
ある患者さんからは評判が悪くても、別の患者さんからは評判がいい歯医者さんの話を聞くことはザラで。ウチの家族の中ですら、ある歯医者さんに対して、親父さんとお袋さんと妹の評価がバラバラだったりするし。
たくさん説明してもらったほうが安心する患者さんも居れば、説明されてもどうせオラわからんから先生にお任せしますてな患者さんや、説明する暇あったら手を動かしてくださいてな患者さんも居るだろうし。とにかく忙しいので治療回数が少ないほうがいいという患者さんも居れば、時間や回数がかかってもいいからしっかり間違いなくと望む患者さんも居るし。歯医者さんだって、得意分野と不得意分野がフツーにあるはずだし。治療方針だってそれぞれ違うはずだし。
なんでもそうだけど、長所は短所になるし、短所は長所になるので。だから、相性だと思うわけですよ。
ただ、できれば、ココはこういうタイプの歯医者です、みたいな情報がもっと欲しいところだよなと…。そのあたりの情報が入手できないから、相性が悪い歯医者さんに運悪く通うことになって双方にとって良くない状態に。最初からタイプが分かってれば行き違いが少しは減らせそうだけど。
*1: まあ、単なるポーズで ―― これも営業努力だ、などと思いながらそういうことをやられてもかえって困るのでアレなんだけど。
[ ツッコむ ]
2014/04/22(火) [n年前の日記]
#1 [windows] Windows XPからWindows7への引っ越し手順を復習中
ググって復習中。
手順については、日本メーカのサイトが親切に説明してくれている、ような気がする。
_「Windows 転送ツール」でデータ移行する(Windows XP→Windows 7):BIGLOBE会員サポート
_古いパソコン(Windows XP)での移行作業:BIGLOBE会員サポート
_新しいパソコン(Windows 7)での移行作業:BIGLOBE会員サポート
_[パソコンデータ移行ガイド]Windows 7 パソコンに引っ越ししよう - FMVサポート : 富士通
_メール移行ガイド - FMVサポート : 富士通
- Windows転送ツールを使って、XP機内のファイルをWindows7機に転送。
- メールアカウント、メールデータ、アドレス帳を、Windows7機に転送。
- IMEのユーザ辞書データを、Windows7機に転送。
- ブラウザのブックマーク(お気に入り)を、Windows7機に転送。(Windows転送ツールでやってくれてるかもしれない。)
- 周辺機器のドライバを、Windows7機にインストール。
- 一応、XPモードもインストールしておく…? (プリインストールされてる製品もあるらしい。)
手順については、日本メーカのサイトが親切に説明してくれている、ような気がする。
_「Windows 転送ツール」でデータ移行する(Windows XP→Windows 7):BIGLOBE会員サポート
_古いパソコン(Windows XP)での移行作業:BIGLOBE会員サポート
_新しいパソコン(Windows 7)での移行作業:BIGLOBE会員サポート
_[パソコンデータ移行ガイド]Windows 7 パソコンに引っ越ししよう - FMVサポート : 富士通
_メール移行ガイド - FMVサポート : 富士通
◎ メール関係は面倒臭い。 :
メール関係は、一旦 Windows Live メールを経由しないといかんらしいあたりが面倒。
Windows Live メールでは、OE6 からの変換が終わらない場合もあるらしい…。
_【Windows7移行のやってはいけない】メール移行がすぐに終わると思ってはいけない | nikkei BPnet 〈日経BPネット〉:日経BPオールジャンルまとめ読みサイト
上記の記事では、Thunderbird を標準メーラとして使うことで解決したらしい。Thunderbird にしておけば、OSが変わっても移行時の問題は起きないというメリットがありそう。
昔は、Windows転送ツールで転送してから Windows Live メールを起動すること、てな制限があったようで。
_ニュース - 「XPからWindows 7へのメール移行は要注意」---マイクロソフトが説明会を開催:ITpro
最新版の Windows Live メールなら、インポート機能が追加されてるようなので、こういう問題は起きないのかもしれない…? どうなんだろ。
Windows Live メールでは、OE6 からの変換が終わらない場合もあるらしい…。
_【Windows7移行のやってはいけない】メール移行がすぐに終わると思ってはいけない | nikkei BPnet 〈日経BPネット〉:日経BPオールジャンルまとめ読みサイト
上記の記事では、Thunderbird を標準メーラとして使うことで解決したらしい。Thunderbird にしておけば、OSが変わっても移行時の問題は起きないというメリットがありそう。
昔は、Windows転送ツールで転送してから Windows Live メールを起動すること、てな制限があったようで。
_ニュース - 「XPからWindows 7へのメール移行は要注意」---マイクロソフトが説明会を開催:ITpro
最新版の Windows Live メールなら、インポート機能が追加されてるようなので、こういう問題は起きないのかもしれない…? どうなんだろ。
[ ツッコむ ]
2013/04/22(月) [n年前の日記]
#1 [prog] eclipse上でETEEが実は動いてた
eclipse上の「テキストエディタ」で開いたら、右クリックしてコンテキストメニューを表示した際に「フィルター」項目が表示された。どうやら Aptana Studio 関係のエディタ上では「フィルター」が表示されなくなる、というオチだったらしい。なんだかな。
[ ツッコむ ]
#2 [python] PyGameを少し勉強
Python + PyGame って、DxRuby や HSp あたりと比べて速度的にはどうなんだろうと気になったわけで。少し勉強してサンプルスクリプトを。
メインPC ―― i5 2500 + 9800GTGE では、BG1枚をべた書き + 48x48ドット x 768個を描画 + oggのBGM再生でも、60FPSは維持できている。が、コレをネットブック上に持っていくとどうなることやら。
せっかくだから py2exe も使って exe化を試したり。ogg関係のdllが取り込まれなくて、3つほど指定。
スクリプトを書く際に、eclipse + PyDev (Aptana Studio 3) を使った。どうも補完が怪しい感じもするけれど、Alt+/ でキーワード補完してどうにか。
メインPC ―― i5 2500 + 9800GTGE では、BG1枚をべた書き + 48x48ドット x 768個を描画 + oggのBGM再生でも、60FPSは維持できている。が、コレをネットブック上に持っていくとどうなることやら。
せっかくだから py2exe も使って exe化を試したり。ogg関係のdllが取り込まれなくて、3つほど指定。
スクリプトを書く際に、eclipse + PyDev (Aptana Studio 3) を使った。どうも補完が怪しい感じもするけれど、Alt+/ でキーワード補完してどうにか。
[ ツッコむ ]
2012/04/22(日) [n年前の日記]
#1 [android] Air for Androidを実験中
Windows7 x64上で FlashDevelop + Air for Android を実験中。実機端末 IdeaPad A1 には転送できるのだけど、Androidエミュレータに .apk が転送できなくて、ずっとハマっていたり。
dist\ 以下の *.apk を、Run.bat ではなく手作業でインストールして試してみた。エミュレータを起動しておいて、adb -e install -r hoge.apk みたいな。
bat\InstallAirRuntime.bat でAIRランタイムをインストールするらしいのだけど、set AIR_INSTALLER= の指定が実機用のソレになっている気がする。C:\flexsdk\runtimes\air\android\ 以下の、device\Runtime.apk ではなく、emulator\Runtime.apk を指定。adb install 〜 でインストール。この状態で、再度 .apk をインストール。…今度は動いた。
つまり、エミュレータに転送したい場合、実機用のAIRランタイムではなくてエミュレータ用のAIRランタイムをインストールしないといけない。ということかもしれない。自信無いけど。
Run.bat も編集。
adb -s emulator-5554 〜 という書き方は、デバイス名?を指定してる事例。adb devices で接続されているデバイス名が一覧表示されるが、エミュレータはえてして emulator-5554 という名前で表示されるので、ソレを指定することができる、のだと思う。
ちなみに、batファイル内、行頭の「::」はコメント行の指定。
FlashDevelop でF8キーを押すとビルドが、F5キーを押すと Run.bat が実行されるが。エミュレータに .apk を転送後、adb shell am start -n air.%APP_ID%/.AppEntry の行でアプリを起動させているらしい。起動する際に、PC側のIPが分からないと言ってくるので、192.168.x.x を入力。AIRアプリが起動した。
bat\SetupApplication.bat 中の、set DEBUG_IP= に、set DEBUG_IP=192.168.1.x という形でPC側のIPを指定したら、一々IPを聞いてこなくなった、ように見える。
dist\ 以下の *.apk を、Run.bat ではなく手作業でインストールして試してみた。エミュレータを起動しておいて、adb -e install -r hoge.apk みたいな。
- -e : エミュレータを指定。
- -d : USB接続した端末を指定。
- -r : 再インストールを指定。アプリのデータは維持される。
bat\InstallAirRuntime.bat でAIRランタイムをインストールするらしいのだけど、set AIR_INSTALLER= の指定が実機用のソレになっている気がする。C:\flexsdk\runtimes\air\android\ 以下の、device\Runtime.apk ではなく、emulator\Runtime.apk を指定。adb install 〜 でインストール。この状態で、再度 .apk をインストール。…今度は動いた。
つまり、エミュレータに転送したい場合、実機用のAIRランタイムではなくてエミュレータ用のAIRランタイムをインストールしないといけない。ということかもしれない。自信無いけど。
Run.bat も編集。
goto desktop ::goto android-debug ::goto android-testを、
::goto desktop ::goto android-debug goto android-testに変更。
adb -d install -r "%OUTPUT%"を、
::adb -d install -r "%OUTPUT%" ::adb -s emulator-5554 install -r "%OUTPUT%" adb install -r "%OUTPUT%"に変更。おそらく、-d を指定していたものだから、USB接続されているデバイスなんぞ無い → デバイスが見つからないぞと文句を言われていたのだろうと。
adb -s emulator-5554 〜 という書き方は、デバイス名?を指定してる事例。adb devices で接続されているデバイス名が一覧表示されるが、エミュレータはえてして emulator-5554 という名前で表示されるので、ソレを指定することができる、のだと思う。
ちなみに、batファイル内、行頭の「::」はコメント行の指定。
FlashDevelop でF8キーを押すとビルドが、F5キーを押すと Run.bat が実行されるが。エミュレータに .apk を転送後、adb shell am start -n air.%APP_ID%/.AppEntry の行でアプリを起動させているらしい。起動する際に、PC側のIPが分からないと言ってくるので、192.168.x.x を入力。AIRアプリが起動した。
bat\SetupApplication.bat 中の、set DEBUG_IP= に、set DEBUG_IP=192.168.1.x という形でPC側のIPを指定したら、一々IPを聞いてこなくなった、ように見える。
[ ツッコむ ]
2011/04/22(金) [n年前の日記]
#1 [pc] 復元したファイルを分類中
画像ファイルやら動画ファイルやらzipファイルやらが混じってるので、中身を確認しながら分類。壊れてしまっている画像ファイルなどは削除。
エクスプローラ上でサムネイルを表示してざっくり確認して作業をしているのだけど、数千ファイルを超えると途中でサムネイルが表示されなくなる。ファイル数で制限があるのか、使用メモリ量で制限があるのか。今までエクスプローラのサムネイル表示機能はほとんど使ってなかったので、そのあたりの制限がよく分からない。とりあえず、別ディレクトリを作って、1つのディレクトリに入っているファイル数を少なくして作業。
エクスプローラ上でサムネイルを表示してざっくり確認して作業をしているのだけど、数千ファイルを超えると途中でサムネイルが表示されなくなる。ファイル数で制限があるのか、使用メモリ量で制限があるのか。今までエクスプローラのサムネイル表示機能はほとんど使ってなかったので、そのあたりの制限がよく分からない。とりあえず、別ディレクトリを作って、1つのディレクトリに入っているファイル数を少なくして作業。
[ ツッコむ ]
2010/04/22(木) [n年前の日記]
#1 [nitijyou] 雪が積もってる
朝方、雨が雪に。昼頃には積ってしまった。4月なのに…。
[ ツッコむ ]
#2 [firefox] Flashプラグインが新しくならなくてハマる
どうも Flash CS4 を入れたら古いバージョンで固定されてしまったようで。しかも、Adobe日本語サイトで公開されてるCS4用のアップデートのソレが古い版のまま。気づかなくて、何度もDL・上書きして、おかしいなおかしいなと。
英語版のページからzipをDLしてみたらそちらはちゃんと最新版だった。また、一旦、IE用とFirefox用をアンインストールしてから更新することに。
Firefoxの入力欄が漢字入力モードかどうかを色で表示してくれる拡張 ―― Flashプラグインが必要 ―― を入れてることを忘れてしまって、Flashプレイヤーのアンインストール後、Firefoxのレイアウトがグチャグチャになってしまって慌てたり。
デバッグ用のプレイヤーを入れておいたほうがいいのだろうか…? でもおそらくパフォーマンスにも関係してきそうだし、とりあえずブラウザのソレは非デバッグ版でいいか。
このへんのアレコレでハマってるうち、AppleがiPhoneやiPadでFlashを導入させないのは実は正しいことなんじゃないかと思えてきた。なんだか色々と分かりづらい状態、つまりは公開用バイナリその他の管理がAdobeの中でちゃんと出来ていないような気がする。
英語版のページからzipをDLしてみたらそちらはちゃんと最新版だった。また、一旦、IE用とFirefox用をアンインストールしてから更新することに。
Firefoxの入力欄が漢字入力モードかどうかを色で表示してくれる拡張 ―― Flashプラグインが必要 ―― を入れてることを忘れてしまって、Flashプレイヤーのアンインストール後、Firefoxのレイアウトがグチャグチャになってしまって慌てたり。
デバッグ用のプレイヤーを入れておいたほうがいいのだろうか…? でもおそらくパフォーマンスにも関係してきそうだし、とりあえずブラウザのソレは非デバッグ版でいいか。
このへんのアレコレでハマってるうち、AppleがiPhoneやiPadでFlashを導入させないのは実は正しいことなんじゃないかと思えてきた。なんだか色々と分かりづらい状態、つまりは公開用バイナリその他の管理がAdobeの中でちゃんと出来ていないような気がする。
[ ツッコむ ]
#3 [web] Flashを使った広告がアホみたいに重いのですが
自分は、Firefoxでアホみたいにタブを開きまくるのだけど。どこかのサイトのページを複数開いたら、2つあるCPUコアの片方が100%になってしまってFirefoxがなかなか反応しない状態に。どうも広告として張り付けてあるFlashがアホみたいに重いらしく。
これではWebサイトが見れないも同然なので、仕方なく Adblock Plus を有効に。処理が重くなりそうだから有効にしたくないんだけど、無効にしてるほうが激重になるのでは有効にせざるを得ない。
バカはFlashを使うんじゃねえ。と思った。なんで無駄に処理が重いFlashを作って平気で居られるかな…。挙句の果てにこうしてユーザ側が広告表示を無効にせざるをえないように追い込んでたら広告として本末転倒だろう。バカじゃないのか。
こういうアレコレを考えると、AppleがiPhoneやiPadでFlashを導入させないのは実は正しいことなんじゃないかと思えてきた。自分のメインPCはそんなに非力じゃないほうだろうけど、ソレを身動きとれない状態に追い込むバカ共がFlashを使ってしまってる現状では、そんなにスペックが高くないであろうAppleのその手のハードの上で、Flashなんざ迂闊に動かすわけにもいかんだろう。ジョブスの言い分に正当性を持たせてどうすんだ。てなことも思ってしまうほどにその手のFlashになんだか腹が立ったのです。
これではWebサイトが見れないも同然なので、仕方なく Adblock Plus を有効に。処理が重くなりそうだから有効にしたくないんだけど、無効にしてるほうが激重になるのでは有効にせざるを得ない。
バカはFlashを使うんじゃねえ。と思った。なんで無駄に処理が重いFlashを作って平気で居られるかな…。挙句の果てにこうしてユーザ側が広告表示を無効にせざるをえないように追い込んでたら広告として本末転倒だろう。バカじゃないのか。
こういうアレコレを考えると、AppleがiPhoneやiPadでFlashを導入させないのは実は正しいことなんじゃないかと思えてきた。自分のメインPCはそんなに非力じゃないほうだろうけど、ソレを身動きとれない状態に追い込むバカ共がFlashを使ってしまってる現状では、そんなにスペックが高くないであろうAppleのその手のハードの上で、Flashなんざ迂闊に動かすわけにもいかんだろう。ジョブスの言い分に正当性を持たせてどうすんだ。てなことも思ってしまうほどにその手のFlashになんだか腹が立ったのです。
[ ツッコむ ]
2009/04/22(水) [n年前の日記]
#1 [pc] 親父さんのiP4500は保証期間を過ぎていた
自分の日記を確認したら、2007/10/13 に購入していたらしい。
一応、親父さん自身がつけてる家計簿にも、「プリンタ17,xxx円」と残してあったけど、「自分がiP4300を12,000円程度で買ってるのに、iP4500をわざわざ18,000円近い値段で買うなんておかしい。つまりこれはiP4500のことではなくて、別のプリンタ関連製品の出費ではないのか」と言っていたのだけど。 _当時の日記 によると、今まで使ってたプリンタが壊れてしまったので、時期が最悪だけど買ってきてしまった、ということらしい。
というわけで、保証期間は当の昔に過ぎていた。ちなみに、親父さんがCanonに電話してこの手の修理代を聞いたらしいのだけど、やはり7,500円程度はかかるとの話。今なら Amazon で、iP3600 が8,927円でござる。修理代+送料その他を考えたら、新品買ったほうが、という話になってしまう。地球に厳しいCanonです。
それにしても。Canon製プリンタは2年で壊れる、という憶測がかなり真実味を帯びてきた。ウチの中の実測(?)事例で既に2件も。…とも言えないか。親父さんのプリンタの場合は、毎回インクタンク交換のたびにプリンタヘッド固定レバーを緩めてたというトンデモな事例なわけで。まあ、自分が先日購入したiP4600が、2年後に壊れたら、Canonタイマーが存在するのは間違いない、ということになるのかなあ。
一応、親父さん自身がつけてる家計簿にも、「プリンタ17,xxx円」と残してあったけど、「自分がiP4300を12,000円程度で買ってるのに、iP4500をわざわざ18,000円近い値段で買うなんておかしい。つまりこれはiP4500のことではなくて、別のプリンタ関連製品の出費ではないのか」と言っていたのだけど。 _当時の日記 によると、今まで使ってたプリンタが壊れてしまったので、時期が最悪だけど買ってきてしまった、ということらしい。
というわけで、保証期間は当の昔に過ぎていた。ちなみに、親父さんがCanonに電話してこの手の修理代を聞いたらしいのだけど、やはり7,500円程度はかかるとの話。今なら Amazon で、iP3600 が8,927円でござる。修理代+送料その他を考えたら、新品買ったほうが、という話になってしまう。地球に厳しいCanonです。
それにしても。Canon製プリンタは2年で壊れる、という憶測がかなり真実味を帯びてきた。ウチの中の実測(?)事例で既に2件も。…とも言えないか。親父さんのプリンタの場合は、毎回インクタンク交換のたびにプリンタヘッド固定レバーを緩めてたというトンデモな事例なわけで。まあ、自分が先日購入したiP4600が、2年後に壊れたら、Canonタイマーが存在するのは間違いない、ということになるのかなあ。
[ ツッコむ ]
#2 [pc] 今日もo氏の家にお邪魔してPC関連のアレコレを
氏から「なんか色々エラーが出てる」てなメールが。電話で確認してみたら、ルータの初期化方法をNTTから教えてもらった云々の話が。マズイ。ルータを初期化したら、下手するとIP電話が使えなくなるのではないか。そういう事態に対処できるのかな。と不安になったので、今日もお邪魔することに。氏に車で迎えに来てもらった。
USB接続転送ケーブルは動いてるっぽい。 _シグマAPO EASY COPY BASIC (SLK3LIBK) という品。USBケーブルの先端にUSBメモリの類でも入っているようで、接続するとリムーバブルディスクが見える。自動再生すると、2画面ファイラーっぽいアプリが起動。ローカルとリモートのファイル一覧を確認しながら、ファイルコピーや移動が可能。
50GBほどの写真データを転送してもらったら、2時間ほどかかった…。氏にとっては、デジカメde同時プリントとホームページビルダーが重要なソフトらしいので、裏でファイルコピーを続けながら、それら重要アプリを先にインストールしてもらおう、かと思ったけど、アプリによってはインストール直後に再起動を求めてくるものもあるのでちと危ないなと。ということでルータの初期化・再設定作業のほうを先に。
USB接続転送ケーブルは動いてるっぽい。 _シグマAPO EASY COPY BASIC (SLK3LIBK) という品。USBケーブルの先端にUSBメモリの類でも入っているようで、接続するとリムーバブルディスクが見える。自動再生すると、2画面ファイラーっぽいアプリが起動。ローカルとリモートのファイル一覧を確認しながら、ファイルコピーや移動が可能。
50GBほどの写真データを転送してもらったら、2時間ほどかかった…。氏にとっては、デジカメde同時プリントとホームページビルダーが重要なソフトらしいので、裏でファイルコピーを続けながら、それら重要アプリを先にインストールしてもらおう、かと思ったけど、アプリによってはインストール直後に再起動を求めてくるものもあるのでちと危ないなと。ということでルータの初期化・再設定作業のほうを先に。
◎ ルータ RT-200KI の初期化と再設定作業。 :
ルータ RT-200KIのマニュアルを発掘したとのことで、ソレを見ながら初期化作業。や、マニュアルはネットでもPDFで公開されていて、自分もUSBメモリにコピーして持ってきたんだけど、とりあえず発掘できてよかった。
さておき、初期化作業。電源ケーブルを抜いた状態で、ルータ底面のRESETスイッチを千枚通しっぽいもので押しっぱなしにしながら、電源ケーブルを差す。INIT LEDが赤く光るまで RESETスイッチ押しっぱなし。赤く光ったらスイッチから手を離してOK。
http://192.168.1.1/ もしくは http://ntt.setup/ にアクセスして設定作業をしていくこともできるらしいけど、発掘されたマニュアルと一緒に、初期設定作業用のCD-ROMが発掘されたらしいので、それを使って設定してもらったり。新PC上でCD-ROM内のツールを起動したら途中で無反応になってしまったので、古いPC側でツールを起動。途中、ルータのパスワードを設定する場面が出てきたので、今度はしっかりメモしつつ設定してください、とお願いして作業を進めてもらった。
設定が一通り終わるとルータは自動的に再起動。その後、古いPC側からネットに繋がった。前述の設定ページ用アドレスにアクセスしてもらって、ユーザ名 admin、パスワードは先ほど設定したソレでログイン。設定ページがちゃんと表示された。
ざっくり各設定項目を眺めてもらったけど、ほとんどは初期設定状態で問題ないっぽい感じ。電話も繋がってるし。唯一、ファームウェアが随分と古いバージョンで、「ダウンロードして更新」的なボタンを押して更新してもらったり。
さておき、初期化作業。電源ケーブルを抜いた状態で、ルータ底面のRESETスイッチを千枚通しっぽいもので押しっぱなしにしながら、電源ケーブルを差す。INIT LEDが赤く光るまで RESETスイッチ押しっぱなし。赤く光ったらスイッチから手を離してOK。
http://192.168.1.1/ もしくは http://ntt.setup/ にアクセスして設定作業をしていくこともできるらしいけど、発掘されたマニュアルと一緒に、初期設定作業用のCD-ROMが発掘されたらしいので、それを使って設定してもらったり。新PC上でCD-ROM内のツールを起動したら途中で無反応になってしまったので、古いPC側でツールを起動。途中、ルータのパスワードを設定する場面が出てきたので、今度はしっかりメモしつつ設定してください、とお願いして作業を進めてもらった。
設定が一通り終わるとルータは自動的に再起動。その後、古いPC側からネットに繋がった。前述の設定ページ用アドレスにアクセスしてもらって、ユーザ名 admin、パスワードは先ほど設定したソレでログイン。設定ページがちゃんと表示された。
ざっくり各設定項目を眺めてもらったけど、ほとんどは初期設定状態で問題ないっぽい感じ。電話も繋がってるし。唯一、ファームウェアが随分と古いバージョンで、「ダウンロードして更新」的なボタンを押して更新してもらったり。
◎ やっぱり他のPCが見えない。 :
ルータがルータとして動いたように見えたので、古いPCからマイネットワークを開いて、新PCが見えるかどうかを確認。…ダメだった。やっぱり見えない。ping も通らない。
古いPCに入ってるウイルスバスターが悪さをしているのでは、と思ったので、ウイルスバスターのパーソナルファイアウォールを無効にしたり、Windowsファイアウォールを無効にして、再度確認。ダメ。やっぱり見えない。
ping は通らないが、ウイルスバスターの「ホームネットワーク」なるタブで、新PCのIPアドレスは見えている模様。PC名は見えてない。ということは、LANケーブルは物理的に繋がってる。ソフトウェア側の設定や動作状態に何か問題があるか、ルータがWindowsのファイル共有関係を全部ブロックしているか。
ルータ RT-200KI の設定項目の中に、「Windows共有」「ステルスモード」等が存在するので、もしかするとソレかもしれない。が、該当設定ページの「ヘルプ」には、「外部と云々」と書いてある。外部と言うのは、おそらくインターネット側という意味だろう。LAN内のソレには適用されないのではないか。どうなんだろう。
古いPCに入ってるウイルスバスターが悪さをしているのでは、と思ったので、ウイルスバスターのパーソナルファイアウォールを無効にしたり、Windowsファイアウォールを無効にして、再度確認。ダメ。やっぱり見えない。
ping は通らないが、ウイルスバスターの「ホームネットワーク」なるタブで、新PCのIPアドレスは見えている模様。PC名は見えてない。ということは、LANケーブルは物理的に繋がってる。ソフトウェア側の設定や動作状態に何か問題があるか、ルータがWindowsのファイル共有関係を全部ブロックしているか。
ルータ RT-200KI の設定項目の中に、「Windows共有」「ステルスモード」等が存在するので、もしかするとソレかもしれない。が、該当設定ページの「ヘルプ」には、「外部と云々」と書いてある。外部と言うのは、おそらくインターネット側という意味だろう。LAN内のソレには適用されないのではないか。どうなんだろう。
◎ 今日も時間切れ。 :
デジカメde同時プリントに関しては、フィルムが格納されてるフォルダを新PCにコピーしてから、デジカメde同時プリントの「参照フィルムの追加」で再度管理下におけることが判った。その作業を繰り返してもらえばなんとかなるだろうと。
ホームページビルダーの設定をコピーするところまでやってもらいたかったけど。htmlファイルその他のコピーを始めたらこれまた時間がかかる。設定ファイルまで転送はできなかった。ちなみに、
ホームページビルダーの設定をコピーするところまでやってもらいたかったけど。htmlファイルその他のコピーを始めたらこれまた時間がかかる。設定ファイルまで転送はできなかった。ちなみに、
C:\Documents and Settings\ユーザ名\Application Data\IBM\Homepage Builder Version ??\siteフォルダ内を丸々コピーすれば転送設定は引越できるはず。
◎ 帰宅。 :
お袋さんが会社から帰宅する前に電話を入れてくれたおかげで、お袋さんの車に便乗して自分も帰宅。
[ ツッコむ ]
#3 [pc] ヘッドフォンのスポンジがボロボロになってた
スポンジというか、イヤーパッドと言うらしいけど。Windows Live メッセンジャーの音声通話をテストするために、マイク付きヘッドフォンを引っ張り出してきたのだけど、イヤーパッドがボロボロ。耳につけたら、耳に黒いゴミがついてしまう。
仕方ないのでベリベリと剥がした。が、耳につけるとプラスチック部分が直接触るのでちと痛い。何か代替になりそうなものはないだろうか。100円ショップあたりで代わりのスポンジみたいなものを売ってないかな。
仕方ないのでベリベリと剥がした。が、耳につけるとプラスチック部分が直接触るのでちと痛い。何か代替になりそうなものはないだろうか。100円ショップあたりで代わりのスポンジみたいなものを売ってないかな。
[ ツッコむ ]
2008/04/22(火) [n年前の日記]
#1 [nitijyou] BSアンテナの配線をした
配線というか、分配というか。
以前、弟が帰省の折、アナログBSチューナーつきの8ミリビデオデッキを持ってきて譲ってくれたわけで。また、ヨドバシカメラで、BS分配器と混合器を購入済みだったわけで。チューナーも、配線用器具も、目の前にありながら、配線をしてないので見れない状態だったという。まあ、雪の積もった屋根の上で作業するわけにもいかんよな、という感じだったのだけど。さすがに時期も時期だし、今日は天気もいいので、作業開始。
階下の、BSチューナー付きビデオデッキの電源、及び、地上波用ブースターの電源を切ってから、ベランダで配線作業を。妹の部屋に分配されているBSアンテナ線を途中で切って、BS分配器に。BS分配器から出てきたBSアンテナ線を、地上波とBSの混合器に。…自分の居る部屋は、アンテナ線を一本しか引き込んでないので、地上波とBSを混合しないといけない。で、部屋のアンテナ線に、地上波とBSの分配器を取り付け。チューナーのF端子に接続。大体2時間ぐらい作業してたような気がする。
TVに映してみたら、一応見れた。でも、ゴーストが出ている・ノイズがちょっと増えてるような感も。
階下のTVで確認したら、ゴーストもノイズも出てなかった。…階下のTVには、2分配したものの片方が入ってるけど、自分の部屋と妹の部屋には、2分配したものの片方を、さらに2分配した状態で入れているので、信号が弱くなってる…ということなんだろうか。まあ、全然見れないよりはマシだろう…。
もしかすると、最初から3分配しちゃったほうが画質はまともになるのだろうか。でも、もう作業するのは面倒だなあ。
以前、弟が帰省の折、アナログBSチューナーつきの8ミリビデオデッキを持ってきて譲ってくれたわけで。また、ヨドバシカメラで、BS分配器と混合器を購入済みだったわけで。チューナーも、配線用器具も、目の前にありながら、配線をしてないので見れない状態だったという。まあ、雪の積もった屋根の上で作業するわけにもいかんよな、という感じだったのだけど。さすがに時期も時期だし、今日は天気もいいので、作業開始。
階下の、BSチューナー付きビデオデッキの電源、及び、地上波用ブースターの電源を切ってから、ベランダで配線作業を。妹の部屋に分配されているBSアンテナ線を途中で切って、BS分配器に。BS分配器から出てきたBSアンテナ線を、地上波とBSの混合器に。…自分の居る部屋は、アンテナ線を一本しか引き込んでないので、地上波とBSを混合しないといけない。で、部屋のアンテナ線に、地上波とBSの分配器を取り付け。チューナーのF端子に接続。大体2時間ぐらい作業してたような気がする。
TVに映してみたら、一応見れた。でも、ゴーストが出ている・ノイズがちょっと増えてるような感も。
階下のTVで確認したら、ゴーストもノイズも出てなかった。…階下のTVには、2分配したものの片方が入ってるけど、自分の部屋と妹の部屋には、2分配したものの片方を、さらに2分配した状態で入れているので、信号が弱くなってる…ということなんだろうか。まあ、全然見れないよりはマシだろう…。
もしかすると、最初から3分配しちゃったほうが画質はまともになるのだろうか。でも、もう作業するのは面倒だなあ。
[ ツッコむ ]
#2 [nitijyou] 部屋を掃除
BSの配線作業の下準備中に、部屋のアチコチにケーブルの被膜が飛んだので、ついでだから掃除機を。
掃除機のスイッチが入らない。なんでか知らんけど、スライド式のスイッチが、妙に硬くなってしまっていて。マイナスドライバーでグリグリと押しながらスイッチを入れている状態。
スイッチのついてる部分=ホースだけを買い替えれば問題解決なんだけど。社会人になった頃に購入した掃除機だから、さすがに交換不可能・在庫がないだろうと。でも、掃除機本体は動くわけで。どうにかならんかなぁ。ネジ止めしてあるホースなら、分解してスイッチだけ別のモノにして、等々できるんだろうけど。どうも接着剤で各パーツをくっつけてあるみたいで、分解できるようには見えず。まあ、吸引力を維持するために隙間を作ってはダメ、ということは接着剤を使ってくっつけていくのがベスト、だったのかもしれんけど。いや、ネジの排除はコスト削減に繋がる、てな理由なのかな。
掃除機のスイッチが入らない。なんでか知らんけど、スライド式のスイッチが、妙に硬くなってしまっていて。マイナスドライバーでグリグリと押しながらスイッチを入れている状態。
スイッチのついてる部分=ホースだけを買い替えれば問題解決なんだけど。社会人になった頃に購入した掃除機だから、さすがに交換不可能・在庫がないだろうと。でも、掃除機本体は動くわけで。どうにかならんかなぁ。ネジ止めしてあるホースなら、分解してスイッチだけ別のモノにして、等々できるんだろうけど。どうも接着剤で各パーツをくっつけてあるみたいで、分解できるようには見えず。まあ、吸引力を維持するために隙間を作ってはダメ、ということは接着剤を使ってくっつけていくのがベスト、だったのかもしれんけど。いや、ネジの排除はコスト削減に繋がる、てな理由なのかな。
[ ツッコむ ]
#3 [iappli] 900iシリーズで不具合
バグチェック報告が届いたけど、F900iで描画がボロボロだったり、N900iが不正終了したりで。N900iのソレはメモリ不足っぽい…。F900iは、反転描画してるところで問題が起きてるので、もしかすると機種固有のバグでもあるのかしら。いや、それともメモリ不足で描画されないだけか。
とりあえず、該当機種は非対応にする方向で話が進みそう。
各シーンの使用画像をもっと厳密に分類して、かつ、バックグラウンドで展開できるような処理を組み込んだ方がいいのかもしれない。が、バックグラウンドで展開すると、空きメモリの断片化を誘発する可能性もありそうな。Nシリーズなどは、断片化を解消してくれないらしいし…。
とりあえず、該当機種は非対応にする方向で話が進みそう。
各シーンの使用画像をもっと厳密に分類して、かつ、バックグラウンドで展開できるような処理を組み込んだ方がいいのかもしれない。が、バックグラウンドで展開すると、空きメモリの断片化を誘発する可能性もありそうな。Nシリーズなどは、断片化を解消してくれないらしいし…。
[ ツッコむ ]
2007/04/22(日) [n年前の日記]
#1 [nitijyou] 投票に行ってきた
参議院議員補欠選挙+市議会議員補欠選挙、かしら。雨が降っていたので歩きで行ってきた。
市議会議員に30歳台の方が立候補していた。会津大学出身でコンピュータに強そうな方。なんだか珍しい。当選しないものだろうか。もっとも、当選しても周囲の議員は御爺ちゃんばかりだから、ヒヨッコ扱いされて話がほとんど通じない予感。
市議会議員に30歳台の方が立候補していた。会津大学出身でコンピュータに強そうな方。なんだか珍しい。当選しないものだろうか。もっとも、当選しても周囲の議員は御爺ちゃんばかりだから、ヒヨッコ扱いされて話がほとんど通じない予感。
◎ そのまま食料の買出しに。 :
途中でケーズデンキとデンコードーに立ち寄ってFAXの価格を見てきた。ヨドバシのポイント還元まで考えると、数千円高い。うーん。
ノートPCも興味があって眺めたが、10万円以下のモノはやっぱり液晶がアレで…。OSにWindows Vista が入ってるのも問題。標準で512MBしかメモリを積んでない商品ばかりだから、実用にならないのでは。おそらく1GBほど積んでないと話にならない予感も。…いっそ、OS無しで売ってくれないだろうか。Ubuntu を入れたい。でも、比較的新しいハード上では、Linux は動かないよな。
ノートPCも興味があって眺めたが、10万円以下のモノはやっぱり液晶がアレで…。OSにWindows Vista が入ってるのも問題。標準で512MBしかメモリを積んでない商品ばかりだから、実用にならないのでは。おそらく1GBほど積んでないと話にならない予感も。…いっそ、OS無しで売ってくれないだろうか。Ubuntu を入れたい。でも、比較的新しいハード上では、Linux は動かないよな。
[ ツッコむ ]
#2 [cg_tools] _(連載)第5回:PNG(ぴんぐ) - 敢えて言おう、カスであると。
gifについて検索してたら辿りついた。png のネガティブキャンペーン記事、なのだろうか。ソーシャルブックマークは使ってない自分だけど、仮に使ってたら「これはひどい」タグをつけてたであろう予感。アイドルマスターとハルヒダンスを比較してたblog記事を思い出してしまった。こういうのって、釣りネタなのかなぁ。
ところで、optipng ぐらいは使ったのかしら。>gifとのファイルサイズ比較。ファイルサイズの小ささを比較するなら、画像形式を問わず、現状で極力サイズを小さくできる手順で検証しないと意味が無い。 *1
PNG は ZIP と同じ inflate/deflate を用いています。なぜ ZIP と同じ圧縮エンジンを用いているのでしょうか? おそらく、キィーッ!!っとなった時に たいした考察もなく「圧縮エンジンは有名所の ZIP と同じにしておけば良いだろう」ぐらいの考えだったのでしょう。特許問題回避を念頭においたから、じゃないのかしら。性能以前の話で、「自由」に使える方式じゃないと。独自に作ってもいいけど、特許に抵触してるかまた調べなきゃならないし。gifの二の舞は勘弁してくれ。いや、実際どういう経緯で決まったかは知らんのですが。
ところで、optipng ぐらいは使ったのかしら。>gifとのファイルサイズ比較。ファイルサイズの小ささを比較するなら、画像形式を問わず、現状で極力サイズを小さくできる手順で検証しないと意味が無い。 *1
“可逆”を捨てきれない PNG は “不可逆”と割り切った JPEG には全く太刀打ちできません。完敗です。「可逆圧縮」と「不可逆圧縮」を比較して、全体的な優劣を語れるわけがない。元画像との相違ドット数を比較されたらjpegは試合にすら出られず門前払いだろう。…ファイルサイズが大きくなっても画質を「元のまま維持」したいなら png で。画質が劣化してもファイルサイズを小さくしたいなら jpeg で。そんな具合に使い分けるしかないものに優劣をつけるのは土台無理ではないかと思うのだった。 *2
もし“可逆”が必要な画像データだったら (情報量を落とさずに圧縮したいなら)、 ZIP 圧縮すればよいのです。その場合、問題点が2つありそう。
- ZIPファイルに圧縮するという、その画像には、一体何のフォーマットを選択するのか。
- データの堅牢性。一部が壊れたときにどの程度データを救えるか。
◎ PNG = モノグサなユーザのためのフォーマット、ではないかと思っていたり。 :
「インデックスカラーで可逆圧縮」なら gif があるし。「フルカラーで可逆圧縮」「アルファチャンネル付随」なら tiff があるし。
*3
そう考えると「別に png でなくても」という話になる。のだけど。これだけWebブラウザが普及した現在、ブラウザにD&Dすればひとまず閲覧ぐらいは一応できるというのは、tiff の互換性問題 ―― 手持ちのソフトで最低限の閲覧ができるかできないかすら確証が持てない ―― 等を考えた場合、大きなアドバンテージ(に結果的になってしまった)と言ってもいいのではないか。画質の劣化もなく、あまり減らないけどベタ画像よりは容量も減り、各種情報も付随させられるフォーマット。イマイチなところはちょこちょこあっても、まあ、大体はこれでなんとかなりそう、みたいな。
ということで、「どの画像フォーマットがいいのやら。選ぶの面倒だなぁ。…ま、とりあえずこれで保存しとけば後々なんとかなるだろ。たぶん」的モノグサな人にとって、比較的ありがたいフォーマットなんじゃないかと思ったり思わなかったり。…でも、ツールを作る側にとっては、「なんでこんなにアレコレ仕様があるんだよ! しかもコレって使うヤツ居るのか?」とイラついてそうな予感も。 _Photoshopですら最初のうちは変なpngを吐き出してた し。仕様書がよほど判りづらかったのではないかと勝手な邪推。IEもアルファチャンネルに対応してないし。Webデザイナーの怨嗟の声が聞こえてくる気もするが、開発者にとって、やっぱり対応は面倒だったんだろうなぁ。
まあ、各画像フォーマットはそれぞれ得手不得手があるので、場面に応じて選択するのがベスト。狂信するのも変。全否定するのも変。適材適所だよね。という結論にしかならない気もするのだけど。
ということで、「どの画像フォーマットがいいのやら。選ぶの面倒だなぁ。…ま、とりあえずこれで保存しとけば後々なんとかなるだろ。たぶん」的モノグサな人にとって、比較的ありがたいフォーマットなんじゃないかと思ったり思わなかったり。…でも、ツールを作る側にとっては、「なんでこんなにアレコレ仕様があるんだよ! しかもコレって使うヤツ居るのか?」とイラついてそうな予感も。 _Photoshopですら最初のうちは変なpngを吐き出してた し。仕様書がよほど判りづらかったのではないかと勝手な邪推。IEもアルファチャンネルに対応してないし。Webデザイナーの怨嗟の声が聞こえてくる気もするが、開発者にとって、やっぱり対応は面倒だったんだろうなぁ。
まあ、各画像フォーマットはそれぞれ得手不得手があるので、場面に応じて選択するのがベスト。狂信するのも変。全否定するのも変。適材適所だよね。という結論にしかならない気もするのだけど。
◎ _スラッシュドット ジャパン | Microsoftが新しい画像フォーマットの仕様公開 :
Windows Media Photo という名称のコレ。ロスレス圧縮もあるなら、png を置き換えることもできそう。将来的にはデファクトスタンダードになったりするのかもしれないな、てなことを想像したりもする。Windows に標準搭載 or MSがサポートして、求められる機能・仕様がほとんど入っていて、しかも規格がある程度公開でもされれば、皆さんソレを使うだろうし。それはそれで自分にとっても嬉しい状況かもしれず。画像フォーマット選択で悩まずに済むのはありがたい。
が、オープンな状態ではないという話も上がってるようで不安。Mac や UNIX 系で読むことすら出来なかったらどうしよう。
レイヤーは持てるのかな。どうなんだろう。そこらへんも対応できて、かつ、普及しそうなフォーマットって無いものかしら。もっともそのへん、ソフト側の対応にかかってるし。
が、オープンな状態ではないという話も上がってるようで不安。Mac や UNIX 系で読むことすら出来なかったらどうしよう。
レイヤーは持てるのかな。どうなんだろう。そこらへんも対応できて、かつ、普及しそうなフォーマットって無いものかしら。もっともそのへん、ソフト側の対応にかかってるし。
[ ツッコむ ]
#3 [iappli] PaletteImage について実験中
Palette から getEntry() で取り出した int を Integer.toHexString() で16進数表示したら、
なんとかなりそうな予感。後は画像のロード部分に処理を追加 or 別途ロード処理を作成、かしら。実機上で動かした際のヒープサイズや描画処理速度が懸念されそうではあるけど。
00ffffffff 00ffff0000 00ff00ff00 00ff0000ff 00ff010203 00ff800000 00ff008000 00ff000080 00ff00ffff 00ffff00ff 00ffffff00こんな感じの値に。おそらくは、
((謎値 & 0x0ff) << 24) | ((R & 0x0ff) << 16) | ((G & 0x0ff) << 16) | (B & 0x0ff)という感じ? 謎の値で 0x0ff が入ってるのが気になるけれど。もしかすると不透明度の情報なのかもしれない。ということでそんな感じに推測して実験ソースを。
/** * PalettedImage の表示テスト */ import java.io.InputStream; import javax.microedition.io.Connector; import com.nttdocomo.io.ConnectionException; import com.nttdocomo.ui.Canvas; import com.nttdocomo.ui.Dialog; import com.nttdocomo.ui.Display; import com.nttdocomo.ui.Graphics; import com.nttdocomo.ui.IApplication; import com.nttdocomo.ui.Image; import com.nttdocomo.ui.MediaImage; import com.nttdocomo.ui.MediaManager; import com.nttdocomo.ui.Palette; import com.nttdocomo.ui.PalettedImage; import com.nttdocomo.ui.PhoneSystem; public class TestPalettedImage extends IApplication { Main m = new Main(); public void start() { Display.setCurrent(m); m.exec(); } } final class Main extends Canvas { static final int FPS = 20; static final int SLEEP_VALUE = 1000 / FPS; static final int SCR_W = 240; static final int SCR_H = 240; private Graphics g = getGraphics(); private int waitTime; private long getTime; private int frameCounter; private int rootStep; private Image bgimg; private PalettedImage palimg; private Palette[] pal = new Palette[5 * 5]; private int btnStsInterrupt; // コンストラクタ public Main() { System.gc(); } // メイン public void exec() { waitTime = SLEEP_VALUE; // フレーム間隔 rootStep = 0; // バックライトON PhoneSystem.setAttribute(PhoneSystem.DEV_BACKLIGHT, PhoneSystem.ATTR_BACKLIGHT_ON); getTime = System.currentTimeMillis(); // メインループ while (true) { try { switch (rootStep) { case 0 : // init { // 背景画像をロード MediaImage image = MediaManager.getImage("resource:///3.gif"); try { image.use(); bgimg = image.getImage(); } catch (ConnectionException e) { image = null; displayDialog(Dialog.DIALOG_ERROR, "実行エラー", "BGイメージロード失敗。" + e); } // パレットを変える画像をロード try { // Connection con=Connector.open("resource:///testimg.gif",Connector.READ); // InputConnection incon=(InputConnection)con; // InputStream in = incon.openInputStream(); InputStream in = Connector.openInputStream("resource:///2.gif"); // パレットを設定できるイメージを生成 palimg = PalettedImage.createPalettedImage(in); in.close(); } catch (Exception e) { displayDialog(Dialog.DIALOG_ERROR, "Error", "パレットイメージロード失敗。" + e); } // パレットを取得 Palette p = palimg.getPalette(); // 色数取得 int colnum = p.getEntryCount(); // パレット値を表示してみる for (int i = 0; i < p.getEntryCount(); i++) { int argb = p.getEntry(i); String s = "0000000000000000" + Integer.toHexString(argb); String sb = s.substring(s.length() - 16); System.out.println(sb); } // 変化させるためのパレットオブジェクトを確保 for (int i = 0; i < pal.length; i++) { pal[i] = new Palette(colnum); } // 変化させるためのパレットを作成 for (int c = 0; c < pal.length; c++) { int v = c * 256 / (5 * 5); for (int i = 0; i < p.getEntryCount(); i++) { int argb = p.getEntry(i); int a = (argb >> 24) & 0x0ff; int r = (argb >> 16) & 0x0ff; int g = (argb >> 8) & 0x0ff; int b = argb & 0x0ff; r = r * (256 - v) / 256; g = g * (256 - v) / 256; b = b * (256 - v) / 256; argb = Graphics.getColorOfRGB(r, g, b, a); pal[c].setEntry(i, argb); } } rootStep++; } break; case 1 : // draw { g.lock(); // BG 描画 g.drawImage(bgimg, 0, 0); { int w = palimg.getWidth(); int h = palimg.getHeight(); int idx = 0; for (int y = 0; y < 5; y++) { for (int x = 0; x < 5; x++) { int dx = 16 + (w + 8) * x; int dy = 16 + (h + 8) * y; // パレットを変える palimg.setPalette(pal[idx]); // 描画 g.drawImage(palimg, dx, dy); idx++; } } } g.unlock(true); } break; } System.gc(); while (System.currentTimeMillis() < getTime + waitTime) Thread.yield(); getTime = System.currentTimeMillis(); frameCounter++; } catch (Exception e) { displayDialog(Dialog.DIALOG_ERROR, "実行エラー", "処理中に問題発生。" + e + " rootStep=" + rootStep); } } } // 画面描画 public void paint(Graphics g) { } // イベント通知処理 public void processEvent(int a_type, int a_param) { if (a_type == Display.KEY_PRESSED_EVENT) btnStsInterrupt |= (0x01 << a_param); } // エラー時のダイアログ表示 public void displayDialog(int type, String title, String str) { Dialog d = new Dialog(type, title); d.setText(str); d.show(); IApplication.getCurrentApp().terminate(); } }
なんとかなりそうな予感。後は画像のロード部分に処理を追加 or 別途ロード処理を作成、かしら。実機上で動かした際のヒープサイズや描画処理速度が懸念されそうではあるけど。
◎ 2007/04/23追加。 :
上のソースは問題ありな予感。本番用ソースに同じような記述をしたら色がおかしくなった。
[ ツッコむ ]
#4 [tv][movie][neta] 「悪が白いファッション」とか「大江戸八百八町」とか
親父さんがビデオで「眠狂四郎」なる映画を見ていた。自分も画面をしばらく眺めていたが、どうも悪の側が白装束らしい。感心。劇場版ハカイダーを思い出してしまった。<見てないけど。月光仮面が白装束だったことを考えると、どこかで「正義が白、悪が黒ではありきたりでつまらんやろ」という変化があったのだろうと想像するのだけど。いや、むしろ月光仮面が王道から外れてたりしたらどうしよう。江戸時代の作品なんかは悪が白なのが常、だったりして。うーむ。
◎ 「大江戸八百八町を火の海に」という何気ない台詞を耳にして唸ってしまった。 :
隙が無い。「808」ってのがいいよな。
考えてみれば、101,202,303,404,505,606,707,808,909…どれもなんだかグッとくる。何故だ。リズムがあるのか。
考えてみれば、101,202,303,404,505,606,707,808,909…どれもなんだかグッとくる。何故だ。リズムがあるのか。
◎ 「ヒーロー404」てのはどうか。 :
彼は神出鬼没。颯爽と事件を解決する。街の人々は、正体不明の彼に、インターネットにまつわるコードをあててこう呼んだ。「ヒーロー404」と。「…さあこれからだというときに、スッと消えちまうんだよ。まったくもう役に立たねえなぁ、アイツは!」<そっちかよ。
名探偵401とか。「この事件は、つまるところ…続きを聞きたいですか? フフフ。ここから先は秘密です」<使えねえなコイツ。
ソルジャー302とか。「…お前!? また寝返ったのか!?」<常習犯なのか。
そういや「仮面ライダー555」ってあったなぁ。「ゴー!ゴー!ゴー!か。勢いがあるなぁ」と思ったら「ファイズ」なんだもんな。やられた。オシャレさんだ。
名探偵401とか。「この事件は、つまるところ…続きを聞きたいですか? フフフ。ここから先は秘密です」<使えねえなコイツ。
ソルジャー302とか。「…お前!? また寝返ったのか!?」<常習犯なのか。
そういや「仮面ライダー555」ってあったなぁ。「ゴー!ゴー!ゴー!か。勢いがあるなぁ」と思ったら「ファイズ」なんだもんな。やられた。オシャレさんだ。
[ ツッコむ ]
#5 [zatta] 通常の状態から外れているものをなんと呼べばいいのだろう。イリーガル、ではなさそうなんだが
イリーガル=違法・不法、という意味らしいので。別に法があるわけでもないんだけど、常道から外れてると思われるものは、何と呼ぶのか。適した英単語 or カタカナ言葉があったような気もするんだけど。
アブノーマル、とか? 「正義が白、悪が黒という常道から外れてるわけで、いわば眠狂四郎はアブノーマルなデザインでまとめられている」とかそんな感じで使ってもいい感じ? なの? 自信がないであります。
アブノーマル、とか? 「正義が白、悪が黒という常道から外れてるわけで、いわば眠狂四郎はアブノーマルなデザインでまとめられている」とかそんな感じで使ってもいい感じ? なの? 自信がないであります。
[ ツッコむ ]
2006/04/22(土) [n年前の日記]
#1 [nitijyou] 自分はとんでもない勘違いをしていた
今日は…4/22だよな。昨日は…4/21。
なんでか知らんが、昨日は、4/28かと思い込んでた。4/30まで3日しかないよ、こりゃ大変だ、大変だ〜、みたいな感じで大慌て状態になってたという。トホホ。
まあ、4/21と思ってたら4/28だったりするより、まだよかったのかもしれん…。ていうか、もうボケが始まってるんでは… > My脳。
なんでか知らんが、昨日は、4/28かと思い込んでた。4/30まで3日しかないよ、こりゃ大変だ、大変だ〜、みたいな感じで大慌て状態になってたという。トホホ。
まあ、4/21と思ってたら4/28だったりするより、まだよかったのかもしれん…。ていうか、もうボケが始まってるんでは… > My脳。
[ ツッコむ ]
#2 [pc][digital] 玄人志向の KURO SHOT、沈黙
KURO SHOT = 静止画撮影機能・音声録音機能・Webカメラ機能・動画撮影機能がついてる 64MB のUSBメモリ。
USBケーブルで繋いでも充電されませんがな。何回繋いで待ってみても、「Lb」=「ローバッテリー」=「電池切れですよ」表示。まだ、3〜4回しか持ち歩いてないというのに…。さすが、玄人志向。さすが、KURO SHOT。「5 in 1」と謳ってた商品なれど、数回の使用で正真正銘の「1 in 1」になってしまった。ス・ゴ・ス・ギ・ル! 道理で、あきばおーが投売りしてたはずだなー。
まあ、64MB のUSBメモリとしては使えるし。フロッピーよりは入るから、いいかな。などと必死に自分を納得させようとしてみたり。
USBケーブルで繋いでも充電されませんがな。何回繋いで待ってみても、「Lb」=「ローバッテリー」=「電池切れですよ」表示。まだ、3〜4回しか持ち歩いてないというのに…。さすが、玄人志向。さすが、KURO SHOT。「5 in 1」と謳ってた商品なれど、数回の使用で正真正銘の「1 in 1」になってしまった。ス・ゴ・ス・ギ・ル! 道理で、あきばおーが投売りしてたはずだなー。
まあ、64MB のUSBメモリとしては使えるし。フロッピーよりは入るから、いいかな。などと必死に自分を納得させようとしてみたり。
[ ツッコむ ]
#3 [digital] 携帯を買ってきた
「買ってきた」という言い方で合ってるのかどうかは疑問が残るけど。
朝方、ロックタウンのDoCoMo専門店で新規契約してきた。mova N506iS。FOMA を薦められたけど、mova 用のiアプリを作る関係上、mova にするしかないわけで。…価格は、本体+ACアダプタ+卓上ホルダで、8,000円ぐらい。…高いのか安いのかわからんであります。
いかんせん、卓上ホルダとやらは何に使うのかすらわからない人間なので、アレコレ尋ねてしまって契約作業で結構時間がかかったり。なんつーか、お世話になりました。>お店のお姉さん。
帰宅後、少し触ってみたけど。なんだかゾッとした。よくまあこんなにギッシリとアレコレ入ってるなぁ…。コレ、PCより難しそうではないか。皆さん、よくまあこんなものを使いこなせるもんだなと。恐ろしい。…って自分、何年ぐらい時代に取り残されてるのか。トホホ。
内蔵サウンドの、ルパン三世の曲を聴いてクラクラしてきた。今時は、ほとんどの人が電子楽器を持ち歩いてる時代なのね。
朝方、ロックタウンのDoCoMo専門店で新規契約してきた。mova N506iS。FOMA を薦められたけど、mova 用のiアプリを作る関係上、mova にするしかないわけで。…価格は、本体+ACアダプタ+卓上ホルダで、8,000円ぐらい。…高いのか安いのかわからんであります。
いかんせん、卓上ホルダとやらは何に使うのかすらわからない人間なので、アレコレ尋ねてしまって契約作業で結構時間がかかったり。なんつーか、お世話になりました。>お店のお姉さん。
帰宅後、少し触ってみたけど。なんだかゾッとした。よくまあこんなにギッシリとアレコレ入ってるなぁ…。コレ、PCより難しそうではないか。皆さん、よくまあこんなものを使いこなせるもんだなと。恐ろしい。…って自分、何年ぐらい時代に取り残されてるのか。トホホ。
内蔵サウンドの、ルパン三世の曲を聴いてクラクラしてきた。今時は、ほとんどの人が電子楽器を持ち歩いてる時代なのね。
この記事へのツッコミ
[ ツッコミを読む(2) | ツッコむ ]
#4 [nitijyou] 蓋つき灰皿をようやく発見
100円ショップ(ダイソー)で、小物入れにも使えるという、蓋つき灰皿を発見。やっと遭遇した…。表面には林静一のイラストが印刷されてる。むぅ。この娘さんをこれからバンバン汚しまくるのだな。煙草の灰で。
[ ツッコむ ]
#5 [nitijyou] 煙草におまけでついてくるライターは本当に不良品だなとまた再確認
コンビニで煙草を買ったら、ライターがついてきた。帰宅後、気になって使ってみたら。最初の一発目はついたものの、2回目からは火がつかない。…連中は、喫煙者にゴミを押し付けてるのか?
次回からは、「ライターは要らない」と店頭で言うことにしよう。コレ以上、ライター未満のものばかり手元に増えてもな。…中身の液体は、何かに使えないものだろうか。うーん。
次回からは、「ライターは要らない」と店頭で言うことにしよう。コレ以上、ライター未満のものばかり手元に増えてもな。…中身の液体は、何かに使えないものだろうか。うーん。
◎ 一番長持ちしたライターは同期の人に貰った品だったな。 :
新入社員1年目のときに、「デザインが趣味じゃないから」という理由で、同期の人からターボライターを貰って。たしか5〜6年ぐらい使えてた。最後は電熱線(?)が赤くならなくなって壊れたけど。…かなり長持ちしたあたり、実は高級なライターだったのでは、という不安もあるのだけど。自分は無学なのでそのへんさっぱりわからなくて。何にせよ、非常に快適に使えてたので感謝、みたいな。
どこのメーカーの品だったのだろう。あのくらい長持ちするのを、手元に一つだけ置いといて使いたいものであります。…でも、ターボライターってこのへんではあまり見かけない。何故。もう流行らないのだろうか。
どこのメーカーの品だったのだろう。あのくらい長持ちするのを、手元に一つだけ置いといて使いたいものであります。…でも、ターボライターってこのへんではあまり見かけない。何故。もう流行らないのだろうか。
[ ツッコむ ]
#6 [nitijyou] ktからチラシが
Webに載せてほしいとのことで。…印刷物だから打ち込みなおさなきゃいけない。時間がかかりそう。
OCR(読んでココ・スキャナバンドル版)で変換してみたものの、盛大に誤認識。OCRって、使えんなぁ…。
OCR(読んでココ・スキャナバンドル版)で変換してみたものの、盛大に誤認識。OCRって、使えんなぁ…。
[ ツッコむ ]
#7 [iappli] 仮画像を作成中
敵キャラの仮画像を作成、してたのだけど、上手くいかん。…諦めた。丸を描いて、文字を入れて、済ませることに。
[ ツッコむ ]
2005/04/22(金) [n年前の日記]
#1 [pc] _キーボードの上部やモニターに貼り付けて使うプログラマブルキーボード「X-keys Stick PS/2」が登場
面白そう。色々使えそうな。値段が高すぎるのがアレだけど。
[ ツッコむ ]
#2 [movie] 『キューティハニー』実写版を見た
アハハ。笑った。どれもこれもぶっちゃけありえない。そこが面白かった。好きであります。こういうの。
けど。どうも期待しすぎちゃってたみたい。こちらから積極的に近づいてやらないと笑えないなぁ。全体に漂うB級C級感というか、トホホな雰囲気に対して微笑を浮かべることのできる人じゃないと楽しめない予感。なんていうか…。例えば、タイムボカンシリーズ等を楽しめる人じゃないと、みたいな?
とりあえず、ミッチー最高。ミッチーを輝かせるためだけに、この映画は存在する。ってことで個人的には充分。かも。ミッチー色っぽいよミッチー。
以下、細かい感想。
けど。どうも期待しすぎちゃってたみたい。こちらから積極的に近づいてやらないと笑えないなぁ。全体に漂うB級C級感というか、トホホな雰囲気に対して微笑を浮かべることのできる人じゃないと楽しめない予感。なんていうか…。例えば、タイムボカンシリーズ等を楽しめる人じゃないと、みたいな?
とりあえず、ミッチー最高。ミッチーを輝かせるためだけに、この映画は存在する。ってことで個人的には充分。かも。ミッチー色っぽいよミッチー。
以下、細かい感想。
◎ ハニメーション :
自分が気になってたのは、この映像表現。最初に、その手法についてのテキスト情報のみ読んだときは、とても期待してたんだけど。予告編の映像を見て不安になってたわけで。
が。本編を見ると、戦闘シーンはテンションが高いせいもあって、それほど違和感はなかった。この手の企画なら結構使えそうな。
とはいえ。標準的というか、汎用性のある手法としては使い物にならない感も。やっぱり、アニメの3コマ撮りの感覚を実写に持ち込むのは無理があるのかな。なんとなくだけど、静止画にしたときの、一枚一枚の情報量が多すぎる・正確過ぎる気もしたり。何か処理をかけて、色なり、細部なり、画像情報を減らしたり等すれば、多少違ってくるかしら…。いや。その手の試行錯誤は既に行った上での最終的な映像であろうし。となると、やっぱりなかなか使い道がなさげではあるなぁ。
人形アニメ等で使えないかしら。NHK教育あたりで流れてるような、そういった作品で。…手間を考えるとそうそう使えないか。
が。本編を見ると、戦闘シーンはテンションが高いせいもあって、それほど違和感はなかった。この手の企画なら結構使えそうな。
とはいえ。標準的というか、汎用性のある手法としては使い物にならない感も。やっぱり、アニメの3コマ撮りの感覚を実写に持ち込むのは無理があるのかな。なんとなくだけど、静止画にしたときの、一枚一枚の情報量が多すぎる・正確過ぎる気もしたり。何か処理をかけて、色なり、細部なり、画像情報を減らしたり等すれば、多少違ってくるかしら…。いや。その手の試行錯誤は既に行った上での最終的な映像であろうし。となると、やっぱりなかなか使い道がなさげではあるなぁ。
人形アニメ等で使えないかしら。NHK教育あたりで流れてるような、そういった作品で。…手間を考えるとそうそう使えないか。
◎ 時間間隔 :
テンポは速いし、上映(?)時間は短いしで。比較的飽きないうちに終わるよう作ってあるなと感心したり。また、間の取り方が上手いなと。やはり、アニメを何本も作ってきた監督さんらしい仕事振りかなと思ったり。
◎ 構成 :
冒頭近辺に戦闘シーンを持ってきたことに感心。Vガンダムですかな。
ただ、竜頭蛇尾だったなと。特に最後のあたりはキリキリと同じになってて脱力。監督としては先輩格なのに、何やってんだかな、もう。トップランナーで「芸風を変えた」とか宣言してたわりには…相変わらずEVAと似たような自己完結ぶりというか、失速具合というか。…まあ、そのへんも含めて、色々期待し過ぎちゃってたのだろう。>自分。あまり期待し過ぎてもガッカリするし、全く期待しないとそもそも見たくならないしで。そのへんなかなか難しいよなぁ。
ただ、竜頭蛇尾だったなと。特に最後のあたりはキリキリと同じになってて脱力。監督としては先輩格なのに、何やってんだかな、もう。トップランナーで「芸風を変えた」とか宣言してたわりには…相変わらずEVAと似たような自己完結ぶりというか、失速具合というか。…まあ、そのへんも含めて、色々期待し過ぎちゃってたのだろう。>自分。あまり期待し過ぎてもガッカリするし、全く期待しないとそもそも見たくならないしで。そのへんなかなか難しいよなぁ。
◎ サトエリの服装で引いた :
これは自分の側にやましい何かが潜んでる故ではないか、という気もするんだけど。冒頭の入浴シーンとか、下着姿とか、そのへんで引いてしまった。何故なんだろうなぁ…。
例えば、男性がパンツ一丁で走ってたら、引いたりせずに笑えると思うのだな>自分。しかし、女性が下着姿で走ってると、引く…。異性に対して、夢というか、ロマンチックな何かを期待してるのだろうか。かもしれん。うーん。
例えば、男性がパンツ一丁で走ってたら、引いたりせずに笑えると思うのだな>自分。しかし、女性が下着姿で走ってると、引く…。異性に対して、夢というか、ロマンチックな何かを期待してるのだろうか。かもしれん。うーん。
◎ 『CASSHERN』との比較 :
本来、他作品と比較すること自体、どうなんだとは思うのだけど。やっぱり気になっちゃうわけで。何せ、漫画・アニメを基にした実写化であり。主人公が、彼岸の世界(<なのか?)から戻ってきた系のヒーローで、かつ、スタート地点では孤独でもあり。CG技術の発展・普及無しでは実現が難しかったであろう企画でもあり。共通点はいくつかあるわけで。…もっとも。男か、女か。後ろ向きか、前向きか。暗いか、明るいか。孤独なままか、仲間を求めるか。全てを破壊するか、和で収束させるか。違いが綺麗に対になってるところもあって。そのへんなかなか興味深かったり。
あちこちの感想記事を見たのだけど、「『CASSHERN』の監督とは格が違う」なる感想を目にして首を捻ったり。お前の目は節穴か! というのは言い過ぎにしても。作品を見る限り、自分には、どっちも同種というか…格の違いなんかどこにあるねんと。庵野監督は経験年数が多いから、各種テクニックを知ってるだけというか…本質的には同じだろうと。どちらも、既存作品のコラージュ? に終始せざるをえないという、アニメオタク第二世代特有?の限界が見え隠れしてるし。それに…。最後のあたりで、どうしてどちらも語り始めることで話を収拾させようとするねんな。ヤマトなり、富野アニメなり、そのへんの重力から逃れることができてない証拠やんか。…と思ったけどなぁ。
あちこちの感想記事を見たのだけど、「『CASSHERN』の監督とは格が違う」なる感想を目にして首を捻ったり。お前の目は節穴か! というのは言い過ぎにしても。作品を見る限り、自分には、どっちも同種というか…格の違いなんかどこにあるねんと。庵野監督は経験年数が多いから、各種テクニックを知ってるだけというか…本質的には同じだろうと。どちらも、既存作品のコラージュ? に終始せざるをえないという、アニメオタク第二世代特有?の限界が見え隠れしてるし。それに…。最後のあたりで、どうしてどちらも語り始めることで話を収拾させようとするねんな。ヤマトなり、富野アニメなり、そのへんの重力から逃れることができてない証拠やんか。…と思ったけどなぁ。
◎ _庵野監督がみんなに、『ズバット』を見せた時に、しまったと思ったんですよ。 :
アハハ。こっちもか。キリキリの「イデオン」が、「ズバット+安野モヨコ作品」になっただけちゃうんか(笑) にしてもその組み合わせは凄い。そりゃ、Pの頭の中でアラートが鳴り響くよなぁ…。<勝手な想像。
どこかで、「デートコースの途中で見てもらえるような映画を意識して作った」云々という話も聞いたんだけど。「デートコースで『怪傑ズバット』を見せれば彼女にも喜んでもらえる!」的な監督の発想・思考からして、狂っててイイ、と思ったり。そういうの、自分は好きであります。
庵野監督自身があちこちで口にしてることだけど。宮崎監督や高畑監督あたりの世代と違って、どうしても、既存作品のイメージというか、TVや映画の、フレームで切り取られた・デフォルメされた・編集されたイメージの呪縛から逃れられない世代だから…。このへん、開き直って、肯定して、使っていくしかないわけで。結局、素材のチョイスと組み合わせ方で差をつけていくしかないんだろうなぁ。と自分などもぼんやり思ったりする。
どこかで、「デートコースの途中で見てもらえるような映画を意識して作った」云々という話も聞いたんだけど。「デートコースで『怪傑ズバット』を見せれば彼女にも喜んでもらえる!」的な監督の発想・思考からして、狂っててイイ、と思ったり。そういうの、自分は好きであります。
庵野監督自身があちこちで口にしてることだけど。宮崎監督や高畑監督あたりの世代と違って、どうしても、既存作品のイメージというか、TVや映画の、フレームで切り取られた・デフォルメされた・編集されたイメージの呪縛から逃れられない世代だから…。このへん、開き直って、肯定して、使っていくしかないわけで。結局、素材のチョイスと組み合わせ方で差をつけていくしかないんだろうなぁ。と自分などもぼんやり思ったりする。
[ ツッコむ ]
2004/04/22(木) [n年前の日記]
#1 [pc] 親父さんPCにAVG free versionをインストール
OE6でのメール受信時に、チェックしたことを示す文を追加するよう設定してるはずが、全然追加されてない。ウイルスが入ってないと働かないのか。それともいきなり受信フォルダを開いた状態でOE6を起動してるからだろうか。後で調べてみないと。
[ ツッコむ ]
#2 [pc][vine] 親父さん旧PCにVine Linuxをインストール
放置してた親父さん旧PCをどうにかしようと。
◎ モニタを接続 :
モニタケーブルが短くて届かない。PCデスクとTVラックの隙間にフルタワーケースを押し込めて距離を稼いでどうにか接続。延長ケーブルでもあればな。
◎ BIOSアップデート :
M/B ASUS P2B-S のBIOSを最新の1014beta3 にアップデート。
*1
DOSの起動FDに、aflash.exe と 1014beta3のファイルをコピー。FDで起動 → afalsh.exe 起動。1を選んで現在のBIOSをFDに保存。2を選んで1014beta3のファイルを指定。滞りなく作業終了。
◎ CPU交換 :
ケースを隙間から引きずり出し、PenIII-500MHz と Celeron-700MHz + MSI MS-6905 Master(Socket370 → Slot1 変換下駄) を交換。…起動しない。BIOS画面すら出ない。ブザー音も鳴らない。M/B ASUS P2B-S上のFSBや倍率設定を弄ってみたり、
*2
CLRTCとやらのピンをショートさせてBIOS設定をクリアしてみるも変化無し。PenIII-500MHz を差し直すとちゃんと起動する。しかし、再度 Celeron-700MHz + MS-6905 Master を差し直しても起動せず。PCデスクとTVラックの隙間からケースを抜いてM/Bのピン設定を弄ってまた隙間に押し込めての繰り返し。…疲れた。ヘトヘト。諦めた。このM/BはPenIII 500MHzで動かすしかなさそう。
*3
それでも、今設置してるヘボサーバ機、無印 K6-200MHz の 2.5倍の速度だし。2.5倍といえば、赤い彗星までもう少し。そう考えると…なんだ!速いじゃないか!<無理してる。
◎ Vine Linux 2.6r4 インストール :
PenIII-500MHz に戻して、Vine Linux 2.6r4をインストール。特に問題なくインストールできた。NICも認識されてるので、apt-get update → apt-get upgrade を実行。滞りなく作業終了。後はサーバ機の設定を反映させる作業が残ってる。sshでログインできるだろうから、これからはモニタを繋げなくても、LANで繋がってさえいれば、メインPCのputtyからログインして作業ができるだろう。たぶん。
◎ CPU交換に失敗したのは電圧っぽい :
Celeron-700MHzが動かない理由についてもう少し調べてみた。PenII-500MHz(Katmai?)は2.00〜2.05V、Celeron-700MHz(Coppermine)は1.65v。そのへんかな。
*4
でも電圧関係は下駄でどうにかして…くれるのかどうかわからんな。…ああ、
_ダメみたいだ。
ASUS P2Bなど440BXマザーの初期のもので、CoppermineコアのPentium?やCeleronが動かないのは、Coppermineコアの必要とする1.80V未満の電圧を発生できないからです。CPUのコア電圧は、M/B側にある電圧コントローラICによって発生します。例えば、このときCPUから1.75Vの電圧を要求しても、1.80V以下は出せないので電源を入れてもCPUファンすら動きません。電圧コントローラICは、ATX電源コネクターの近くにあります。チップに印字されている型番はHIP6019CBになっているはずです。このチップでは1.8〜3.5Vに対応してます。電圧コントローラICのチップが、HIP6019BCBなら初期のM/Bではないのでコア電圧の問題はありません。「CB」か「BCB」のちがいを良く見てください。残念。手元の ASUS P2B-S には、HIP6004ACB が載ってる。更に、 _こちらの1999/11/27の項 で詳しく書かれてた。
こ奴のV-coreのDC-DCコンバーターには、「HIP6004ACB」が使われており、DatasheetのPDFを落としてみました。「HIP6004」シリーズには、「HIP6004ACB」「HIP6004CB」「HIP6004BCB(BCV)」と3種類あるようですが、肝心の「HIP6004ACB」は唯一1.8V以下の生成ができない様です。ですから、私のP6-DBUはCoppermineには対応していないと思われます。BIOSが対応していても、電圧が・・・・(T_T) 製造ロットによっては、「HIP6004CB」「HIP6004BCB(BCV)」が使われている可能性もありますのでお持ちの方は調べてみて下さい。こちらはV-core 1.3V〜3.5V対応です。なるほど。つまりこの ASUS P2B-S では Coppermine は電圧の問題で使えないということか。 _こちらのページ によると、 _PL-iP3 等のコア電圧生成機能つき下駄を使えば定格で動くと書いてあった。しかし、その手の下駄は安くても5千円ぐらいするし、今では入手不可に近いだろうし。
◎ 500MHz〜700MHzって :
中古PCだと1万円台ですな。下駄を買うより省スペースな中古PCでも買ったほうが、場所取らない・電気食わない・うるさくない、でいいかもしれず。…でも余ったPCはどうなる。自分、貧乏性なので、もったいない、何かに使ってやらねばと強迫観念が。
◎ 2005/04/08追記 :
カテゴリーの情報が足りなかったので「vine」を追記。
*1: 最初、
_ASUSのサイト
で入手した最新版BIOSが1012なのに、M/Bに入ってるBIOSが1013beta6だったので首を捻ったり。ASUSのサイトで「ベータ」にチェックを入れないとダメだったのだな。
*2: PenIII-500MHz は FSB100MHz x 5.0 。 Celeron-700MHz は FSB66MHz x 10.5 。そのあたりかと思ったけど違った。そもそも10.5倍設定なんて ASUS P2B-S には無いし。最高倍率の6.0倍ではダメか。CPU側は固定倍率なんだけどな。
*3: MSI の下駄と、ASUS の M/B という組み合わせがいかんのか。それとも Celeron-700MHz が死んでるか。
*4: ちなみに M/B ASUS P2B-S の Rev. は 1.03。
*2: PenIII-500MHz は FSB100MHz x 5.0 。 Celeron-700MHz は FSB66MHz x 10.5 。そのあたりかと思ったけど違った。そもそも10.5倍設定なんて ASUS P2B-S には無いし。最高倍率の6.0倍ではダメか。CPU側は固定倍率なんだけどな。
*3: MSI の下駄と、ASUS の M/B という組み合わせがいかんのか。それとも Celeron-700MHz が死んでるか。
*4: ちなみに M/B ASUS P2B-S の Rev. は 1.03。
この記事へのツッコミ
- Re: 親父さん旧PCにVine Linuxをインストール by Y 2004/04/24 17:59
- そういえばCoppermine登場時に1.75Vの電圧が発生
できないマザーは使えないとかいった記事が掲載され
てましたですね。
>下駄
確か持ってたと思い探してみたのですが見当たりません(汗) - Re: 親父さん旧PCにVine Linuxをインストール by mieki256 2004/04/24 19:25
- > そういえばCoppermine登場時に1.75Vの電圧が発生
> できないマザーは使えないとかいった記事が掲載され
> てましたですね。
なるほど。
自分のメインPCのM/BもSlot1なのですが、
そちらはCoppermineの電圧を発生できるものだったんで、
そのあたりの注意情報は完全スルー・覚えてませんでした。
今回初めて意識しましたですよ(爆)
> 下駄
価格や動作の確実性を考えると、もう少し頑張って
Socket370のM/B買っちゃうほうがいいような気もしますな。
もっとも今時は入手が難しいかもしれないけど… - Re: 親父さん旧PCにVine Linuxをインストール by Y 2004/04/25 18:01
- >Socket370のM/B
そうなるとCeleron 1.4Gに正式対応したM/Bを
購入するのがベストですね。
そうなると新品では中々難しくなってきてます
ので急いだ方がいいかも〜 - Re: 親父さん旧PCにVine Linuxをインストール by mieki256 2004/04/26 09:13
- > Celeron 1.4Gに正式対応したM/Bを購入するのがベスト
少し調べてみたんですが、今新品で売ってるSocket370 M/Bって
PC100/133SDRAMじゃなくてDDRのみ対応みたいですな…
メモリも新規購入になるからますます予算が。
等考えると、SocketAかSocket473に移行したほうが、という話に(爆)
こうして買い時を逃していくのでした (;´Д`)
[ ツッコミを読む(4) | ツッコむ ]
#3 [windows] xlsファイル添付
親父さんから、「Excel文書(.xls)をメールに添付して送るのにはどうしたらいいのか」という質問が。…そもそも .xlsを添付して送ったら見れない人が出てくるのではないか、
*1
と思いつつも一応手順を教えたところ、親父さんの環境からして、.xlsが危険なファイルとして扱われてしまって読めない・取り出せない。
*2
.xlsの中身は単に文字列が並んだ表だったので、htmlページを作成して添付して送ったらどうかと伝える。…それもOE6の設定によっては読めないんだけど、でも、巷にはhtmlメールを送ってくる人達がたくさん居るので、そういう人なら、まだ読めるだろう。たぶん。それはともかく、どうしてOE6のHTMLメール編集モードには表作成の機能がないんだろう。中途半端だな。
[ ツッコむ ]
2003/04/22(火) [n年前の日記]
#1 珍走団
_警察もオフィシャルで「珍走団」と呼び始めたのだから、
マスコミも追従して「珍走団」と呼ぶべきだよな、と思った。それともマスコミは「珍走団」側の味方ですか。
[ ツッコむ ]
#2 ドラキュラ
[ ツッコむ ]
#3 大人気ですな>セガ
サミー、ナムコ、そしてMSとは…凄いなぁ。
[ ツッコむ ]
#4 リコーのデジカメは買わないほうがいいと思う
_リコーがフィルムカメラから撤退してデジカメに力を入れるらしいのですが、
リコーのデジカメ買って「失敗した…買うんじゃなかった…クソ製品掴んでしまった…」と激しく後悔した私にとっては、リコーの方針変更ってソレ本当に大丈夫なのかと思えてなりません。それとも一般的なデジカメ作るとクソだけど特定分野で使われるデジカメに関しては結構まともだったりするんだろうか。
この記事へのツッコミ
- Re: リコーのデジカメは買わないほうがいいと思う by がんした 2003/04/25 07:53
- 写真が趣味でニコンユザーの知り合いから、聞いた話。
『
日本人はカメラ好きだ、一家に数台必ずある。おかげで銀塩に使う銀の使用量が、世界有数。
そこにアメリカからクレームが、コンピューター基盤に使う銀が足らないじゃないかと。
おかげで、カメラメーカーも銀塩一眼レフカメラを作らず、
デジカメに移行するしかなくなりましたとさ。終わり。
』
ソースを調べたけど、それらしいのは無かったが、ニコンの現フライングシップ
「F5」の後継機種(2004年登場予定)「F6」が、銀塩かデジカメカかは、微妙らしい。
http://216.239.33.100/search?q=cache:HXHO2Rxtml4C:www.bea.hi-ho.ne.jp/shin-an/j_ca_ward_01_D100.htm+%E3%83%8B%E3%82%B3%E3%83%B3%E3%80%80%EF%BC%A6%EF%BC%96&hl=ja&ie=UTF-8&inlang=ja
http://homepage3.nifty.com/fsuzu/001028.htm
http://www.mainichi.co.jp/digital/coverstory/archive/200204/26/ - Re: リコーのデジカメは買わないほうがいいと思う by mieki256 2003/04/27 02:27
- なんと。デジカメ移行にはそんな理由もあったとは…
まあ、運用コストは銀塩よりデジカメの方が安く済む場合が多いでしょうし
カメラ市場やユーザが、全体的にデジカメに移行するのも自然な流れのような。
そういやウチの親父さんも、写真が趣味と言いつつ
最近はもっぱらデジカメばかり使ってる…
さすがに、後で大きく引き伸ばしそうな写真を撮る時には、
銀塩を持ち出してきますが…
[ ツッコミを読む(2) | ツッコむ ]
#5 買い物と犬の散歩に行ってきた
犬の散歩で、阿武隈川の自転車道を走ってきたのだけど、途中、道が消滅していて驚いた。川が洪水した際に破壊されてしまったままらしい。作ったはいいが結局維持できず、堤防の外にある道と所々で一緒にしてしまい、とりあえずは通れるようにしているらしい。なぜ最初から洪水で壊されるような場所に作ったのだろう。なんとなくだが、計画を実行する前の調査不足のような気がする。あるいはここ数年で阿武隈川の状況が変わってきたのだろうか。どちらにしても、隣の市と違い、須賀川市は自転車道一つまともに作れない・管理できないと言う事だろうな。
◎ 良くなってはいた点 :
自転車道を無意味に分断していたガードレールが撤去されていた。ただしロープが張ってあったので、基本的には通らせるつもりはないようだが。それでも少しは改善されたということだろうか。
[ ツッコむ ]
#6 [ore_xxxxx] 俺ライダー案
メモ。長いし、自分にしかわからん書き方してるところが多々。そのうちこの手の文書はどこか別ページに移行させて日記からリンクするのみにしたい。Wiki導入してみるとか。
◎ 外枠 :
- 実写。当然だけど低予算。いや低予算というほどの予算すらかけられない。
- 家庭用ビデオで撮影した映像をPCに取り込んで編集。
- CGを多用して実写と合成。ミニチュアやアイテム等は実際に作らずにとにかくCGで表現。実際に作るとお金がかかるから。CGと実写の合成はバレバレでもOK。サイバーコップのようにとにかく「あんたそれは無茶だって」と言われるぐらいにシチュエーションを大事に。ツールも安いヤツで。お金無いから。
- ライダーのスーツや怪人のスーツは、ジャージにダンボール貼り付けただけとか、サングラスしただけで怪人とか、そんな感じ。とにかくチープで。お金無いから。
- チープさはヘビーな話や妙なレイアウトでカバー。こんな学芸会みたいな映像で、よくまあこんな話を、貴方達無茶ですよ、と言われるぐらいに。
◎ 1話。 :
- どこぞの組織から逃げてきた、強化スーツを開発したメガネッ娘博士。
- その博士とたまたま遭遇して、ひょんなことからスーツを着せられて博士を守る羽目になる、軽くてその場の雰囲気に流されやすい男の子が主人公。
- 肝は、戦闘シーン。音声によるコマンド入力でスーツの各種機能を動作させるところ。宇宙戦艦ヤマトの発進シーン、波動砲発射シーンのように、一つ一つの手順を示していく事で盛り上げる。
- 「何か必殺技とかないのかよ」とグチるとバイザーにコマンド一覧のヘルプが出てきたり。「おおー、スゲー色々あるじゃん」
- 「加速」と喋ると高速移動したり。
- ライダーキック一発打つのも大変。
- 「放熱板オープン」で足周辺のあちこちの板が「カシャン!」と跳ね上がり、
- 「○○モーター始動」で背中のランドセルから「ギュキュキュキューン」と何か回る音がして、
- 「えーと、それから…(マニュアルを読む)…エネルギー伝達ライン、ポイント1Dから5Fで確保」でランドセルから足の先までの線が「ホワーン」と音を立てて光り、
- 足の周辺から煙が「ボハーッ!」と広がる。
- 「エイリアスセット。ジャンプタイプF、イコール、ライダー、アタックタイプCスタンバイ、イコール、キー、アタックタイプCエクゼキュート、イコール、ク、セットエンド」でコマンドをエイリアス定義して、
- 走り始めて、
- 「ライダー!」で地面に踏み込むと、足の周辺に空間が歪んだような輪が広がって、
- 高くジャンプして、
- 空中を飛んでる間に「キイーーー」と叫ぶと、足の裏から電極のようなものが「パシャッ!」と出て、
- 敵を蹴るか蹴らないかのギリギリで「ーーック!」で、足の裏の電極が火花を出す。
- 敵とライダーの間が大爆発。
- 敵、吹っ飛び、ライダーも後方に吹っ飛ぶ。
- ライダー、後ろの木に体をしこたまぶつける。
- 怪人を倒した後、ライダーのバイザーにブルースクリーン。
- 「な、なにこれ? えーと…システムが不安定になっています。システムをチェックしています…ってオイ」
- と言ってる間に「アチ!アチャチャ!」背中が熱いような動き。「なにこれ?もしかして熱暴走ッスか?」
- 「ああ、早くシステムチェック終われー!誰かこの青い画面をなんとかしてくれー!」が一応のオチ。
◎ 2話。 :
- ライダーと同じシステムを利用した敵が出てくる。しかし敵の方が処理速度が速い。
- ライダーの攻撃はことごとくかわされてしまう。逆にライダーは攻撃を避けることが出来ない。
- 博士がライダーと通信可能に。
- 「ソイツに勝てるかもしれない方法を今から教えるわ」
- 「マジ? 勝つ方法あるの?」
- 「あるわ。いい? よく聞きなさい」
- 「おう」
- 「逃げるのよ!」
- 「…(5秒ぐらいロングカットのまま動かないライダーと怪人)…(ライダーのアップで)ハアァ?」
- 「聞こえたの? とにかく逃げなさい」
- 「あ、あんたソレ、全然勝つ方法じゃないじゃんか!」
- 「グダグダ言ってる暇があったら逃げなさい! 聞こえてんの?」
- 「…ああ、もう、わかったよ、わかりましたよ…なんだよソレ…むちゃくちゃだよ…」
- 必死に逃げるライダー。追いかける怪人。通常の速度で撮影したビデオ映像に、早回ししたビデオ映像を合成。
- 「(バイザーに表示された速度メータを見ながら)スゲー。時速70kmぐらい出てるよ。でもなんか…ビデオの早回しのような走り方がアレなんですけど…俺ってリアルチャップリン?」
- 「見栄えなんてどうでもいいでしょ。まずは機能を実装することが先決なのよ。それより敵はどんな感じ?」
- 「どんな感じって…アレ?」
- ライダーが振り向くと、怪人の息が荒くなっている。動きも遅い。
- 「なんかアイツ、動きが遅いよ」
- 「今よ。戦いなさい。今なら勝てるわ」
- 仕掛けてみると面白いようにライダーの攻撃が決まる。
- 「どういうことコレ?」
- 「同じアーキテクチャなら処理速度の速いほうが消費電力も大きいし、熱の発生量も大きいから冷却の為に余分なエネルギーを使うわ。スーツ単体が持てる電力はどちらも同じ。長時間の負荷をかければ、性能がいいほうが先にバテるのは当然よ」
- 「…はぁ、なるほど」
- 息も絶え絶えの怪人。
- 「ひ、卑怯者…」
- 主人公の代わりに博士が見栄をきる。
- 「卑怯者?笑わせないで。技術ってのはね、トレードオフなのよ。何かを得れば何かを失う。それが基本よ。そんな事も知らずに、自分が扱ってる機械の特性も知らずに、見せかけの優位性を恥ずかしげも無く誇っていた貴方には、その技術を活かして勝利するだけの資格はないわ」
- ライダーパンチで怪人を倒す。
- 後日。
- 「でもさ。優位性云々とか言ってたけど、やっぱり俺の着てるスーツって性能悪い方なんじゃないの?」
- 「そうよ(即答)」
- 「! …そうよ、って…あんた!」
- 「たぶん相手は、今後より優れたアーキテクチャを導入してくるでしょうね。そうなれば今回みたいな戦い方は無理。最悪こっちのほうが先にバテるかもしれない」
- 「ちょっ、じょ、冗談じゃないよ。そんなヘボスーツで俺にこれから戦えって言うの?」
- 「足りない部分はあなたの体力や精神力でなんとかしてちょうだい」
- 「…無茶だ!無茶苦茶だ!あんた鬼だ!あんなに見栄を切っておいて結局最後は体力や精神力って…あんたおかしいよ!」
- 「ってのは冗談なんだけどね」
- 「へ?」
- 「もう既にあちこち改良は済ませてあるわ。彼等の使ってる技術のほとんどは私が考案したもの。改良すべき点は既に判ってる。そう簡単に彼等に追いつかれるもんですか。…どうしたの?」
- 「(机に突っ伏しながら)…なんかあんたと話してると、スーツとかなんとかより、俺自身がバテそう…」で終わり。
◎ 3話。 :
- 怪人に連戦連勝するライダー。調子に乗り、自分の力を過大評価し始めてしまう。
- 新たな怪人の前で油断して、ライダーは右腕を切り落とされる。
- 大量の出血、ショックの為に、意識を失い、心臓が停止するライダー。
- しかし博士はスーツを遠隔操作して、主人公の身体に様々な薬品投与、電気ショック等を行い、ライダーの生命活動を再開させてしまう。
- 意識の無いまま、博士の遠隔操作と、スーツを機能させる為の各種スクリプトの成果で、怪人と戦い勝利するライダー。
- 博士がスーツを解除してみると、そこには汗だらけで白目を向いた主人公の姿が。
- 主人公、ベッドの上で目を覚ます。
- 「大丈夫?」
- 「なんか…変な夢を見てたよ…俺の腕、切り落とされちゃってさ…」
- シーツのかかったその先、シーツからはみ出た形で、主人公の手はちゃんとある。肌色の手。
- 「はは、やっぱり夢だった。ビックリしたー」
- 「ゴメン。夢じゃないのよ」
- 「…え? そんな、だって、ホラ、俺の腕あるじゃん。ちゃんと動いてるじゃん…」
- 指を動かしながら少しずつ腕を持ち上げる。シーツがずり落ちる。手首から腕の付け根。そこは銀色の機械的な腕が。
- 「! …なんだよコレ…なんなんだよコレ!」で終わり。
◎ 4話。 :
- どこぞの部屋で主人公を慰めてる博士。
- 「そんなに気を落とさないで。日常生活には何の支障もないはずよ。まだ人口皮膚をつけてないから見栄えは悪いけど、ちゃんとそのへんを整えれば」
- 「そういう問題じゃないよ…」
- 「性能だって凄いのよ。普通の人間の腕より力があるの。パワーシャベル以上よ」
- 「…」
- 博士、気を紛らわせようと缶ジュースを主人公に手渡す。主人公、右手で缶ジュースを持つが一瞬で粉砕してしまう。
- 「うわっ!」
- 「あっ…まだ握力調整に慣れてないのね。圧力センサと神経の伝達が上手くいってないの。大丈夫、時間をかけて慣らしていけば」
- 「…冗談じゃねーよ!なんだよコレ!シャレになんねーよ!俺は、俺は…化け物になっちまった…」
- 「落ちついてちょうだい。今はまだ」
- 「これが落ちついてられるかよ!」
- 思わず右腕を振り回す主人公。その腕が博士にあたる。
- 「あっ」
- 軽く壁まで吹き飛ばされる博士。
- 「!?」
- 「…つつ…だ、大丈夫よ」
- 腕の当たった腹を抑えながら苦痛に満ちた表情でヨロヨロと立ちあがる博士。
- 居ても立ってもいられなくなり、博士の制止も振りきり、外へと飛び出していく主人公。
- 「もう嫌だ!俺はもうこんなの嫌だ!」
- 主人公、街をさ迷ううちに、右腕の力で、何かしら人命を救うエピソードに遭遇。右腕、あるいはスーツに対する意識に変化が。
- 博士、飛び出していった主人公を探しているうちに敵に見つかってしまう。怪人に首を掴まれ宙吊りに。殺されそうになる。
- 「待ちやがれテメエ!」夕日をバックに立つライダー。
- 瞬間的に移動し、博士を宙吊りにしていた怪人の腕を、ライダーの右腕がブチ切る。怪人、苦しみながら後ずさり。
- ライダー、博士を背中にして庇いながら、
- 「さっきはゴメン」
- 「え?」
- 「俺さ、やるよ。だってさ、これでやらなかったら、俺、なんか損しちゃったままだし」
- 街で遭遇したエピソードの場面を回想しながら、
- 「俺にしかできない事、ありそうな気がするんだ。だったら、俺はそれをしてみせる…」
- ライダー、右腕をじっと見つめながら、
- 「…こうなっちまった以上、それをしないと、なんか元が取れねー気がするんだ」
- 怪人に対して何か吹っ切れたように、物凄いラッシュを繰出すライダー。必殺技で終わり。
- 帰路につく博士と主人公。
- 「でもさ、この腕も結構便利な事に気づいたよ」
- 「?」
- 突然、博士を右腕で抱き寄せる主人公。
- 「!? ちょ、ちょっと!」
- 腕を引き剥がそうとするがビクともしない。
- 「へっへーだ、無理無理。あんたの作ってくれた腕のおかげだよーん」
- 「…この…ふざけんな!」
- 夕焼け空のカットに「バチーン」。
- ロングで、大振りで歩き去っていく博士。
- 手前でウンコ座りしてほっぺたを抑えてる主人公。
- 「いてて…いてーよ…」
- 頬を何度もさすりながら、次第に笑顔に。
- 「…はは、やっぱりこっちはいてーや…」
- まるで頬の痛みを慈しむように、右腕で、何度も何度も笑顔でさすり続ける。
◎ 5話 :
- 居酒屋で飲んでる怪人トリオ。最近成績が挙げられないという話から、悪の組織は必ず幼稚園のバスをハイジャックするらしいぞ、という話になり、それは名案、早速明日決行しよう、成功することを祈って乾杯、と呑み続ける。
- 翌日。幼稚園バスが来る場所に張り込んだはいいが、二日酔いが酷くトイレにかけこまずには居られない怪人トリオ。その間に幼稚園バスが来て、去って、別の似たようなバスが来る。
- トイレから帰ってきたトリオ。バスが来てるので行動開始。勢い良く乗りこんだはいいが。
- そこには幼稚園児の姿は一人も無く、なぜか爺さん婆さんばかりだった。どうやら老人ホームの慰安旅行(?)のバスらしい。
- 拍子抜けしてガックリきてる間に、扉がしまりバスは発進してしまう。途方に暮れる怪人トリオ。
- 毒気を抜かれてひとまず計画中止という事にはなったが、いかんせん二日酔いで弱っているので乗り物酔いをしてしまう。爺さん婆さんに介抱される始末。
- 普段若い人と話をする機会が少ないので、怪人達の同行を喜ぶ爺さん婆さん達。身の上話を聞かされ、怪人達、なんだかしんみり。で、仲良くなってしまう。せっかくだから一緒に旅行を楽しもうか、という話に。
- 目的地の温泉街に着き、バスから降りたところで、なぜかライダーと遭遇してしまう。ライダーは、日々の戦いの疲れを癒そうと温泉に旅行に来ていた。
- 怪人トリオを見たライダー、たちまち戦闘態勢に。しかし爺さん婆さんはアトラクションの一種と思い込み、仲良くなった怪人達を応援する始末。
- 「お、おい、どうするよ。なんか俺達、『負けるな』とか言われてるぞ…」
- 「どうするったって…そりゃもう、ここまできたらやるしかないだろ」
- 「無茶言うなよ。相手は指名手配されてる凶悪犯だぞ。俺達なんかあっという間に殺されちまう」
- 「バカ。真面目に戦えるわけ無いだろ。フリだよ、フリ。戦うフリすんだよ」
- 「そ、そんな事言ってもよお。アイツ見ろよ、殺る気満々じゃないかよー無理だよー」
- 「…わかった。俺がなんとか交渉してみる」
- 斬り合うライダーと怪人。怪人、ライダーに小さな声でささやく。
- 「あ、あのう…お願いがあるんですけどぉ…」
- 「ハァ?」
- 「しっ! 声が大きい、小さな声で」
- ひとまず、ライダーを見逃す代わりに、自分達が勝ったかのような演技をしてくれという事でやり合いながら話はまとまる。
- いかにもわざとらしく負けるフリをするライダー。爺さん婆さん達大喜び。手を取って、怪人達に「勝ってよかったねぇ」と言葉をかける。
- ライダー、婆さんの一人から「あんたもよくやったよ。これはええもん見せてもらったお礼だ」と何かを渡される。
- 「何それ?」
- 「…なんか、俺、小遣いもらっちゃったみたい…なんでこうなるんだ?」
- 「あれ? 敵は?」
- 「!? そういや…あいつ等どこへ消えたんだ?」
- 怪人達はドサクサに紛れてその場から逃げ出していた。温泉街を肩を落として歩く怪人トリオ。
- 「ああ…また計画失敗しちゃったな」
- 「しかもライダーにまで会っちゃって…ついてねえよ」
- 「どうする? 見逃す、って約束しちゃったけど。やっぱり本部に連絡するか?」
- 「バカ。もしも約束破った事がバレたらどうなる。俺達アイツに半殺しにされるぞ」
- 「いや。半殺しじゃなくてマジに殺されると思うけど」
- 「ついてねえな」
- 「ああ、ついてねえ」
- 「ハァ…」
- 歩く怪人トリオの目の前に、地酒が飲めるお店の看板が。
- 「やっぱりヤなことは呑んで忘れるしかねーよな」
- 「ああ」
- 「ここは一つ、(お猪口をクイッとやる仕草)いきますかねぇ」
- 足取りも軽く、店の暖簾をくぐっていく怪人トリオ。で終わり。
◎ ダメだな :
実写じゃ無理。メガネっ娘博士なんてどこから連れてくるのか。かといって漫画やアニメじゃありきたりだし。やっぱり寝言。
◎ 今気づいた :
そもそもバイク乗ってないじゃん。なら、代わりに博士に乗るってのは…<うわあ
[ ツッコむ ]
#7 [hns] GRPコマンドより自由度の高いコマンドが欲しい
GRPコマンドはたしかに便利なんだけど、もう少し自由度の高い、というか、見ようと思えば誰でも見れるけど、見たくないと思ったら誰も見なくて済むコマンドが欲しい気もする。例えば文字色を背景色と同じにして文章を隠すような手法と同レベルの機能。
*1
あるいはその記事だけ別ページで出力してしまうような機能。リンクをクリックしないと見れない、みたいな。あるいはやはり折り畳みだろうか。
*1: それって機能と言えるのかわからないけど。
[ ツッコむ ]
#8 [hns] この手のシステムを導入した直後の傾向
として文章記述量が一時的に増加してしまう傾向があるように思える。他の日記サイトとか見ててもそんな印象が。たぶん、HTMLで書いていた時より、作業内容が簡素になる分、嬉しくてついつい書き過ぎてしまうような気が。しかし大抵の場合、そのうち落ちついて記述量が少な目になってくるので、
*1
この日記ページについても、今の時期だけ、この文章量なのではないかと思う。おそらくそのうち少なくなってくるはず。
*1: 人によってはそもそも書かなくなる人すら。
[ ツッコむ ]
2002/04/22(月) [n年前の日記]
#1 染みる
歯医者に。
削った歯が染みてます。
削った歯が染みてます。
[ ツッコむ ]
2001/04/22(日) [n年前の日記]
#1 本屋
ジュースを買いに出るついでに、隣の市の本屋まで足を伸ばしたり。
車を運転できるとこういう時楽だなぁと。
ただ、相変わらず駐車場入れるのに一苦労。
知ってる本屋が軒並み、ソレ系の漫画を扱わなくなっててガックリ。
良識ある近隣住民の力強い行動の数々の成果なのか。
それとも叩かれる前の自衛策なのか。
唯一知ってるソレ系しか扱ってない本屋に行ったら。
ありました。わんぱく氏の新作単行本。ラッキー
ただ、それ以前の本は入手できず。
取り寄せできないか店員さんに確認したら、
「1冊2冊の注文は出版元でちゃんと扱ってくれない。
だから来るのがいつになるかわからない」
だそうで。
単にめんどくさがってるのか、それとも事実なのか。
何にせよ、現状では本屋で購入ってわけにいかないようで。
お袋さんが旅行でいないんで、オイラが炊事当番。
夕飯を食べた後、爆睡。
昨日の夜からずっと寝てなかったので。
車を運転できるとこういう時楽だなぁと。
ただ、相変わらず駐車場入れるのに一苦労。
知ってる本屋が軒並み、ソレ系の漫画を扱わなくなっててガックリ。
良識ある近隣住民の力強い行動の数々の成果なのか。
それとも叩かれる前の自衛策なのか。
唯一知ってるソレ系しか扱ってない本屋に行ったら。
ありました。わんぱく氏の新作単行本。ラッキー
ただ、それ以前の本は入手できず。
取り寄せできないか店員さんに確認したら、
「1冊2冊の注文は出版元でちゃんと扱ってくれない。
だから来るのがいつになるかわからない」
だそうで。
単にめんどくさがってるのか、それとも事実なのか。
何にせよ、現状では本屋で購入ってわけにいかないようで。
お袋さんが旅行でいないんで、オイラが炊事当番。
夕飯を食べた後、爆睡。
昨日の夜からずっと寝てなかったので。
[ ツッコむ ]
2000/04/22(土) [n年前の日記]
#1 (NoTitle)久しぶりに本屋へ。 D...
久しぶりに本屋へ。
DOS/Vマガジン、買ってきました。載ってますな、dung氏の… ( ̄ー ̄)ニヤリッ
Linux関係の雑誌も探しに行ったのですが、全然見かけなかったです。残念。
もしかしたらVineLinux2.0を付録CDにしてる雑誌があるのではと期待してたんですが。それは時期的に早すぎるかな。
「語尾にカタカナ」でふと思い出したのですが。
田渕由美子先生風セリフ文体(?)ってのはどうでしょう。
メガネっ娘が「〜ナノダ」+(は〜とま〜く)、で喋る…
なんだかあの頃の少女漫画って、そういう喋りをしてるキャラが結構いましたよね。
あれって、バカボンのパパの「〜なのだ」と出所は同じなのかな。学生運動がどうとか、そのあたりの…。よくわかりませんが。
DOS/Vマガジン、買ってきました。載ってますな、dung氏の… ( ̄ー ̄)ニヤリッ
Linux関係の雑誌も探しに行ったのですが、全然見かけなかったです。残念。
もしかしたらVineLinux2.0を付録CDにしてる雑誌があるのではと期待してたんですが。それは時期的に早すぎるかな。
「語尾にカタカナ」でふと思い出したのですが。
田渕由美子先生風セリフ文体(?)ってのはどうでしょう。
メガネっ娘が「〜ナノダ」+(は〜とま〜く)、で喋る…
なんだかあの頃の少女漫画って、そういう喋りをしてるキャラが結構いましたよね。
あれって、バカボンのパパの「〜なのだ」と出所は同じなのかな。学生運動がどうとか、そのあたりの…。よくわかりませんが。
[ ツッコむ ]
1999/04/22(木) [n年前の日記]
#1 (NoTitle)起きたらPM6:00。わー...
起きたらPM6:00。わーお。
今日は…えーと、妹のプレイするFF7をボーッと鑑賞して、あとはらくがきしてました。
あ、そういや前に「ボイスラッガー」が笑えた、と書きましたが、今日後半を見ました。それで訂正。泣けました(そりゃちとオーバーか)。叙情的ッスね。まあ、お約束ではあるんだけど、あまりに素直な話すぎて好印象。
ところで。常々思うのであるが、どうしてエロゲー(パソゲー)のパッケージはあんなにでかいのでありマスか。邪魔でしょうがないのじゃ。コンシューマゲームなどは、ほとんどCDケースサイズではないか。見習って欲しいものでアリマス。(<何があった?)
今日は…えーと、妹のプレイするFF7をボーッと鑑賞して、あとはらくがきしてました。
あ、そういや前に「ボイスラッガー」が笑えた、と書きましたが、今日後半を見ました。それで訂正。泣けました(そりゃちとオーバーか)。叙情的ッスね。まあ、お約束ではあるんだけど、あまりに素直な話すぎて好印象。
ところで。常々思うのであるが、どうしてエロゲー(パソゲー)のパッケージはあんなにでかいのでありマスか。邪魔でしょうがないのじゃ。コンシューマゲームなどは、ほとんどCDケースサイズではないか。見習って欲しいものでアリマス。(<何があった?)
[ ツッコむ ]
以上、26 日分です。
ちなみに私はドコモにして2代目なのですが、初代P251isはタダ
機種変でP506icにして手数料2300円くらいでした。
がびーん。やはりそうなのですか…
店頭では「新規契約なら本体0円」とか書いてあったんですが、
なんか「家族割引」だのモロモロを申し込んだときは、
という話だったので…
そのへんこれといって何もつけられなかったので、仕方ないのかしら…