smdをちょめちょめ

そのまえに、テスト用にmymodを作っときましょう。
超MOD暴力さんhttp://ponpoko.tri6.net/を見れば楽勝だね☆

自分はmymodって名前のmodにした。
で、mymodフォルダにmodelsrc作る。
そこに、出来上がったモデルをエクスポート。
Export 3 SMDs, cake_ref as the "Model" file type [fig 22] , cake_idle as the "Skeletal Animation" file type and cake_phys as the "Physics" file type.

自分は
  • konbu_ref
  • konbu_idle
  • konbu_phys
で出力した。

そしてmodelsrcに、konbu.qcを作る。これをnotepadで開く。
http://www.moddb.com/games/half-life-2/tutorials/physics-props-from-xsi-to-hl2を見ながら、qcファイルを書く。

こんな感じかな。
$modelname "props_stuff/konbu.mdl"
$scale 1.0

$cd ".\"
$body "Body" konbu_ref.smd
$staticprop

$sequence idle "konbu_idle" fps 5 ACT_IDLE 1
$surfaceprop "konbu"//何だこれ?工程飛ばしてる?
$keyvalues { "prop_data" {"base" "flesh.small" }//チェック用にチュートリアルそのまま
$collisionmodel "konbu_phys.smd" {
$concave
$mass 0.1
}

飛ばしてる工程はvtf(valve texture file)の作成でした。
photshopない場合はめんどくさそう。
http://developer.valvesoftware.com/wiki/Vtex

こちら様に解説がありました。http://retire.a.orn.jp/blog/log/eid34.html
この通りにやってみる。
その前に、
  • テクスチャファイルのサイズを256x256に変更
  • UVの配置しなおし
  • exportしなおし
で、やってみました。

おぉおおおおおー!
vtfファイルができているでござる!
drymonさん・・・あなたが神か。

で、vtfのできたフォルダにvmfを作る。
"VertexLitGeneric"
{
"$basetexture" "url to vtf/konbuSkin"
}

で、あとはmdlを作るのみ。
なんだけど、イミフ。

     // 1  . {. . .ヽ. . ヽ. . ',. .ヽヽ
    / .:/ ハ: :!: :.:ト、:.:. :\:...l:.. :}: : |_⊥ 、
    j . {: .:{ :l、:l、: :.ト-ヽ、_:..`ヽ、j__イ_つノ
    l 1:ハ.::{ゝl=くヽ:.ヽ トィjr}Tァ┬ァ:.:´|
    |ハ :ヽlァ{トィrj \i ー_'っ /:.イ-、:。:|
     ヽ。ハ^rぅ' 丶 `   ノ', く } }:.ol゚ o
    。  `ハ 。  {ァ´ヽ     ,ー o':.へl お客様の中にMOD製作者様は
      ゚ ´ノi\  ー'   ィ:;:.ィ/|/゚ 。 いらっしゃいませんか??
   。 o  。 ゚ハヘ;:>ー--<_rv〈、_
         / ̄ヽ \/ll  }l}`'^'ト、
          /   ::Y77l  j l    !_`7
        l, ---::、〉 jl  l   ハゝ-i
        ヽ    Vi    }  ,' ノ, ー_ヽ
          }  , -‐ァl  ノ  / レ´,.- j
        j イ   !l /   /  ハ -,.く!

続・バカは死ななきゃ直らない(らしい)

なんで、どうして?tutorial通りにやってるのに!

と思ったら、mdl変換を行うstudiomdlじゃなくて、vtexを起動してたぜ!
修正したけど、うまくいかない。

GUI studiomdl

stduomdlはコンソールがすぐに閉じるので、エラーの原因が分からない。
どこかにログあるかもだけど、なんか使いにくいよ!

ってことで、http://www.wunderboy.org/apps/guistudiomdl2.phpから、gui studiomdl 2.xをゲットして使う。
Nellさん・・・あなたが神か。

gui studiomdlはguiでとっつきやすいのと、ログが表示されるので、エラーの原因が分かるはず。
Created command line: E:\steam\steamapps\username\sourcesdk\bin\ep1\bin\studiomdl.exe -game e:\steam\steamapps\SourceMods\mymod -perf -notxbox E:\steam\steamapps\SourceMods\mymod\modelsrc\konbu.qc

qdir: "e:\steam\steamapps\sourcemods\mymod\modelsrc\"
gamedir: "e:\steam\steamapps\SourceMods\mymod\"
g_path: "konbu"
Working on "konbu.qc"
ERROR: e:\steam\steamapps\sourcemods\mymod\modelsrc\konbu.qc(4): - bad command &cd
ERROR: Aborted Processing on 'konbu/konbu.mdl'
qcファイルの4行目の&cdコマンドが駄目らしい。
qcのコマンド群は$から始まるので、それに書き換え。

compileするとこんな感じ。
qdir: "e:\steam\steamapps\sourcemods\mymod\modelsrc\"
gamedir: "e:\steam\steamapps\SourceMods\mymod\"
g_path: "konbu"
Working on "konbu.qc"
SMD MODEL .//konbu_ref.smd
SMD MODEL .//konbu_idle.smd
ERROR: Keyvalue block missing matching braces.
ERROR: Aborted Processing on 'konbu/konbu.mdl'

keyvalueの定義で } が抜けていたのでつける。
でも、同じエラーが出る。

これはkeyvalueで何やってるかわからないと駄目かもしれんね。
http://developer.valvesoftware.com/wiki/%24keyvalues
これを参考にqcファイルをいじりました。
$modelname "konbu/konbu.mdl"
$scale 1.0

$cd "./"
$body body "konbu_ref.smd"
$cdmaterials "models/konbu"
$staticprop

$sequence idle "konbu_idle" fps 5 ACT_IDLE 1
$surfaceprop "konbu"
$keyvalues
{
prop_data 
{
	base	flesh.Small
}
physgun_interactions
{
	onlaunch	spin_zaxis
}
}
$collisionmodel "konbu_phys.smd" {
$concave
$mass 0.1
}
赤い縦線のとこは tab が入ってます。
どういう構文解析をしてるのか分からないので、
なるべくvalve developer communityにある資料に目を通した方がいいかもね。

結果はこんな感じ。
qdir: "e:\steam\steamapps\sourcemods\mymod\modelsrc\"
gamedir: "e:\steam\steamapps\SourceMods\mymod\"
g_path: "konbu"
Working on "konbu.qc"
SMD MODEL .//konbu_ref.smd
SMD MODEL .//konbu_idle.smd
SMD MODEL .//konbu_phys.smd
Collision model completed.
(中略)
Completed "konbu.qc"

source engineにインポートできるファイルは
steamapps\SourceMods\mymod\models\konbu
にありました。
やったね!

見直しが大切

大学受験の時は、テストは見直しをしつこくしたものです。
steamapps\username\sourcesdk\bin\ep1\bin
の、HLMV.exeを起動しましょう。
で、konbu.mdlをひら・・・・・・けねぇよっ!
エラーが出てきやがる。
よく分からんけど、jpg経由でmdl開いてるみたい。
イミフー!!!(オモローのような感じで)

マップ内で確認してやる

ということで、確認用にマップ作るぞ。
マップ作成なんて久しぶりすぎて何も覚えてないぜ!
しっかし、hammerは未だにviewerが使いにくい・・・。

あれ・・・・?
konbu.mdlおいたのに・・・何も・・・写ってない・・・。

              :ill||||||||||l:
             :i|||||||||||||||
           /''';:|||||||||||||||||l:、
          /:i  :||||||貞|||||||i `'!
          / :|  :||||||||||||||||||l ノ!
          | ヽ |||||||||||||||||||| :|
          ! !;ヽ:||||||||||||||||||||!; |
      .__|  |/|||||||||||||||||||||; |____
       |  _|  .|/||||||||||||||||||||; |_____  .|
      | |:='ヾ‐イ:||:|l|l|l|l|l|l|ll|||||' |::::::::::::| |
      | |:::::::: | |;:|||||:l|:l|l|l|:l|:||||| イ=::::::| |  ザー ……
      | |:::::::::/ };|||||||||l|:l|l|l|:l|:|||.ノ:=:::::| |
      | |:::=!川!;|||||!l|||l|:l|l||||ー'‐'.;:::::::::::| |
      | |:::::::::!l.|ノ      / ./:::::=:::::::| |
      | |::::::::::::|:::      ノ }::::::::=::::::| |
      |  ̄ ̄~|:::      川リ ̄ ̄ ̄ ̄ |
      | ̄l ̄ ̄|::::      | ~ ̄ ̄ ̄| ̄|
      |_|:.::.:.:.:|:::::      |:.:.:.:.:.::..:.:.:|_|
      .:.:.:.:.:.:.:.:.:|;;;::::      .|.:.:.:.:.:.:.:.:.:..:.:.:.:
最終更新:2008年07月06日 21:49