2010年5月31日月曜日

STARFLEET 進捗

ナヴィゲーションコントロールパネルはスクリプトも含めて完了
ユーザーが操作可能なマーカー類は全部表示するようにした。

お風呂の改装も完了(角を落として光の反射をやさしくした)
お風呂のシャワーです


残るは船室とブリッジと機関室のテクスチャとその機能等々。



2010年5月30日日曜日

THE STARFLEET for OBLIVION - MAIN BRIDGE Navigation control panel demo-

ナビゲーションコントロールパネルの試作
(トランスポート先を変更するだけです)



アクセスするのにテーブルに乗るのはよくないと思うので、ついでにメインブリッジの内装も変更中。
現在は2つ並べてSIにも対応させました。


余力がなかったので、今回は音声無しです。

2010年5月29日土曜日

ナビゲーションマップ on STARFLEET

マップのクリック地点がプレイヤーの立ち位置と角度で微妙にずれるが、マーカー見ながら調整可能なので、それほど悪いユーザーインターフェイスではないと思ったので、この機能を没にしなくて済みそうな感じです。

トランスポートのほうは、割と正確に移動できる模様。

街の真上にマーカーを設定してトランスポートしても
街の中には入れないので、いったん tcl で外に出ないといけないというのが難点。

WorldSpaceとExterior Cellの座標は統合されているのかどうなのか。
スターフリートの位置は街の中に居ても正確に取得できるようなので、位置表示のほうは問題が無い。

2010年5月28日金曜日

STARFLEET 進捗

公開時期
6月~年内

進捗
STARFLEET 70%
SHUTTLE 99%

近況
  STARFLEET
    内装変更。
    小物類追加。
    ただ広くて、つんつるてんな印象はしなくなったと私自身は思いますが
    どうなんだろう。これ以上増やすとポリゴン数の限界に到達しかねないので
    自重します。


回転灯(ロータリービーコン)をどうするか考え中
貨物室のエレベータ前のものを流用。
ちと合わない気がする。無いほうがよろしいか・・・。


回転灯は一応回る。
燃料切れとかで赤でフェードインフェードアウトの光源
つかいつつ回そうかと思ったんだけど、どうしよう。

回転灯がないとこんな感じ(場所違うけど)
トランスポーター前に、トランスポーター制御装置がつきました。
(スクリプトはまだ。ただのオブジェクトにするかもしれない)
  

ロワーデッキ(最下層)
柱などが増えました。ガンポッドの角を丸めて光のあたり方をやさしくしました。
部屋の扉の配置も変更。
ほぼ左右対称に(実際の青図面との比較では間取りとして無理があるかもしれない)


メインブリッジにナビゲーションコントロールパネルを追加
クリックしたらトランスポーターで、その場所にアクセスできるように
しようと思うんだけど、実験中。
実験して可能なことは分かったが、座標計算が微妙な感じで、左右が若干ずれる。
転送装置利用では、うまくいったが。
オブジェクト数の多いスターフリートをそこに移動させるのが、難しそうで試行錯誤中。
没になるかもしれない。

SHUTTLE
    回転処理の最適化(全方位で回転がおかしく無いように修正しました)
    (乗れません。ポータブルなテントのような利用方法を想定していて、
      回転は召喚時のアニメーションで必用な処理です)
   ソファベッドで、MOD導入後1回目のアクティベートでアニメーションしないバグがとれない。
   問題は今のところそれだけです。

2010年5月26日水曜日

2010年5月22日土曜日

STARFLEETの外観

The Starfleet for Oblivion, Exterior

STARFLEETのインテリアのムービー

The Starfleet for Oblivion, Interior

2010年5月21日金曜日

シャトルのデモ

シャトルのデモ。



STARFLEETの本体MODと分離したので、スクリプト周りが整理されて
楽に手を加えられるようになりました。

なので、ワープして現れるだけでなく、着陸と離陸を実装しました。

メッシュに穴があったようで。
あとテクスチャの整理も。

コンテナは、STARFLEETのものと同じモデルですが、サイズ調整と位置調整、アニメーションの変更も行いました。
アニメーションが変わったので、それにあわせた音を作らないといけない。

けっこうやることいっぱいあるな・・・。
その辺が終われば公開できるでしょう。

2010年5月19日水曜日

GGCとMPC on STARFLEET

移動する XMarker を Creature に置き換え、スクリプトも修正が終わったので、コンパニオンとの相性を調査する事にした。

長らく GGC を愛用してきたのだが、MPC の動作検証も行ってみた。
同時に OBSEも、v0016を使っていたので、v0018 にアップデートした。

GGC Companion Set 0.6j は、いまいち安定しない模様。
転送装置を利用して艦の中に直接転送を繰り返すとCTD。
どこから転送を開始しても同じ。
具体的には、

