今更なオブリビオンブログ
おもにMOD関連のメモを書いていくと思います、MODをいじったり、作ってるのが楽しいです。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ダミーセルの存在意義について
ダミーセルの利用法についての覚書です。

ワールドスペースの中には、「○○Warld」という名前で街中用のセルがありますが、室内用のセルである、Interiorsの中にも、街の名前のダミーセルが存在しています。
実際に使用しているのは、ワールドスペースの中にあるほうなので、街のダミーセルを作る意味が無いように思われますが、実はこれ、利用法があります。

それは、「その街の中でだけ」という条件にしたい時に「GetInCell」で街のダミーセルを指定することです。

似たような関数で、「GetInWorldspace」がありますが、「GetInWorldspace」の場合は、指定した外部セルにいる場合のみになるので、
街の建物の中などに入っている場合は条件から漏れてしまいます。

一方、「GetInCell」を使った場合は、これは実は、指定した「CellDName」が含まれている場合、1を返すという動作をするものなので、
街の建物の中などに入っている場合も条件に合います。(建物の中のセルは、その街の名前が先頭にあるため)
そして、当然ワールドスペースの中の街の、「○○Warld」もこれに含まれます。(街が作られている部分のセル名は、「AnvilExterior01」のようにその街の名前が先頭にあるため)




…便利そうですが、その動作ゆえに気をつけなければいけないこともあります。
実は、ワールドスペースの「Tamriel」の中には、農村や宿屋、街の近くなどの一部の場所で、周辺の町や建物の名前が含まれたEditorIDになっているため、そこも含まれてしまいます。
なので、場合によっては「GetInWorldspace」を使って「Tamriel」を除いておく必要があるかもしれません。

また、宿屋や農家のような一つの室内セルだけを指定にしたい時には「GetDistance」をつかって、指定したい室内セルの動かないもの、XMarkerなどを広範囲で指定するという手もあります。
スポンサーサイト

テーマ:PCゲーム - ジャンル:ゲーム

コメント

コメントの投稿














管理者にだけ表示を許可する


トラックバック
トラックバック URL
http://5588ob.blog.fc2.com/tb.php/29-46158fd9
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。