思いつくままを綴る雑記帳

ご無沙汰です・・・

前回からまたまた期間が開きましたね・・・
今回もいろいろと意味不明の現象に挑んでおりました。
ε- (´ー`*) フッ 格好いいフレーズ・・・・

まぁ何をしていたかと言うと

gameinpic.jpg

こんな猫さんオリジナルの装備を作成していたのですが・・・
これはゲーム内に投入して装備した図です・・

NifScopeで見るとこんな感じ・・
(怒涛の3連続画像行くぞ・・・)
続いてBlenderでの完成画像・・・・

new_dressarmor.jpg
blender_fore.jpg
blender_back.jpg

前回弓Modの作成投稿に使用したツールのバージョンとか
書いてますが、いろいろと世の中のサイトから情報収集して
装備Modの作成手順を学んだのですが・・(基本的にTonaさんの作成講座)
この資料に明記してあったバージョンのツールを揃えて作り始めたんですよ。
ところが弓のシェイプキーをnifファイルに正常に書き出してくれなくて
投稿記事に明記したようなバージョンにツール類をバージョンアップして
作ると正常に作れたと言うのが前回の記事の内容なんですが・・・

ところが今回猫さんオリジナル装備を作成して、いざnifファイルに出力となった
段階で・・・・Vertexにweightが付いてないよ!とか言われて出力できなかったり
してたんですよ
画像を見ると分かると思いますが素体をまたがって装備するパーツがあったり
するので、上半身、下半身、手、足の素体をBlenderで結合して全身一体型の
素体を作成して、それからweightのコピーを行ったんです。
(みんながこうしているのかは知りませんが・・・)
basebone.jpg

こんな感じの素体になりました。
これを使ってweightをコピーし直してnifファイルを作成すると
なんとかnifファイルは完成しました。

パーツがこんなにあるので・・・
partslist.jpg

テクスチャ関係はこれぐらい・・
imagefile.jpg

nif作成には割と時間かかりましたが・・・
最初Blenderで作った時はVertexが50万超えてました・・・
さすがにこりゃ細かく作りすぎと言う事で結構簡略化して作り直した
パーツも数知れず・・・・現状で全パーツでVertexが7万未満という
ところで収まってます。

で、作成したnifファイルはと言うとBlenderでパーツとArmatureの
親子関係をちゃんと作っていたので前回のようにぐちゃぐちゃといじる
事もなくなりました。
素体のマテリアルの名前をSkinに統一したり、透明部分のAlpha定義を
追加したりする程度でした。
テクスチャはOblivionの所定の位置に作ってBlenderで定義する際に
そこを参照するようにしていたのでNifでの作業が省けてます。

作成講座のNif作業での最後のおまじないですが・・・
猫さんの使っているツールのバージョンだと、あれをやるとゲーム内で
Meshがはじけ飛びます・・・・なんじゃ!こりゃゃゃゃゃって感じです。

最初、これがわからずおまじないおまじないとやってたわけですね・・

また全身一体型の素体を作る時に使用したボーンがおかしかったのか
これが原因?でゲーム内に持ち込んだ際にMeshがはじけ飛ぶことが
ありました。
いろいろと試行錯誤して正常なボーンだけのNifファイルを作成して
そこに部品を放り込んでMeshがはじけ飛ばなければ正常に表示される
ことがわかる検査用のNifファイルを作りました。
一々ゲーム立ち上げて確認するのも大変なので・・・

とまぁ、いろいろと悪戦苦闘した結果がこれでした・・

後は頭装備と盾と剣をオリジナルで作成すれば・・・・・
完全版完全無欠猫装備の完成と言う運びになりますなぁ

( ´△`)アァ- しんど!
(そんなこんなでゲームなんて、してませんが・・・)
スポンサーサイト

武器(弓)MODの製作・・・記録

前回の投稿から10日も経過していたとは・・・・
前回の投稿で書いた秘密の隠れ家は徐々にいろいろと改変されています。
住人も増えたり、住人にコンパニオンが実装しているような一部の
機能を実装されていたりと・・・また機会があればお話しするとして・・