1.外から艦の中に転送。
2.艦のトランスポーターで元いた場所に転送
3.外から艦の中に転送。

で落ちる。

weOCPS.dll もビープをたまに鳴らす。


1.艦の外から艦の外(後部ハッチ)に転送
2.ハッチをくぐって艦の中に移動
3.トランスポーターで元の場所に転送

というような、艦へのアクセス方法だと安定し CTD する事もない。
一応スクリプトは読んでみたが、CTDの回避方法はあるような気はするものの回避方法は不明。


MPC 1.2.2 は特に問題なかった。
weOCPS.dll が、警告音を鳴らすことも無かった。


施設利用に関しては、GGC、MPCとも5人同行させてみたが、特に問題もなく、あちこちついて回り、開放すれば、施設も利用してくれる模様。

2010年5月17日月曜日

XMarker と Creature 考察

ながらく XMarker を戦艦の中と外、転送装置に利用してきたのだけど、今回、シャトルと戦艦のMODの分離を行ったので、ついでに以前から気になっていた XMarker を Creature に 置き換えた。

CSWiki によると XMarker を、WorldSpace と Interior Cell を行き来するような場合に利用するのは推奨されないとある。

たしかに、XMarker は、CTDは少ないものの安定しなかった。
セーブとロードを繰り返したぐらいでは、位置情報は失われないようで、いったん Oblivion を終了し、ロードしたような場合でも大丈夫な模様。

ロードして、どっかのセルを行き来すると、とたんに、おかしくなった。

いったんおかしくなると、再び位置情報をMoveTo,GetPos,SetPos で更新してやっても、きちんと動作しないようだ。

XY座標に関しては、アップデートされているようだが、Z座標が指定した通りにはならないようで、安全な地面に自動で補正されるような、そういう処理がなされているように考えられる。

また、戦艦本体は Visible When Distant が有効になっているのだが、Playerのいない別のセルに移動させたつもりでも、disableしないと遠くのほうに見えていたりする。

で。
CSWiki にあるとおり、Creature を XMarker 代わりに使えという事だったので、そのようにしてみた。

(ちなみに、Rat を使うのがどうも、気分が良くないので、WillOtheWispを複製して Makrer代わりにした。適当なnifで新規作成してみたが、CTDしたので、Creatureは、いろいろと他にも情報が必要なんでしょう・・・たぶん。)

Creature は Creature で問題がある。
まず、Enabled にすると、見えてしまうのは、しょうがないとしても、指定した直近のパスグリッド上に移動しているようで、細かな指定が無視されているような印象を受ける(調査中)

なので、 Disabled のまま MoveTo やGetPos,SetPos を行うようにしたのだが、どうも戦艦のinterior cell と worldspace で行き来すると CTD となる。

Enabled のまま移動させても、どうも所定の場所に現れないことも有り、DisableとEnable でいったんはさんでやら無いといけないような予感もする。

スクリプトの変更が結構な量なので、原因が他にあるかもしれないが、Actor が関わるとどうも落ちる気がする。
GGC を導入した状態で、戦艦のinterior cell と worldspace を転送装置利用で2度往復するとCTD というのが前にもあった。
それと似た様な状況。

戦艦に入るには、主に戦艦の後方に配置されたハッチ(ドア)と、トランスポート(転送装置利用)の2つの方法があるのだが、CTDするのはトランスポートの場合のみ。
(他にも4箇所あるが未テスト)

ちなみにハッチのほうは、試作の時から、実験的に Interior cell に配置された Door が、外から中に入る場合の XMarkerHeading代わりに利用されている。
(中から外に出るときは、XMarker。今は Creatureに置き換わった)

Door を一度、他のDoorにリンクし、その上で DoorのMarkerの位置と向きを設定し、リンクを解除すると、以後、Doorが XMarkerHeading 代わりに利用できるようになり、MoveToMarkerで、動作するようになるようなのだが、今までの統計的に見て、一度も CTD が無く、とても安定している。
(コードのレベルでどうなっているのかは追っていないので全く不明ですが)

このDoor MarkerはGGCを導入しても、今回の XMarkerをCreatureに置き換えた場合でも、一度も CTD せずに機能している。

なので、interior cell に関しては、この方法で置き換えてしまったほうが良いのかどうなのか今後の状況を見て判断したい所。
(ただし、Door Marker は動かす方法が分からないので、外には利用できないので、それが悩める所です)

(追記: OBSEのSetDoorTeleportでDoorMarkerも移動できる模様)

Doorのスクリプトは、OnActivateで動いていて、転送装置利用は、OnEquipとGamemodeで動作している。
この辺の違いもあると思うので現在調査中。

