コンパイルエラーまとめ
mixiのこいぬさんの記事を元に、一部修正したものを載せています。
不明な点がございましたら、こいぬさんに質問をお願いします。
mixiのこいぬさんの記事を元に、一部修正したものを載せています。
不明な点がございましたら、こいぬさんに質問をお願いします。
- qbsp2 ---- LEAK LEAK LEAK 11 seconds elapsed マップに穴が空いているときに出るエラーメッセージです。
このエラーが表示されたらマップの穴を探してふさいでください。
Hammerで作成されるマップは「閉鎖された空間」でなければいけないというルールがあります。マップの外に落ちたりするエラーを防ぐためにコンパイルの時点でマップの穴をチェックしています。


穴が見つけにくいときには「マップ」→「ポイントファイルを読み込む」を選択してください。
ポイントファイルは作業フォルダにある.ptsという拡張子のファイルです。
ポイントファイルは作業フォルダにある.ptsという拡張子のファイルです。
ポイントファイルを読み込むと赤や青の線が表示されます。
これはマップの不具合がありそうな場所を示しています。
これはマップの不具合がありそうな場所を示しています。
この線をたどっていくと穴を発見することができます。

コンパイルは成功しますが、マップに穴が空いてしまう場合があります。
このままではマップの外に落ちてしまいます。
このままではマップの外に落ちてしまいます。
その他に、
- テクスチャは貼られているけど実際の地面はない場合。(地面をすり抜けて落ちる)
- 地面はあるけどテクスチャが貼られていない。(真っ黒の地面の上を歩ける)
などの現象が起こっている場合もあります。
これらにも修正が必要になります。
これらにも修正が必要になります。
Hammer Editorが歪みに弱い性質があります。

Vertex toolでわざと上面をゆがませてみました。
こういった面はT2やHammerEditorではちゃんと表現されています。
しかし、このようないびつな面をそのままコンパイルすることはできません。
それはHammerEditorがボックス単位でしか物体を生成できないからです。
こういった面はT2やHammerEditorではちゃんと表現されています。
しかし、このようないびつな面をそのままコンパイルすることはできません。
それはHammerEditorがボックス単位でしか物体を生成できないからです。
厚みを持たない面を作れないHammerEditorにおいては、どんなに薄くてもそれは薄い箱でしかありません。
箱は六方体であり、今までに出てきたVertex toolはその六方体の形を不自然に変えることの出来るツールです。
箱は六方体であり、今までに出てきたVertex toolはその六方体の形を不自然に変えることの出来るツールです。
現実にはあり得ない形も生成してしまいます。
この箱も、もはや六方体とは呼べません。もっと細かく物体を分割すれば三角錐や箱の組み合わせでできるので、このような物体を作成したいときには分割して作成してください。
単純な平面になっていることが望ましいです。
この箱も、もはや六方体とは呼べません。もっと細かく物体を分割すれば三角錐や箱の組み合わせでできるので、このような物体を作成したいときには分割して作成してください。
単純な平面になっていることが望ましいです。

このような六方体に修正をしてください。
HammerEditorは歪みをなくそうとします。 少しの歪みなら誤魔化して表現してくれるのですが、歪みが激しかった場合はコンパイルエラーを起こして終了します。
そして軽い場合は穴が開いてしまったりします。
そして軽い場合は穴が開いてしまったりします。

微妙なゆがみの場合、隙間が空いてしまいます。
画像の場合、手前の面が1グリッドぶん沈み込んで隙間が空いています。
「これ以上この面をゆがませられない」
というサインです。
この沈んだ頂点に周りのブロックの頂点を合わせます。
画像の場合、手前の面が1グリッドぶん沈み込んで隙間が空いています。
「これ以上この面をゆがませられない」
というサインです。
この沈んだ頂点に周りのブロックの頂点を合わせます。


Vertex toolを使い、この頂点をまとめて1グリッド落としました。
その結果、隙間が塞がって改善されました。
その結果、隙間が塞がって改善されました。
周りの地形にデータ量が多すぎた場合、面のちらつきが発生することがあります。
このような場合は1グリッド分動かしてみたり、大きく頂点を動かしてみてください。
うまく改善される場合があります。
このような場合は1グリッド分動かしてみたり、大きく頂点を動かしてみてください。
うまく改善される場合があります。

