2010-03-01から1ヶ月間の記事一覧

collada調べ始めた

なんかしらウェイト付のボーンメッシュを取り回せるようにしたいので調べ始めた。 colladadomがやたら巨大で大げさすぎるような気がするのだが。 boostとか入っているし。 boost filesystemはリンクしないといけないのに名前が一致しないしどうしたものか。 …

やっとハードウェアスキニングに成功

どうにも気になるのでいろいろ試していたがやっとできた。 pythonでpmdのスキニングをやっても40FPSくらい出るようになった。元が7FPSくらいだったのでだいぶよい。モーフィングとIK解決はやっていないが。とりあえず、使ったシェーダー。PMD用に2ボーンきめ…

ダンジョン生成

よさげなもの発見。 ウイザードリー方式の薄い壁にこだわらなければいい感じ。 http://d.hatena.ne.jp/parrot_studio/20100325/1269528464 組み合わせて使うとしたらこの辺かなぁ。 http://www.kumaryu.net/?%28Ruby%29+Riko ゲームエンジン自体は人様の作っ…

2.49b向けのマルチバイトパッチ更新

ファイル名の長さを80byte(utf-8全角で26文字)から240byte(同80文字)に延長した(ファイルセレクタと、Image Browser上部の選択中ファイル名表示) 一部の新しく作ったファイルがreadonlyになってしまい書き込み時にエラーになるのを修正した gettextを間違っ…

風邪引いた

どうも日曜日の夜に寒い中をうろうろしたのがよろしくなかったらしい。 咳が出て集中できん。 あと、戦場のヴァルキュリアなんだけど第8章 森林の包囲網(前編)で不死身のタイラーに勝てないので立ち読みで攻略法を手に入れた。 今後、普通の戦車戦とかあ…

2.49b向けのマルチバイトパッチ更新

ffmpegにまつわるビルド問題が解決したのでその辺りを修正。 ffmpegのファイルオープン関数av_open_input_fileをラップした。 内部的に、BKE_untildefines.hの #define FILE_MAXFILE 80 の長さが不足する場合にファイル名の後ろがぶつ切りになるが渡されてく…

マザーボード復活

先月のBIOSアップデート失敗以来だいぶgdgdでしたが、なんとか元の環境に戻れそう。そもそもA8VのWindows上でのBIOSアップデート失敗が引き金だったのだけど、2枚目A8Vがお亡くなり(ハードディスク不調でハングした後BIOS死亡?)になったのでジャンク扱いの5…

GeForceのOpenGL2.0のドライバにはSSEが必要らしい

http://forums.nvidia.com/lofiversion/index.php?t22336.htmlthunderbirdにはsseが無いのでGeForce6200のOpenGLドライバが動かないってことかー。 どおりでDirectXの方だけ動くわけだ。socketAのAthlonXPを調達するか、壊れたSocket939のマザボを調達するか…

2.49b向けのマルチバイトパッチ更新

コメント欄で指摘のあった不具合を一部修正。 http://gunload.web.fc2.com/blender/download.html FFMPEGに関わる部分はWITH_FFMPEGでビルドするとBlenderが一切起動しない状態になってしまったため作業できない状態に。たしか起動時に0xC000005e0xC0000005…

pmdエクスポータ途中

いくつかのしょうもない(故に見つけにくいw)バグに悩まされながらもなんとかメッシュの出力に成功。とりえあず読み込んでみた図。なんかエッジが出ないがGeForce6200のせいなのか。 今回の作業で発見したのがmmdでは、マテリアルのDiffuseをちょっと抑え目…

バイナリ書き込み

struct.packの仕様について。 デフォルトがアライメント付きという罠仕様だった。 アライメントを回避するにはフォーマットの先頭に'='を入れる。 import struct s=struct.Struct("BI") print s.size # 8 s_no_alignment=struct.Struct("=BI") print s_no_al…

そこそこ稼動するようになった

ボーンをモデルに合わせるんじゃなくて、モデルがボーンに合わせた方がいい。特に首ボーンの角度は下手に変えない方がよかった。あと、すり抜けたりめり込んだりするのは妥協が必要だ。適当なところでよしとしないときりが無い。細かいところは全然作ってい…

チュートリアルを書きはじめた

はじめはC++でやろうかと思ったのだが、コード量が多いとつらいのでpython+OpenGLにしておいた。部分的にC++モジュール化して高速化するのはあるかもしれない。 チュートリアルというよりはサンプルコードの羅列になりそうだが、 とりあえず最初の頂点配列の…

numpyインストーラの罠

http://d.hatena.ne.jp/name-3333/20090423/1240491995 日本語パスにインストーラ置くと失敗する。 あのエラーメッセージじゃわからん。 Windowsのデスクトップをカタカナにしたやつぁ誰だw

nanocよさげ