追伸
いつもながら、書いてから直るという。
頭の中が整理されるからだろうか。
そういえば、disable enableやら負荷のかかる処理は、別フレームで行うと良いというのを思い出したので、Creature の Markerを diable MoveTo GetPos SetPos enable  してから、return で返して、後で disable MoveTo を行うと CTD がなくなった。
残るは視覚的な問題で。
enable と disable のタイミングの調整をするか妥協すればなんとかなりそうな予感だ。

2010年5月16日日曜日

シャトルのMODを分離することに。

作業量的には、たいしたものではないけど。
シャトルを分離することにしました。

シャトルのほうは、けっこうスクリプト量も少なくて
すぐに公開できそうな予感です。

船のシャトル格納庫に自動着艦させるスクリプトも視野に入れているのですが、本体MODのほうをesm にして、後で対応しようと思います。

シャトルのほうはシャトルで、すっきり作ったほうがメンテナンスもらくだと思うんで、そのようにします。

ちなみにシャトルにはインテリアではなくて、エクステリアにパーツを全て召還するだけの機能しかありません。

装備は、ベンチとベッド、コクピットの椅子、コンテナーが1つです。

当初、コンテナが3つに、ベンチが2つありましたが。
回転するために、いろいろ調整が必要で、作り直したので現在の装備になりました。

チェインガンは、本体のチェインガンスクリプトのほうが未着手で保留中。

シャトルなのか

足回りがかっこ悪かったのでキャタピラにしてみようと思った。



しかしながら。
シャトルとは呼べない気がする今日この頃。

at 05/28/2010
これは没にして、元に戻しました。

2010年5月15日土曜日

謎解決

根本的に座標系とか何か間違っているのだろうけど。
とりあえず、Blenderで、移動成分をもってる子のParent設定を解除し、親に追従しつつ回転するオブジェクトに関してはParentが必用なので Lotの情報をキーフレームから削除することで改善した。


現在、ぶっとんでしまう現象に悩まされている。
今までは、偶然だったのか、なんの問題もなかったのですが。



2010年5月14日金曜日

スクリーンショット

まだ角の目立つ所がいろいろと有りますね・・・。











シャトルの回転

シャトルはもともと操作する事も考えて、回転や移動は視野に入れていたのですが、以前、シャトルを呼び出した時のシャトルの向きをプレイヤーの向いてる方向にあわせようとした時、難題に直面してしばらく放置してました。
けっこう作り終わった後だったので、後の祭りな感じで。
けっこうな作業量でしたが、なんとかなりそうです。

他の方が、同じ過ちをおかさないためにも経緯を書いておこうかと思います。

ヴァニラのオブジェクトは、オブジェクトの中心が、起点0,0,0になっているように見えるのだけど
私は適当にエクスポートしてたので、オブジェクトの中心が 0,0,0とは限らない状態。

およそ中心に寄ってるので、CSでオブジェクト配置するにあたっては不都合がないわけですが。

スクリプトで回転させるとなると、その起点と中心の差分を回転前に引いてやって、回転後に、配置させるべき座標回転させた上で足してやら無いといけないのですが、その差分を計算するには、厳密な縮尺のデータが必要なので、縮尺とか中心とか適当にやってると、ほぼ不可能なようです。

試しにやってみたのですが、だいたい位置はあってるものの、中心が0,0,0では無いので、その分の誤差が目に見えて分かるような状態だった。

例えば、あるコンテナは左隅が0,0,0なので、シャトルの向きが角度0で、コンテナも角度0で、シャトルの壁辺りに配置すると、シャトルの向きを角度90にして、コンテナの角度も90にしてやると、コンテナが壁にめり込むような事になる。
座標のみを計算で回転させても、オブジェクトの中心がずれてるので、そのずれてる分の差分も考慮してやら無いといけないわけです。

オブジェクト自体、CS wiki にあるような、グリッドにフィットする推奨する縮尺では作られていないので、まあ、後の祭り。

で、今更エクスポートしなおして、中心を合わせるのは。かなりの作業量のような気がするわけで。
Blenderでオブジェクトの親子関係と相対位置をくずさずに楽に移動させる方法もよく分からないし。

Cursor 0,0,0 に移動して、Center Cursor やっただけじゃ、親とか子とか、コリジョンとか、付いてこないのです。

相対位置崩さずに移動させるには末端の子から順に親を解除して、それによって移動したオブジェクトいったん Center New やって SHIFT + S で Select Centerやって Center Cursor でオブジェクトの本来の位置に戻して、それから、仮のルート作って 0,0,0 に移動して、オブジェクトの親子関係設定しなおして・・・とやらないといけないような気がするわけで。

で。

シャトル本体と、シャトルに置いたオブジェクトが、それらを同じパラメータで回転操作をした場合に、ずれる事なく本来の位置にオブジェクトを配置するには3つの方法が考えられます。

うち2つは、先に述べたように、不可能なので除外。
残る方法はオブジェクトをモデラーで配置して、そのままの座標でエクスポートして、移動することなく、回転のみ行う。