******* ERROR ************
Bad surface extents
直訳すると「悪い表面の範囲」。
最小単位のグリッド1マスよりも小さな範囲を指定した場合に起こります。
小さな箱をさらに斜めに切り取ったり、斜めの箱を他のブロックに極端に近づけたりすると起こりやすいようです。
小さな箱をさらに斜めに切り取ったり、斜めの箱を他のブロックに極端に近づけたりすると起こりやすいようです。
細かすぎるブロックを修正するか、削除をしてください。
******* ERROR ************
Texture axis perpendicular to face
斜めに動かしたブロックに上手くテクスチャが貼れなかった場合によく起こります。
問題のある面を垂直に修正するか、削除してください。
問題のある面を垂直に修正するか、削除してください。

******* ERROR ************
MAX_MAP_CLIPNODES
頂点数が多すぎるマップを作成した場合や、データ量が大きすぎたりすると起こります。
clipnodeのデータ量は、HammerEditorに入っているコンパイルソフトを使用したときに見ることができます。
テキストファイルの最後にあるデータ一覧で、
テキストファイルの最後にあるデータ一覧で、
clipnodes 22328/32767 178624/262136 (68.1%)
このように表示されています。
ここのデータ量が100%を越えるとエラーになります。
ここのデータ量が100%を越えるとエラーになります。
エラー対策としては、T2でShow Meshをする段階で頂点の数を減らすか、マップサイズを小さくしてデータ量を減らしてください。

lightdata [variable] 216927/2097152 (10.3%)
ライトマップのデータ量にも限界があります。
データ量が多すぎたりするとライトマップの貼り付け段階(rad)でエラーが発生したり、おかしな現象が起こります。
その他のコンパイルエラーでもそうなのですが、このライトマップエラーの場合は特に、bspファイルはすでに出来上がっています。(中のデータは壊れています)
データ量が多すぎたりするとライトマップの貼り付け段階(rad)でエラーが発生したり、おかしな現象が起こります。
その他のコンパイルエラーでもそうなのですが、このライトマップエラーの場合は特に、bspファイルはすでに出来上がっています。(中のデータは壊れています)
このbspファイルをSKに組み込んでしまうこともできるのですが、強制終了したり、PCがフリーズしてしまうこともあります。
コンパイルが正常終了しなかった場合bspファイルを組み込むのはオススメしません。
コンパイルが正常終了しなかった場合bspファイルを組み込むのはオススメしません。

lightdata [variable] 1924152/2097152 (91.8%)VERY FULL!
lightdataの値を大きくし、上記の91.8%を越えたらエラーになりました。
ダイアログによりコンパイルが終了する場合もあります。
ダイアログによりコンパイルが終了する場合もあります。
******* ERROR ************
nummarkfaces == MAX_LEAF_FACES
テクスチャの表示倍率をx:0.05、y:0.05に指定したときに起こりました。
テクスチャの表示倍率を小さくして貼り付けると、ブロックの数は変わらなくてもデータ量が増加します。
テクスチャの表示倍率を小さくして貼り付けると、ブロックの数は変わらなくてもデータ量が増加します。


テクスチャを細かく表示させたい場合、画像をあらかじめ編集しておきます。
******* ERROR ************
transfer < 0
上記と同じくテクスチャを細かく貼り付けたときにエラーが出ました。
同じ方法で修正をしてください。

コンパイルした後に、「マップ」→「マップチェック」でマップの不具合のチェックができます。
これはコンパイルエラーを起こした場所などを知るのにはとても役立ちます。
ただし「修復」を行うと強制的に面の歪みを修整してしまったりするので、その後の修正が大変になったりします。
There is no player start.はSKのマップを作成する段階では必ず残ります。
これはコンパイルエラーを起こした場所などを知るのにはとても役立ちます。
ただし「修復」を行うと強制的に面の歪みを修整してしまったりするので、その後の修正が大変になったりします。
There is no player start.はSKのマップを作成する段階では必ず残ります。