今までひとりwiki的にwebbyを使っていたのだが、既にメンテされていないっぽいし日本語の通りが悪かったりするので微妙なところもあった。ここに、新型webbyとも言うべきnanocを発見。 http://nanoc.stoneship.org/ 乗り換えた。わりと快適。webby用に書いて…

2.49b向けのマルチバイトパッチ

2.5での日本語表示を調べていて、内部的には2.49bとあまり変わっていないことがわかった。なので、むしろ2.49b向けに日本語パスを扱えるようにパッチを書いた。 http://gunload.web.fc2.com/blender/download.html に置いております。自前で2.49bをビルドし…

シェーディング調整

uimacさんのところのエッジ付き3Dviewで見たところ。 http://sites.google.com/a/render.jp/vmdimporter/基本的にシェーディング無しにして、髪と服だけマテリアルノードでトゥーン風味の陰が付く様にした。 ボーンを入れる前のモデルを修正しながらやったの…

マテリアルノード開始

GLSLマテリアルというかマテリアルノードを調べ始めた。 GLSLマテリアルっていうからVertexShaderとかFragmentShaderをゴリゴリ書くのかと思っていたがそういうのは無かった。ゲームの方のサンプルではあったのだが。マテリアルノードの繋がりから動的にシェ…

骨名一覧

2.49bArmatureの骨名確認スクリプト。使い方 1. blenderのテキストエディタにコピペ 2. object modeで一覧したいArmatureを選択 3. テキストエディタ - text - run python script Dosプロンプトに結果表示。Dosプロンプトの左上のアイコンをクリックする。メ…

PyNodeを調べる

一次情報はこれか? http://wiki.blender.org/index.php/Dev:2.4/Py/Nodes/APIとりあえずvector値をprintさせてみた。 from Blender import Node class LampNode(Node.Scripted): def __init__(self, sockets): sockets.input = [Node.Socket('v', val=[0, 0…

各ボーン名で空のvertex groupを作るスクリプト

2.49bで作成。外部からArmatureをインポートするときにmodifierの方のArmatureを使う場合を想定。 print("#### start script ####") from Blender import Scene, Mesh, Window, sys, Modifier import BPyMessages import bpy def createVertexGroupWithEachB…

骨入れてみた

この前からモデリングしていた分の続き。 PMDをインポートしてボーンだけ流用して自前のモデルにウェイトを仕込んでみた。 手順はだいたいわかった。後は、骨付きのX形式エクスポータを作ったらワークフローが確立できるか。Blender付属のX形式エクスポータ…

2.5の3Dビューの設定

描画周りの設定。少し軽くなる。 User Preference - System - Window Draw Method をOverlapにする。もっといいのがあるかもしれないがデフォルトのfullよりは速い。

2.5のマルチバイトパス対策パッチ

とりあえずできた。 外部とのアクセスの前後でutf8とローカルの文字コードとを変換するようにした。FindFirstFile, FindNextFile, stat, chdir, gzopenあたりのファイルパスを引数に取る関数や、SHGetSpecialFolderPathなどのパスを返す関数が対象。 内部をu…

Windowsで2.5ビルドをやってみる

Blenderで作業していたらやっぱり2.5を使いたくなったのでビルドしてみることにした。 http://wiki.blender.org/index.php/Dev:2.5/Doc/Building_Blender/Windowssvnのチェックアウト中・・・。 これがかなりかかるのよね。 あっさり完了 windows/libの方が2…

2.5alpha2のファイルダイアログ用やっつけ日本語表示

やはりソースを弄る必要があった。 LANG=ja_JP.UTF-8としているUnix系OSというかX11環境ではフォント設定さえすればだいたいOKとなるが、WindowsではCP932からUTF-8に変換するコードをいろいろなところに分散して書く必要がありそうだ。UNIX系でも文字列の幅…

サンプル03の改造

ISceneNodeを継承する方法ではなく、独自にSMeshを構築してaddMeshSceneNodeするサンプル。はじめはIMeshSceneNodeを継承したクラスを作っていたのだが、弄っている間に継承無しのこの形になった。 #include <irrlicht.h> int main() { using namespace irr; // create d</irrlicht.h>…

ダンジョンを作ってみる。

入力はこんな感じにする予定。 0 1 2 3 4 5 6 7 8 9 +-+-+-+-+-+-+-+-+-+-+ |S |*|*|*| |*|0 + +-+-+-+ +-+-+ +-+ | |*|*|*| |*|*| |*|1 +-+#+-+-+-+#+-+-+ +-+ |*| |*|*| |*|*| |*|2 +-+ +-+-+ +-+-+ +-+ |*| # |*|*| |*|3 +-+-+-+-+-+-+-+-+ +-+ |*|*|*|*|…

TPS風味のテストプログラム

三人称視点で城を移動するプログラムを書いてみた。 キーボード、マウス、アナログスティックの入力に対応。アクションはジャンプのみ。モデルは例によってSydney姉さんw。 バグで空中ジャンプができる時があるのでマップの隅々まで行けるようになった。 あ…