ということで、シャトルに関しては、それをやる事にしました。
使い回しがスマートにはできなくなってしまうが、致し方あるまい。

避けては通れないので、かなり面倒だったが、なんとかドアの作業は終わった。
アニメーションデータも Rot しか含んでないのに、座標がそのアニメーションデータを作成した時の位置に移動してしまうようで、使い回しがまったく出来なくて、大変だった。

残るはコンテナとベンチです。
ドアに比べれば、かなり楽・・・。

ということで、シャトルの中身は、また空になってしまった(TT
が、ドアのステップの角度は前よりいい感じになっているかもしれない。

2010年5月11日火曜日

小物のリメイク

ベッド
階段の作り直し。
BEFORE
AFTER

前のやつは一見フラットだけど歪んでてポリゴン数多めだった。
今回のは角が丸くてもポリゴン数減った。


2010年5月10日月曜日

透明にならなくなる

悩める子羊の話。

医療室にあるガンブレードラックなんですが。
透明の時と、透明じゃない時があるのです。


こんな具合で。

近寄ってみると完全に透明でなくなっている分けではなくて
一応透けるには透けているようです。
反射がきつくなっているだけのようで。


いったんこの現象が起きると、船室にある他のウォールシステムも同じような感じになってしまいます。
ちなみに、このラックのガラス戸は、左開き、右開き、上開き、上開き大 と4種類あってモデルのデータも異なっていて、組み合わせて構成させる物なんですが、いっつも反射がきつくなるのは、右開きの扉のみ。

どうして右開きのみが、こういう事になるのかと思って、いろいろと試してるのですが。
どーにもならないような気がしてきました。

法線方向がおかしいのだろうと思って、法線方向を変えたりもしてみたけど効果なし。
モデルを作り直してみても効果なし。
モデルの融通がある程度利くので、反射がおかしくなる事の全く無い左開き用を
右開き用に修正を加えて利用してみても効果なし。
テクスチャのアルファを調節してみても効果なし。
念のため _g のテクスチャも導入してみたけど効果なし。


万策尽きたので、ネットで調べてみると、Natural Environment で HDR の Weather を入れているとなるという話もあるようで。
一応外してみたけど変わりなし。


広い船室に左開きと右開きが同時に見れる場所があるので。
試しに、右開きのモデルと左開きのモデルのファイル名を入れ替えて
CS通さずに逆になるようにして見たのですが
今度は、左開きのモデルの反射がおかしくなった。

という事は、モデルには問題が無いという事なのだろか。
どうも、一番右端にあるものがおかしくなるようで。
しかもそうしておかしくなったモデルは、全室いっせいにおかしくなるという。
んむむむむ・・・・。


ということで、船室等のガラス扉で横開きのものは全廃するしかなくなった気がする今日この頃です。
もともと部屋のにはガラス扉をつけるはずではなかったので、まあ、それはそれでいいのか。
でもなんか寂しい感じになってしまった。
しくしく。



2010年5月9日日曜日

STARFLEETのインテリア紹介

(スクリーンショットを作成してから、けっこうMODのほうは
手を加えているので現在の状態とは違うところが多いです)


まずホールというか食堂。
トランスポーター前

一応案内板が有ります。
(船体構造も少し変わったので、このテクスチャも作り直さなければ成らない)

遠景
(ヴァニラのタペストリーは外す予定)


機関室前に本棚がおいてあります。

機関室前

コンピュータ類
(ディスプレイのテクスチャがまだ未着手)

奥のほう。

奥にコンピュータコア。

機関室の外に廊下があります。
スタトレのエンタープライズのジェフリーチューブみたいなものです。
(スタトレでは主にメンテナンスや非常時に使われてます)
雰囲気を出すために、もっと暗くて狭かったんですが、コンパニオンとすれ違うのに不便なので人間二人分の幅が有ります。


医療室とも繋がってます。

所変わって。
ブリッジ。
ブリッジの横に艦長室 兼 会議室みたいな部屋があります。
(明かりのせいで明るく輝いている所です。
細かい部分は改装中なので次回紹介します)


また所変わって。
医療室前。

扉はきちんとアニメーションします。

キャプチャが一昔前のバージョンなんで。
奥に見えるベッドが使い回しですが。

奥に見えるベッドは今は廃止しました。


今の医療室は、この画像にあるような診察台が置いて有ります。

武器庫。
片手持ちのガンブレードと両手持ちのガンブレードが置いて有ります。



船員室。
冷蔵庫付です。
レプリケーターがあればいらない気もしますが。
今の世で消えゆくカセットデッキみたいな感じで。
あるところには有ります。
(このベッドも廃止されました)


細かい部分でいろいろと悩める所が有りまして。
何十回も作り直したりと作業中です。
今回はこの辺で。