Category:Source SDK FAQ:jp
From Valve Developer Community
To do: 現在の英語版の内容に合わせたアップデートが必要です
General SDK Troubleshooting
もっとヘルプが必要な場合、どこに行けばいい?
- 現在の SDK リリースについての情報は SDK Release Notes をご覧下さい。
- Source エンジン・コンテンツ作成の最新情報は、VERC Collective (http://www.chatbear.com/board.plm?b=390) へどうぞ。 VERC Collective Forums は発生した問題の答えを見つける最良の方法です。
- またサポートフォーラムに投稿する際には以下の情報が有用となります。
- 使用しているオペレーティングシステムは何か?
- 使用しているビデオカードは何か?(複数のビデオカードを使用している場合、その全部。)
- 使用しているビデオカードのドライバーは?
- コンパイルやマップ実行時の問題については、Hammer Editor のコンパイル・プロセス・ウィンドウのメッセージ内容を提供して下さい。
- これらの情報はいつも必要と言うわけではありませんが、全ての情報が明らかになった時は問題解決のスピードアップが図れるでしょう。
Source SDK のゲーム設定をリセットする方法は?
Source SDK のゲーム設定は gamecfg.ini ファイルにあります。Hammer のゲーム設定で問題が生じたり、SDK ローンチャーのゲーム設定が正しく動作しない場合、次の手順でゲーム設定をデフォルト設定にリストアする事が出来ます。 "Create A Mod" ウィザードを使用して MOD を作成していない場合:
- SDK Steam アプリケーションを閉じます。
- ../SteamApps/username/sourcesdk/bin" ディレクトリから gamecfg.ini を削除します。#SDK Steam アプリケーションを再起動します。
"Create A Mod" ウィザードを使用して MOD を作成している場合: 注: このステップは、作成した MOD 用のゲーム設定を保存したい場合にのみ必要になります。
- SDK Steam アプリケーションを閉じます。
- "../SteamApps/username/sourcesdk/bin" ディレクトリから gamecfg.ini を開きます。# INI ファイルにある設定ブロックを数えます。設定ブロックは "[GameConfigX]" という記述から始まり、"X" は数字です。 gamecfg.ini ファイルの一番上に、"NumConfigs" と数字が表示されています。ファイルにある設定ブロックの数を、この数字の部分に設定します。 注: gamecfg.ini に "[GameConfig0]" という記述が無い場合、このステップでの数値に 1 を加えます。そうしないと、リストに表示されるゲームが一つ足りなくなります。
- ファイルを保存し、SDK Steam アプリケーションを再起動します。
ゲーム設定をリセットしたが、Hammerを実行しようとするとconfiguration error(設定エラー)が出る
これは通常VConfigが作業をしようとするゲームやMODのGameinfo.txtを見つけられなかったということを示しています。Valveによるゲーム(例: Half#Life 2, Counter#Strike: Source, など)ではこのエラーはゲームを実行してSourceSDKを再起動するだけで直ります。もしこれがサードパーティのMODの場合手動でそのMOD用のgameinfo.txtを作る必要があります。GameInfo.txt File Structureに詳細があります。
別の可能性としては作業しようと思っているゲームに対するHammerの設定が正しいものではないというものもあります。この場合「Hammer Editor を手動で設定する方法は?」のように手動でHammerを設定する必要があります。 それでも問題が直らないなら以下を参照してください:
- もっとヘルプが必要な場合、どこに行けばいい?
- この FAQ に載ってない問題がずっと発生している。
Hammer と SDK アプリケーションに My Game 設定メニューが無い。
何人かのユーザーで、選択する項目が何も無い為に Hammer や SDK ローンチャーでゲーム設定を選択出来ないと言う問題が発生しています。この問題を解決するには、Source SDK のゲーム設定をリセットする方法は?をご覧下さい。
Source SDK 全体を再インストールするには?
他の全てが失敗してしまう場合、SDK を再インストールする必要があるかも知れません。しかし実行すると、あらゆるマップやモデルなど、作成したものが削除されてしまいますので、下で示す手順に移る前に "..\SteamApps\username\sourcesdk"ディレクトリをコピーしておく事をお薦めします。そして SDK を再インストール後、バックアップしたコンテンツをリストアする事が出来ます。
注: このプロセスで GameConfig.txt が削除されますが、これは作成した MOD のどんなゲーム設定も同様に削除される事を意味しています。それらの設定を保存しておきたい場合、GameConfig.txt をバックアップし、当ドキュメントの Hammer と SDK アプリケーションに My Game 設定メニューが無い。に従ってください。
- Steam タスクバーアイコンのメニューから、Exit を選択し、Steam をシャットダウンします。
- SDK が入っている
"..\SteamApps\username\sourcesdk"ディレクトリを削除します。 -
"SteamApps"ディレクトリから sourcesdk.gcf を削除します。 - Steam を再起動し、SDK アプリケーションを立ち上げます。
Steam は必要なファイルを自動で再インストールします。
"Current Game" メニューから古いゲームを削除するには?
"Create a Mod" ウィザードを使用して作成した MOD をゲーム設定メニューから削除したい場合:
- Source SDK ローンチャーから Hammer Editor を起動します。
- Tools メニューから Options を選択します。
- Game Configurations タブに切替えます。
- Configuration: ドロップダウンリストの隣にある Edit ボタンをクリックします。
- 削除したい設定を選択し、Remove ボタンをクリックします。
- OK を押して削除を実行し、Options ダイアログの OK ボタンを押します。
- Hammer と SDK ローンチャーを閉じます。
- Source SDK ローンチャーを再起動すると、設定がドロップダウンリストから削除されます。
SDKをしばらく開いていると、マシンのリソースが減ってクラッシュする!
いくつかのユーザのシステムにおいて、SDKランチャーとSteamのPlay Gamesウィンドウが開いたままだと多くのシステムリソースを使ってしまうという問題があります。これについての次善の策としては、SDKツールを立ち上げたあとSDKランチャーとSteamのPlay Gamesウィンドウを閉じることです。この問題は将来のSourceSDKの更新で対処されます。 リソース問題を避けるには:
- Source SDKランチャーをPlay Gamesウィンドウから起動します
- Hammer Editorのように使用するSDKツールを起動します
- SDKランチャーを閉じます
- Steam Play Gamesウィンドウを閉じます
- Hammerに切り替えて、編集を開始します
使用するSDKツールやゲーム設定を切り替えるときはこれらのステップを繰り返してください。
"Cache Needs Repair" エラーの対処方法は?
ゲームキャッシュファイルの内部に問題がある時 (ほとんどの場合、ゲームがクラッシュした後に起こる) 、このエラーが発生します。 キャッシュファイルの修復方法:
- Steam タスクバーアイコンのメニューから、Exit を選択し、Steam をシャットダウンします。
- Steam を再起動します。
- Half-Life 2 を起動します。
- もしこれで問題が解決しない場合、同様の方法で Counter-Strike: Source を起動して下さい。
これらのアプリケーションを実行する事で、キャッシュの問題を検証し修復します。
"Cache Needs Decryption"エラーが発生した
このエラーはHalf-Life 2を一度も起動していない状態でSDKを実行しようとすると発生します。 このエラーを直すには:
- SteamのPlay GamesウィンドウからHalf-Life 2を実行します
- SteamのPlay GamesウィンドウからSource SDKを実行します
- これでまだ問題が残っているなら、Counter-Strike: Source とHalf-Life 2: Deathmatch.について上のゲーム実行を行ってください
アプリケーションを実行することで、キャッシュの妥当性をチェックし修復を行います。
"Can't find steam.dll relative to executable path steam path" エラーが発生した。
このエラーは Steam ディレクトリにあるファイルや Steam ディレクトリ自体を移動したり削除した事により起こります。 移動や削除したファイルを元に戻しても解決しない場合、まずSourceSDK 全体を再インストールするには?を試し、次に ClientRegistry.blobを削除し、Steam を再起動してください。もしそれでも解決しない場合、Steam をゼロからインストールする必要があります。
この FAQ に載ってない問題がずっと発生している。
まず、もっとヘルプが必要な場合、どこに行けばいい?セクションにあるリソースを利用しましょう。 Steamのvalidation tool (http://steampowered.custhelp.com/cgi-bin/steampowered.cfg/php/enduser/std_adp.php?p_faqid=282)が問題を解決する場合もあります。 それでもまだ問題が解決しない場合、ここで説明している方法で SDK を再インストールする事が出来ます。
General SDK Information
Source SDKのディレクトリ構造はどうなっている?
Source SDKファイルとディレクトリ構造を参照してください。
Gamecfg.iniの変換についての情報
最新の更新でSDKのゲーム設定情報を含んだファイルの形式が新しくなりました。以前は全てのゲーム設定データはgamecfg.iniにありました。設定データは今はGameConfig.txtに保存されます。どちらのファイルもSteamApps\sourcesdk\bin ディレクトリにあります。
新しいSDKの更新を実行したときに、gamecfg.ini に保管されていた情報は自動的に変換され新しい形式でGameConfig.txtに保存されました。そして以前のgamecfg.iniはもう使用されないためgamecfg.ini.oldという名前への変更が行われました。
3D バックグラウンドをロードせずにゲームを起動する方法は?
ゲームのショートカットに -console を追加すると、バックグラウンドをロードしません。 このコマンドは、Hammer の Run Map ダイアログにある "Additional game parameters" に加える事も出来ます。 また、このコマンドを加える方法がもう一つ、Steam の Play Games ウィンドウにあります。ゲームを右クリックし、プロパティを選択、そして起動オプションボタンをクリックし、テキストフィールドに -console を加えます。
ゲーム起動時に使用出来るパラメータは?
ゲームエンジン起動時に使用する、エンジン周りの環境を変更する幾つかのコマンドラインオプションがあります。 有用なゲームパラメータ:
- -dev: デベロッパー・モードでゲームを起動します。デバッグに適し、コンソール情報も表示します。
- -console: ゲームを直接、デベロッパー・コンソールで起動し、3D バックグランドを表示しません。
- -sw: ゲームをウィンドウモードで起動します。
- -fullscreen: ゲームをフルスクリーンモードで起動します。
- -w <size>: スクリーンの幅を <size> にピクセル単位で指定します。例: -w 1024
- -h <size>: スクリーンの高さを <size> にピクセル単位で指定します。例: -h 768
- -condebug: デベロッパー・コンソールの内容を <ゲームディレクトリ>\console.log に記録します。
- +sv_lan 1: LAN モードでゲームを起動します。インターネット経由でプレイヤーが参加することを防ぎます。
- +map <mapname>: ゲームを起動し、<mapname> で指定したマップをロードします。
- -applaunch <AppID>: SteamAppID で特定したゲームを起動します。
パラメータに "+" 記号を用いるパラメータは、エンジン起動後に実行されるデベロッパー・コンソール・コマンド です。
典型的なセッティング例:
Steam.exe -applaunch 280 -dev -console -sw +sv_lan 1 +map MyMap
これにより、Half-Life 2: Deathmatch をデベロッパー・モードで起動し、デベロッパー・コンソール をアクティブにして、ウィンドウモードと LAN マルチプレイヤーモードで MyMap.bsp をロードします。
レベル・エディット設定とコンパイル
Hammer の設定が間違っている。何をすれば良いか?
Hammer 設定が正しく動作していない場合は、まずSource SDK のゲーム設定をリセットする方法は?を試してください。 それでも解決しない場合、Source SDK 全体を再インストールするには?を試してください。
Hammer Editor を手動で設定する方法は?
インストールされた Source ゲームのレベルをエディット出来るように、Hammer Editor は設定を自動的に行います。この情報は完全に網羅していますが、動作不可のゲーム設定を修正するには、この手順に従うことを強く勧めます。 手動による Hammer ゲーム設定の情報は、Hammer マニュアル設定を参照してください。
コンパイル・プロセス・ウィンドウの中身をコピーする方法は?
Run Map... ダイアログで OK ボタンをクリックした後、Hammer は Compile Process Window にコンパイルの進行状況を表示します。コンパイル終了後、ウィンドウ下部の Copy to Clipboard ボタンをクリックすると、電子メールやフォーラムのポストに貼り付けることが出来るようになります。
"Additional game parameters" フィールドは何に使用する?
このフィールドに ゲーム・パラメータを入力して、ゲームをどう実行するのかを定義します。 典型的なセッティング例:
-dev -console -sw +sv_lan 1
これにより、ゲームをデベロッパー・モードで、デベロッパー・コンソールをアクティブにして、ウィンドウモードと LAN マルチプレイヤーモードで起動します。
作成したマルチプレイ用マップが、マルチプレイヤー・マップリストに表示されない。
Half-Life 2: Deathmatch のマップリストに表示するには、マップ内に info_player_deathmatch を配置する必要があります。
info_player_deathmatch エンティティはマルチプレイ用のプレイヤー・スポーン・ポイントを作成します。プレイヤーがレベル内にスポーンする時 (プレイヤーがレベルに参加したところだったり、死んでリスポーンした時など) 、利用可能な全ての info_player_deathmatch からランダムでピックアップした位置に配置されます。
プレイヤーのスポーンを予想出来なくする為に沢山のスポーン・ポイントを配置するのは良いアイデアです。
SDK ローンチャーから何を選んでも、Hammer の設定リストで Counter-Strike が選択されている。
Hammer のゲーム設定リストにある現在のゲーム設定では何も動作を行わない、と言う事を知るのは重要です。現在のゲーム設定は、Hammer 起動前に Source SDK Launcher で設定され、Hammer オプションダイアログは単に設定のエディットを行うのとリストをアルファベット順に表示するだけです。そのため、常に Counter-Strike が最初に現れるのです。 Half-Life 2: Deathmatch 用のマップをエディットする場合のワークフロー例:
- Source SDK Launcher で、Current Game (現在のゲーム) を Half-Life 2: Deathmatch にセットします。
- SDK Launcher から Hammer を起動します。
- マップのエディットと保存をします。
- Hammer から Run Map... を選んでマップをコンパイルします。
- コンパイルされたマップはHalf-Life 2 Deathmatch でロードされます。
Hammer でマップをコンパイルしたが、Steam メニューからゲームを起動した時、マップが見つからない。
コンパイル終了後に Hammer からマップを実行せずに、Steam の Play Games ウィンドウからゲームを実行するとこの問題が発生します。この問題についての作業はコンパイル済マップの実行をご覧下さい。
Hammer でプロップ (Prop) モデルを追加したが、ゲームで表示されない!
この問題は二つの状況で起こり得ます。 一つは、 レンダリングされずに直ぐにフェードアウトした事でモデル・フェード距離が知らないうちに変化しなかったか確認して下さい。プロップ・エンティティの Object Properties ダイアログを開き、Start Fade Dist と End Fade Dist の値を調べてください。これらの値でプロップがフェードアウトする距離をコントロールし、パフォーマンスをコントロールする手助けとなります。プロップがフェードアウトしないように設定するには、Start Fade Dist を"-1" に、そしてEnd Fade Dist を"0" にします。これらの値は 2D ウィンドウに表示される、プロップ・テンィティの周囲にある同心円ヘルパー (Concentric Circle Helpers) でも設定可能です。
もう一つの可能性として、使用しているモデルに不正なプロップ・タイプを選んだ事によるものがあります。prop_static エンティティを使用し、次にフィジクス・プロパティを所持するモデル (prop_physics であるべき) を指定した場合、エンジンはモデルを削除します。この問題を修正するには、 エンティティを prop_physics に切り替えるか、フィジクス・プロパティを所持しないモデルに変更します。プロップ・エンティティの様々な種類については Overview of Prop Types をご覧下さい。
コンパイルした時、"Error! static_prop using model modelname, which must be used on a dynamic entity." エラーが発生する。
使用しているモデルに対し、不正なプロップ・タイプが選択されています。prop_static エンティティを使用し、次にフィジクス・プロパティを所持するモデル (prop_physics であるべき) を指定した場合、エンジンはモデルを削除します。この問題を修正するには、 エンティティを prop_physics に切り替えるか、フィジクス・プロパティを所持しないモデルに変更します。プロップ・エンティティの様々な種類については Overview of Prop Types をご覧下さい。
Counter-Strike: Source マップをロードした時、"Both Teams are Full" メッセージが表示される。
info_player_counterterrorist エンティティと info_player_terrorist エンティティの両方をマップに配置する必要があるか、またはゲームが正しくセットアップ出来ていません。必要なエンティティに関する情報は Making Counter-Strike: Source Maps をご覧下さい。
Hammer でモデルを配置すると、ゲーム内で黒と紫のチェック模様でレンダリングされる。
そのモデルが Source SDK 付属のモデルやユーザー作成のカスタムモデルでない場合、恐らくゲーム設定に問題があります。追加情報はHammer の設定が間違っている。何をすれば良いか? をご覧下さい。
コンパイル時、Hammer が "leaked!" メッセージを表示した。対処法は?
この事に関する情報は、Leaks Explained を参照してください。
コンパイル時、"Memory leak: mempool blocks left in memory: number" メッセージが表示される。
このメッセージは無害で、マップのleakとは全く無関係です。
マルチプレイヤー用マップを実行すると、サーバーに人が入ってくる!
ゲーム起動時、オプションに +sv_lan 1 を加えてください。Additional game parameters フィールドは何に使用する? をご覧下さい。
元の 4 つのビュー (3D、top、front、side) 表示に戻すには?
Tools メニューから Options を選び、General タブをクリックします。Window Setup 以下の Use independent window configurations 設定で、チェックボックスのチェックを外します。そしてダイアログを閉じ、Hammer を再起動します。
レベル・エディット機能
Skybox を正しく作る方法は?
まず最初に、Source エンジンには 2 つの Skybox がある事を知る必要があります。その一つは、テクスチャが貼り付けられたキューブからなる旧来の 2D Skybox で、Skybox テクスチャが内部の面に貼り付けられている巨大なキューブでレベルを取り囲んでいると考えてください。2D Skybox のテクスチャはほとんどの場合、雲と太陽と遠方のディテールで出来ています。、2D Skybox は Hammer のマップ・プロパティ・ダイアログで設定します。
3D Skybox は Source エンジンの新しいタイプの Skybox です。3D Skybox はマップのゲームプレイ部分の外にある、レベルデザイナーによって構築されたエクストラ・エリアです。マップ内のプレイヤーは 3D Skybox 内に入る事は出来ず、3D Skybox は実際のものより大きく、マップの周りのエリアを作るようにデザインされています。マップに 3D Skybox は必要か?それは純粋にマップの視覚的オプションに過ぎません。3D Skybox の作成方法については、Making 3D Skyboxes をご覧下さい。
レベルに霧を追加する方法は?
レベル内にポイント・エンティティの env_fog_controllerを追加します。基本的な霧では、Fog Enable を "Yes" する必要があり、Primary Fog Color で霧の色を好みの色に設定します。 Fog Start と Fog End の値で、ワールド単位で霧をどこまでレンダリングするかを設定します。Fog Start 距離で霧がプレイヤーからどれくらいの距離にあるか、Fog End で完全に不透明になるまでの距離を設定します。
カスタム・サウンドスケープを作ることが出来る?
出来ます。SDKが更新され、soundscapes_manifest.txt以外にもサウンドスケープを置くことができるようになりました。サウンドスケープファイルに適切な名前をつけるとマップのロード時に読み込まれます。
サウンドスケープの名前と場所は以下の形式である必要があります:
<game directory>\scripts\soundscapes_yourmapname.txt
例えばCounter-Strike: Sourceのde_kilo2.bspというマップの場合以下のようになります:
<game directory>\scripts\soundscapes_de_kilo2.txt
Half-Life 2 のモデルやマテリアルを Counter-Strike: Source マップで使用するには?
Half-Life 2: Deathmatch をプレイしている全てのプレイヤーのマシンで使用したい場合、それは不可能です。なぜならそのマップをダウンロードした人が Counter-Strike: Source と HL2DM の両方をインストールしている、という保証が無いからです。私たちは Half-Life 2: Deathmatch をプレイするのに Counter-Strike: Source をインストールする事を要求していません。その逆も然りです。その結果、必要なモデルやマテリアルを持っていないので、Counter-Strike をインストールしていないプレイヤーにエラーが発生するでしょう。
フェイスポーザー
"SAPI 5.1 Unable to create recognizer context"というエラーが出る
このエラーがFacePoserでRedo Extractionをクリックした時にでるのなら、Microsoft Speech SDKをインストールする必要があります。以下からダウンロードできます。: http://www.microsoft.com/speech/download/old/sapi5.asp.
プログラミング
SDK コードをビルドするのに必要なコンパイラーは?
SDK は Microsoft Visual C++ .NET 2003 v7.1 でコンパイルできます。 http://msdn.microsoft.com/howtobuy/visualc/default.aspx
SDK で Microsoft Visual Studio 6.0 を使用可能?
SDK プロジェクトをビルドする為に、Visual C++ .NET 2003 v7.1 へアップグレードする事をお薦めします。 しかしながら、 VC++ v7.x ソリューションとプロジェクトファイルを VC++ v6.x プロジェクトとワークスペースに変換するツールがあります。http://www.codeproject.com/tools/prjconverter.asp をご覧下さい。
正しくコンパイルするには、Service Pack 5 update と Processor Pack update をインストールしなくてはなりません。 http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp5/default.aspx http://msdn.microsoft.com/vstudio/downloads/tools/ppack/download.aspx
mod.bat を使用した時、パスにスペースが含まれているとゲームが実行出来ない。
このエラーの最も一般的な原因は、MOD のゲームディレクトリにスペースがあることです (例: c:\My Mod\) 。この問題は今後のアップデートで解決されますが、それまではこの形式を使用しないようにディレクトリを変更する事をお薦めします。
特定の Half-Life 2 エンティティが Hammer に無い。
"Create a Mod" ウィザードで Hammer をセットアップすると halflife2.fgd の代わりに base.fgd をロードする、という既知のバグがあります。この問題は今後の SDK アップデートで解決される予定です。 この問題に関わる作業の方法:
- Hammer で、Tools メニューから Options を選択します。
- Configurations コンボ・ボックスから MOD 設定を選択します。
- Game Data Files リストの隣にある Remove をクリックして不必要な base.fgd ファイルを削除します。
- Game Data Files リストの隣にある Add ボタンをクリックし、halflife2.fgd を選択します。
この記事には以下の言語バージョンがあります: 英語(English) スペイン語(Español) ポーランド語 (Polski) ロシア語 (Russian)