今回は、タイトルのとおり弓MODを自作していたので、その記録的な意味
も含めて投稿と言う事で・・・

こうやって作ったよという記録のために実際に作ったのとは違う簡易型の
弓を解説がてら作ります。

使ったもの:
Blender 2.49b
blender_nif_scripts-2.5.7.12a2b78-windows.exe
PyFFI-2.1.9.c1c1c66.win32.exe
Python 2.6.6
nifskope-1.0.22.8329d39-windows.exe

どんなやつかというとこんな感じのものです。

動画:弓MODの確認

照準を合わせに行くと、盾状の板が開閉するという感じのものを作る事にします。
本当は構えると ( `◇)<炎炎炎炎 が立ち込めるみたいな派手なのが
いいんだけど・・・解説用なので手軽な感じで・・・

ベースになる弓のnifファイルをBlenderに取り込みます。
猫さんのImportパラメータはこんな感じです。

import_nif.jpg

で、これがベースにする弓のnifファイルを読み込んだところ。

base_bow.jpg

シンプルな構造の弓でしょ・・・これのBow:0というオブジェクトを
新しく作って行きます。
ちなみにこのオブジェクトにはシェイプキーが設定されていて
弓を番える、発射するという感じのシェイプになっています。

base_bow2.jpg

シェイプキーの名前がBowMorphになってるよね・・・これ大事!!

この中のオブジェクトを簡単に説明するとBowは全体の親オブジェクト
ArrowBoneは矢の動作をするNULLオブジェクト、ArrowHelperは矢の柄の
部分に相当するNULLオブジェクトでconvexpolyは弓のコリジョンを設定
したオブジェクトという感じです。

今回も矢を番えると弦を引っ張るようにするので、Bow:0オブジェクトの
弦以外の部分は削除しちゃいましょう。

make1.jpg

簡単な形状でいいので箱型で作ってしまいます。

arrow_point.jpg

こんな感じの弓になりました。
この画像にArrowHelerのlpoカーブエディターが写っているけど
弓本体のシェイプキーの変化値もlpoで設定します。
まず、シェイプキーをこんな感じで作ります。

shape_add.jpg

弦を引っ張った位置とArrowHelperの位置が合う様にするといいかも・・
弦を引っ張ると盾状の板も動くので、シェイプを整えます。
この時作った2番目のキーの名称はBowMorphにしときます。

次に作ったシェイプキーをlpoカーブエディタで設定します。
shape_bow.jpg

弦が反動で振動する感じにしてあります。
マテリアル設定はExportする時には1個に減らすので
途中は複数あってもいいです。

後コリジョンオブジェクトを作るんだけどあまり大きさとか形状が
違わないようなら既存の物のままでいいかも・・・
詳しい作り方は下記のサイトを参考にするといいかも・・・

Tonaさんの装備作り方講座

簡単に説明すると簡略化したオブジェクトを別途用意し編集モードで
ロジックタブを開いて、バウンドを選択しタイプをconvex hullにして
メッシュメニューのスクリプトからHullを実行・・・
表示されるメニューからconvexを選択して、Precisionの値を入力すると
コリジョンオブジェクトが生成されます。
これをBowの子オブジェクトとして既存のconvexpolyと差し替えればOK。
と、簡単に書くとこうなる・・・分かりにくければ上記の講座を見てください。

で、作成した弓をnifファイルとして書き出します。
猫さんのExportパラメータはこんな感じです。

export_nif.jpg

次はNifSkopeでの作業です。

nif_display.jpg

先程出力したnifファイルを読み込んだ直後の状態です。
BowのNifNodeをトップにするので、SceneRootのNodeは削除します。
この辺りは既存のNifファイルを参考にしてもらって
必要な物を揃えて、いらないものは削除して、ファイルのパスを確認
変更して、こんな感じに整理します。

nif_change.jpg

ここまで出来たらnifファイルを保存してCSで武器を登録します。

cs_make.jpg

作成したNifファイルを登録して、中身は適当に登録します。

後はお好みの方法でゲーム内に投入してください。
猫さんは専用の宝箱に放り込みます・・・・・。

inventory.jpg

宝箱の中に猫さんBowを発見・・・[壁]ー゜)♂ツンツン 当り前・・・・

装備して見ました。

equip.jpg

(≧m≦)ぷっ! まるで猫さんの歩く広告塔・・・・
構えて照準を合わせて見ると・・・
arrowready.jpg

予定通り弦が引かれると盾状の板が目の前に展開されました。
これはこのブログのために作った武器なので使わないものですが
普段使うようの弓も作ってあります。
予定していた物とは違うものになってしまったので・・・
お見せ出来ませんが・・・もっと派手にしたかった・・・・

弓MODの説明をしているサイトが見当たらなかったので・・
試行錯誤した結果なんとか出来たので、投稿の運びとなりました。

何かの参考になれば幸いで御座います・・・・(= ̄∇ ̄=) ニィ
続きを読む

新世界の創造・・・

仰々しいタイトルで始まりましたが・・・Oblivionの話です。
以前にOblivionで秘密の隠れ家を作ったと言う投稿をしましたが
実はなんか変な事になってたんですよね・・・・

各地にある売却物件の家をいくつか購入していたので
その家にテレポート装置を設置して各拠点の持ち家から
隠れ家に飛ぶようにしてたんだけど・・・ふと気づくと
知らないNPCが隠れ家の中をたまにふらふらしてるんです・・・

で、どこから来るんだろうと観察してたら・・・
設置したテレポート装置を使ってるのではなく、設定した
パスグリッドの一部からこぼれるように沸いて来るらしい・・・

まったく意味がわかりません・・・
TES4EDITでMODクリーニングをしても効果なし・・・・

意味がわからないのでパスグリッドを削除しました・・・
隠れ家においていたNPCも別の地域の持ち家に移動して
しばらく隠れ家は使用していませんでした・・・

意味ないじゃん・・・

で、今回の話ですが・・・Oblivionの現実世界と切り離した
世界を作ってそこに隠れ家を設置すればいいんじゃね?という
短絡的な発想の元に作業を開始しました。

まずはWorldの作成です・・・

newworld.jpg

こんな感じで作っちゃいました・・・
広すぎると何もないだけになっちゃうので広い外海に浮かぶ
小さな隔離された島のような感じにしました。
また、外部に飛び出さないように周りには城壁を設置・・・・
(どこまで隔離政策なんだ・・・・)
島の真ん中に池のようなものも作成しました。
作成と言うか地形を盛り上げなかっただけだけどね・・・

privateworld.jpg

残念ながら撮影の為に来た時はあいにくの雨模様でした・・・
天候も変更できますが・・・まぁそこはそこ・・・

真ん中に写っている某遺跡への入り口は隠れ家に入るための
入り口にしました。

scene.jpg

NPCを配置した時の為に家のバルコニーにはsubspaceを配置してあります。
CSのマニュアル見てもよく分からない事が多く(英語だしね・・・)
subspaceとはMerkerとかはオブジェクトリストのここにあります・・

specialitem.jpg

で、今回使用した高級そうな家の場合3階構造なんだけど・・
内部の構造が2階までの部分と3階部分とに分かれてます・・

inhouse.jpg

で、2階と3階を結ぶ階段にもドアを別途設置してテレポート設定を
しないと家に入った時に移動できません・・・最悪奈落の底に落とされます。

バルコニーなんかも同じくテレポートドアを設置しないとだめです・・・

で、この場所に来るための方法ですが・・・
鍵アイテムを作ってそれに魔法を添付しました。
鍵を失くすと魔法は消えます・・・なんかちょっと現実っぽい?

ついでに各拠点の持ち家にもテレポートできるように魔法を作ってあります。

この魔法の作成でもわからないことが多々あったので・・・
かなり苦労しましたが・・・先人のMODを調べてなんとか完成しました。

これで・・・知らない人の訪問がなくなりますように・・・
†o(・・;) アーメン

またまたマージ・・・

今度は Recast & Detour branch なるものがマージされました。

Recast & Detour branch (sock-2010-nicks)

まだ何者なのかすら知りません・・・・・

しかも今回のSVNの最新ファイルは・・・ビルド出来ません

結局、自分でエラー解析して2箇所ほど修正してビルドしました。

更新されたら差し替えるつもりですが・・・それまではこれを使う
つもりです・・・。

修正箇所は

navmesh_conversion.cpp 282行目の

static int compareByData(const void* data, void * a, void * b)
        ↓
static int compareByData(void* data, const void * a, const void * b)

ED_object.h 137行目の

enum {
   ↓
typedef enum {

に変更しただけ・・・。

これでコンパイルエラーとリンクエラーが解消されてビルドできます。

なんだかなぁ・・・・

またまた新しいBranchがマージされてる・・・
VertexGroup Weight Modifierというものが新しく追加
されています・・・
Modifierタグを開くと
vertex Weight Edit
Vertex Weight Mix
Vertex Weight Proximity なるModifierがあります・・

これは何者?とちょっと調べて見たら
どうやらRadish Branchではなかろうか・・・・

YoutubeにあったRadish Branchの紹介映像
その2

更新リストにはRadish Branchとは明記されていなかったので・・
たぶん・・・きっと・・・そうかもしれない・・・

まだいじってないのでわからないけど
WeightPaintの使い勝手が格段によくなるのではないだろうか・・

このマージを猫さん版に取り込もうとした時に変な事が発生・・
猫さん版にはCarrotBranchと猫さんの独自開発の機能が別に
組み込まれているんだけど、当然現状のTrunkとはソースの
差異があるのでソースをマージするとコンフリクトが発生します。
今回はModifierが追加されたので、その辺りも衝突しています。

Trunkを優先して勝手に追加した物は空いているところに移すと
言うのが猫さんの流儀です。

アイコンのIDの採番もしかりです・・・(昨日やったBelnderButtonsも
作り直し・・・)で、いろいろとつじつまを調整してビルド・・・
以外にもあっさりエラーなしで完成・・・
動作確認の為に起動・・・・・(。´・д・)エッ 部分的になにもないし
正規版で確認すると・・・こっちは正常・・・

(*'へ'*) ンー コンソールログを見てみよう・・・
案の定いろいろと出てますなぁ・・・・
でも・・・なんかいつものおかしな状態とは違うような・・・

大量のログの中から・・・気になるものを発見・・
UIのModifier関係のpyファイルに関係したエラーのような表示が・・

これってさっき更新されたファイルですね・・・
でも正規版はちゃんと動いている・・・・なんで?

追加した部分を確認して見るか・・・ジ~ (・_・|
(。´・д・)エッ 新しく更新された部分が一部違うじゃん・・
って、そこ猫さんはいじってませんが・・・・

エラーログを見ると0x81って・・・・
(*'へ'*) ンー またコードの変換関係の障害かなぁ・・・

取り敢えず、正常に動いている方から新しく追加された部分を
まとめてコピペして動かして見る・・・

( ̄‥ ̄)=3 フン ちゃんと動くじゃん・・・
TortoiseSVNの問題かも・・・
そういえば最近更新してなかった・・・

時間があったら更新しとこう・・・

~~~~~((((((ノ゜⊿゜)ノあぁ

Carrot BranchがPepper Branchをマージして公開されました。
(Trunkをマージしたってことだけどね・・・)
これで猫さん版のBlenderの作業が出来ると思ったのですが・・
ところがどっこい・・・・・
今度はTrunkにParticles2010 Branchがマージされました。

Particles2010に関する公式サイトのURL

BlenderNationで見た事あるって言う人もいるでしょうね・・

というわけで・・・またしばらく猫さん版の作業は放置になりました。

(o・。・o)あっ! 今回のマージでバージョンが2.59.2になってたので
なんでも倉庫のバイナリもオリジナルの方だけ更新してあるよ・・
続きを読む
  次のページ >>