KURUMA
Downloadダウンロード
KurumaMod / Car Pack Guideカーパック作成ガイド / Wheelホイール

Make a wheelホイールを作る

The wheel model, and turning wheels and tyres into parts players can pick.ホイールのモデルと、換装画面で選べるホイール・タイヤの部品にする方法。

1ホイールのモデルを作る

1Model the wheel

ホイールを Blender で作り、OBJ に書き出すまでです。ホイールは車体とは別のファイルで作ります。

This chapter takes a wheel from Blender to an exported OBJ. Wheels are built in a separate file from the body.

最小のホイールを作る

Make a minimal wheel

  1. Blender新しいファイルで、ゲージを置く。Scripting タブで modeling_tools/blender_wheel_gauge.py を実行する。半径 0.45m の輪・車軸の線・地面・表を示す矢印が置かれる
  2. Blenderゲージの輪に収まるように、ホイールを作る。原点は車軸の中心に置く。円柱から作るなら、先に R Y 9 0 で回して軸を左右(X)へ向ける
  3. Blenderホイールの表(デザイン面)を +X へ向ける。ゲージの矢印の側。作るのは左側用の 1 つだけ
  4. Blenderタイヤも作るなら、ホイールとは別のオブジェクトにして、名前を Tire にする。リムだけで作るなら、この手順は要らない
  5. Blenderゲージを除いてホイールだけを選び、OBJ に書き出す。「Selected Only」を入れ、「Triangulated Mesh」は入れない(設定の全体は車の 5 章と同じ)
  6. ファイル書き出したファイルとテクスチャを置く。assets/mypack/models/entity/my_wheel.obj(.mtl も一緒に)と assets/mypack/textures/entity/my_wheel.png

これで、ホイールのモデルができました。換装画面で選べるようにするのは 2 章、自分の車に最初から履かせるのは下の「自分の車に最初から履かせたい」です。

  1. BlenderIn a new file, place the gauge. Run modeling_tools/blender_wheel_gauge.py from the Scripting tab. It places a 0.45 m radius ring, the axle line, the ground and an arrow marking the outer face
  2. BlenderModel the wheel to fit inside the gauge ring, with the origin at the centre of the axle. If you start from a cylinder, first rotate it with R Y 9 0 so its axis runs left–right (X)
  3. BlenderPoint the face of the wheel (the design side) towards +X, the side the gauge arrow points to. Build the left-hand wheel only
  4. BlenderIf you model a tyre too, make it a separate object from the wheel and name it Tire. Skip this if you only build the rim
  5. BlenderSelect only the wheel (not the gauge) and export it as OBJ. Tick "Selected Only" and leave "Triangulated Mesh" off (the full settings are the same as chapter 5 of the Car guide)
  6. FilePut the exported file and the texture in your pack: assets/mypack/models/entity/my_wheel.obj (with its .mtl) and assets/mypack/textures/entity/my_wheel.png

The wheel model is done. To make it selectable in the parts screen, go to chapter 2; to fit it to your own car from the start, see "Fit it to my own car" below.

横から見た図 side view 断面(上から見た図) cross-section, from above 地面 ground 半径 radius 回転軸 = X(左右) spin axis = X +X = 表 +X = outer face −X = 内側 −X = inboard 原点は車軸の中心(底ではない) origin at the axle centre, not the bottom 左側用を 1 つだけ作る build the left-hand wheel only
図 8. ホイールに求められるのはこの 3 つ(原点・回転軸・表の向き)だけです
Fig. 8. Only three things are required of a wheel: origin, spin axis, and which way the outer face points.

必要なときだけ

Only when you need it

自分の車に最初から履かせたい

車の見た目の定義 assets/mypack/vehicles/<車>.json の wheel にモデルとテクスチャを書き、作った半径を designWheelRadius(wheel の外、いちばん外側)に書きます:

{
  "body":  { "model": "mypack:models/entity/my_car.obj",
             "texture": "mypack:textures/entity/my_car.png" },
  "wheel": { "model": "mypack:models/entity/my_wheel.obj",
             "texture": "mypack:textures/entity/my_wheel.png" },
  "designWheelRadius": 0.45
}

このファイルのほかの項目は車の 6 章にあります。

Fit it to my own car

In the car's looks file assets/mypack/vehicles/<car>.json, set the model and texture under wheel, and write the radius you built at as designWheelRadius (outside wheel, at the top level):

{
  "body":  { "model": "mypack:models/entity/my_car.obj",
             "texture": "mypack:textures/entity/my_car.png" },
  "wheel": { "model": "mypack:models/entity/my_wheel.obj",
             "texture": "mypack:textures/entity/my_wheel.png" },
  "designWheelRadius": 0.45
}

The rest of this file is in chapter 6 of the Car guide.

ゲージと違う大きさで作りたい

大きさは自由です。作った半径(m)を、車に履かせるなら designWheelRadius、部品にするなら designRadius(2 章)に書きます。ゲームは、この値と車のタイヤ半径の比で拡大して描きます。

ゲーム内の調整画面でタイヤ半径を変えると、見た目もそのまま追従します。タイヤは接地したまま、車体だけが上がります(リフトアップ)。

Build it at a different size from the gauge

Any size is fine. Write the radius you built at (in m) as designWheelRadius when fitting it to a car, or as designRadius when making it a part (chapter 2). The game scales the mesh by the ratio between this value and the car's tyre radius.

Change the tyre radius in the in-game tuning screen and the model follows: the tyres stay on the ground and the body rises (a lift-up).

タイヤを作らず、KurumaMod のタイヤを使いたい

リムだけで作れば、KurumaMod 標準のタイヤが自動で嵌まります。ホイールごと借りるなら、モデルを kurumamod:models/entity/wheel.obj、テクスチャを kurumamod:textures/entity/wheel.png にします(車の 6 章)。

Skip the tyre and use KurumaMod's

Build only the rim and KurumaMod's own tyre is fitted automatically. To borrow the whole wheel, use kurumamod:models/entity/wheel.obj as the model and kurumamod:textures/entity/wheel.png as the texture (chapter 6 of the Car guide).

仕組みを知りたい(なぜタイヤに Tire と名前を付けるのか)

換装画面でタイヤ(3 章)を選ぶと、ゲームは tire で始まる名前(大文字小文字は問わない)のオブジェクトを隠し、選んだタイヤをリムに嵌めて描きます。

  • タイヤを選んでいない(ノーマル)ときは、あなたのタイヤがそのまま出る
  • 名前が無いと、タイヤもホイールの一部として描かれたままになり、選んだタイヤと重なって見える
  • シェーダーパックの影は、タイヤだけが落とす。地面にスポークの模様が出ない
How it works (why name the tyre Tire)

When a tyre (chapter 3) is picked in the parts screen, the game hides any object whose name starts with tire (in any case) and draws the picked tyre on the rim instead.

  • With no tyre picked (Normal), your own tyre is drawn as it is
  • Without the name, your tyre stays part of the wheel and shows through the picked one
  • With shader packs, only the tyre casts a shadow, so no spoke pattern appears on the ground
うまくいかないとき
  • タイヤが大きすぎる・小さすぎる … designWheelRadius(部品なら designRadius)が、作った半径になっていない
  • 回るとぶれる・地面に埋まる・浮く … 原点が車軸の中心にない。タイヤの底に置いていないか見る
  • タイヤが横倒しで転がる … 回転軸が左右(X)を向いていない。R Y 9 0 で回す
  • 右側のタイヤの表が内側を向く … 表が +X を向いていない。左側用として作り直す(右側は MOD が鏡像にして描く)
  • 1 か所にタイヤが 2 本描かれる … 左右 2 つ作っている。左側用の 1 つだけにする
  • 選んだタイヤと自分のタイヤが重なる … タイヤのオブジェクト名が tire で始まっていない
  • 全体が白い … .mtl を置いていないか、マテリアルが無い。形が正しければ問題ない(色の付け方は車の 4 章)
When it doesn't work
  • Wheels too big or too small — designWheelRadius (or designRadius for a part) is not the radius you built at
  • Wobbles as it spins, sinks into the ground, or floats — the origin is not at the axle centre. Check it is not at the bottom of the tyre
  • Rolls on its side — the spin axis does not run left–right (X). Rotate with R Y 9 0
  • The right-hand wheels face inward — the face is not towards +X. Rebuild it as the left-hand wheel (the mod mirrors it for the right)
  • Two tyres drawn in one place — you modelled both sides. Keep only the left-hand one
  • Your tyre shows through the picked one — the tyre object's name does not start with tire
  • Everything is white — no .mtl, or no material. Harmless if the shape is right (colouring is in chapter 4 of the Car guide)

2ホイールを部品にする

2Make a wheel a part

作ったホイールを、ゲームの換装画面で選べるようにします。見た目だけの部品で、走りは変わりません。

Make your wheel selectable in the in-game parts screen. It changes the looks only; driving stays the same.

最小のホイール部品を作る

Make a minimal wheel part

  1. Blenderホイールのモデルを作って置く。作り方は 1 章。ここでは assets/mypack/models/entity/my_wheel.obj と assets/mypack/textures/entity/my_wheel.png に置いたとする
  2. ファイル部品のファイルを置く。data/mypack/car_parts/my_wheel.json(ファイル名が部品名):
    { "slot": "wheel" }
  3. ファイル見た目のファイルを置く。assets/mypack/car_parts/my_wheel.json(部品と同じファイル名)。designRadius は作った半径(ゲージどおりなら 0.45):
    {
      "wheel": {
        "model": "mypack:models/entity/my_wheel.obj",
        "texture": "mypack:textures/entity/my_wheel.png",
        "designRadius": 0.45
      }
    }
  4. lang表示名を lang に書く。"part.mypack.my_wheel": "マイホイール"

これで、ゲームの G →「パーツ」→「ホイール」のタブに並びます。

  1. BlenderBuild the wheel model and put it in your pack. See chapter 1. Here it is at assets/mypack/models/entity/my_wheel.obj and assets/mypack/textures/entity/my_wheel.png
  2. FileAdd the part file data/mypack/car_parts/my_wheel.json (the file name is the part name):
    { "slot": "wheel" }
  3. FileAdd the looks file assets/mypack/car_parts/my_wheel.json (same file name as the part). designRadius is the radius you built at (0.45 if you followed the gauge):
    {
      "wheel": {
        "model": "mypack:models/entity/my_wheel.obj",
        "texture": "mypack:textures/entity/my_wheel.png",
        "designRadius": 0.45
      }
    }
  4. langAdd the display name to lang. "part.mypack.my_wheel": "My Wheels"

It now appears under G → "Parts" → the "Wheels" tab.

見本パックの sample_wheel が、この形そのものです。

The example pack's sample_wheel is exactly this setup.

必要なときだけ

Only when you need it

オフセット・キャンバー・太さの最初の値を決めたい

見た目のファイル assets/mypack/car_parts/my_wheel.json の wheel に書きます。換装画面のスライダーの最初の位置になり、プレイヤーが「R」を押すとここへ戻ります。

{
  "wheel": {
    "model": "mypack:models/entity/my_wheel.obj",
    "texture": "mypack:textures/entity/my_wheel.png",
    "designRadius": 0.45,
    "offset": [0.02, 0.0, 0.0],
    "scale": [1.3, 1.0, 1.0],
    "camber": -4.0
  }
}
  • offset … X だけ使う。外へ出す量 [m](−0.05〜0.10)
  • scale … X だけ使う。太さの倍率(0.5〜2.5)。Y・Z は 1.0 のままにする(変えると接地が崩れる)
  • camber … キャンバー角 [度]。負で上が内側(−30〜10)
  • 範囲の外に書いた値は、端に丸めて読む
  • 書かなかった項目は、その車のホイールの値になる
Set the starting offset, camber and width

Write them under wheel in the looks file assets/mypack/car_parts/my_wheel.json. They become where the parts-screen sliders start, and "R" returns to them.

{
  "wheel": {
    "model": "mypack:models/entity/my_wheel.obj",
    "texture": "mypack:textures/entity/my_wheel.png",
    "designRadius": 0.45,
    "offset": [0.02, 0.0, 0.0],
    "scale": [1.3, 1.0, 1.0],
    "camber": -4.0
  }
}
  • offset — only X is used: how far out to push the wheel [m] (−0.05 to 0.10)
  • scale — only X is used: width multiplier (0.5 to 2.5). Leave Y and Z at 1.0 (changing them breaks ground contact)
  • camber — camber in degrees. Negative leans the top inward (−30 to 10)
  • Values outside the range are clamped to the nearest end
  • Anything you leave out takes the car's own wheel value
メッシュを作らず、角度や太さだけ変えた部品にしたい

model と texture を書かなければ、その車のホイールのまま、書いた値だけが変わります。見本パックの deep_dish がこの形です。assets/mypack/car_parts/deep_dish.json:

{
  "wheel": {
    "scale": [1.6, 1.0, 1.0],
    "camber": -12.0
  }
}

ただし、スライダーで作れる状態に名前を付けるだけになるので、ふつうはメッシュを持つホイールを作ります。

A part with no mesh, only a different angle or width

Leave out model and texture; the car's own wheel is kept and only the values you write change. The example pack's deep_dish works this way. assets/mypack/car_parts/deep_dish.json:

{
  "wheel": {
    "scale": [1.6, 1.0, 1.0],
    "camber": -12.0
  }
}

This only names something players can already make with the sliders, so usually you would build a wheel with its own mesh.

決まった車種にだけ付けたい

data/mypack/car_parts/my_wheel.json の cars に車種の id を並べます。その車種の換装画面にだけ並びます。別のパックの車種を書いてもかまいません(kurumamod:car は KurumaMod の既定の車)。

{
  "slot": "wheel",
  "cars": ["mypack:kei", "mypack:kei_van"]
}
Only fit certain cars

List car ids in cars in data/mypack/car_parts/my_wheel.json. The part then appears only in those cars' parts screen. Cars from other packs are fine (kurumamod:car is KurumaMod's default car).

{
  "slot": "wheel",
  "cars": ["mypack:kei", "mypack:kei_van"]
}
換装画面に並ぶ順を変えたい

data/mypack/car_parts/my_wheel.json に order を書きます。小さいほど左に並びます(書かなければ 100)。

{
  "slot": "wheel",
  "order": 10
}
Change the order in the parts screen

Add order to data/mypack/car_parts/my_wheel.json. Smaller numbers sit further left (100 if left out).

{
  "slot": "wheel",
  "order": 10
}
前後で違うホイールにしたい

いまはできません。4 輪とも同じ部品を履きます。

Different wheels front and rear

Not possible yet. All four wheels wear the same part.

うまくいかないとき
  • 換装画面に並ばない … data/ 側のファイルが無いか、slot が書かれていない(ログに出る)。cars で絞っているなら、乗っている車種が入っているか見る
  • 並ぶが、見た目が変わらない … assets/ 側のファイル名が data/ 側と違う。または "wheel": { ... } の中のキーの綴りが違う
  • 名前が my_wheel のまま出る … lang のキーが part.<パック>.<部品名> になっていない
  • 大きすぎる・小さすぎる … designRadius が作った半径になっていない
  • 付けても走りが変わらない … ホイールは見た目だけの部品。グリップを変えたいならタイヤ(3 章)
When it doesn't work
  • Not in the parts screen — the data/ file is missing, or has no slot (the log says so). If you use cars, check the car you are in is listed
  • Listed, but the looks do not change — the assets/ file name differs from the data/ one, or a key inside "wheel": { ... } is misspelt
  • The name shows as my_wheel — the lang key is not part.<pack>.<part>
  • Too big or too small — designRadius is not the radius you built at
  • Driving does not change — wheels are looks only. To change grip, make a tyre (chapter 3)

3タイヤを部品にする

3Make a tyre a part

ダート用・オフロード用のような、走りが変わるタイヤを作ります。タイヤはホイールとは別の部品で、路面ごとのグリップが変わります。

Make a tyre that changes how the car drives, such as a gravel or mud-terrain tyre. Tyres are a separate part from wheels, and they change grip on each surface.

最小のタイヤ部品を作る

Make a minimal tyre part

  1. ファイル部品のファイルを置く。data/mypack/car_parts/my_tire.json(ファイル名が部品名):
    {
      "slot": "tire",
      "tire": {
        "grip": { "paved": 0.90, "gravel": 1.20 }
      }
    }
  2. lang表示名を lang に書く。"part.mypack.my_tire": "マイタイヤ"

これで、ゲームの G →「パーツ」→「タイヤ」のタブに並びます。数字はノーマルタイヤに対する倍率で、この例は舗装で 0.9 倍・砂利で 1.2 倍のグリップです。見た目は KurumaMod 標準のタイヤです。

  1. FileAdd the part file data/mypack/car_parts/my_tire.json (the file name is the part name):
    {
      "slot": "tire",
      "tire": {
        "grip": { "paved": 0.90, "gravel": 1.20 }
      }
    }
  2. langAdd the display name to lang. "part.mypack.my_tire": "My Tyres"

It now appears under G → "Parts" → the "Tyres" tab. The numbers are ratios to the Normal tyre; this one has 0.9× grip on tarmac and 1.2× on gravel. It looks like KurumaMod's standard tyre.

必要なときだけ

Only when you need it

性能の数字を決めたい

書ける項目はこれで全部です。どれもノーマルタイヤに対する倍率で、書かなかったものは 1 です。

{
  "slot": "tire",
  "tire": {
    "stiffness": 0.85,
    "grip":    { "paved": 0.88, "dirt": 1.20, "gravel": 1.25, "sand": 1.10, "snow": 1.10 },
    "rolling": { "paved": 1.15 }
  }
}
  • grip … その路面でのグリップ
  • rolling … その路面での転がり抵抗。大きいほど進みにくい
  • stiffness … 舵を切ってから力が立ち上がるまでの鋭さ。ブロックの大きいタイヤほど小さくする
  • 路面の名前は paved(舗装)・dirt(土・草)・gravel(砂利)・sand(砂)・snow(雪)・ice(氷)
  • 倍率は 0.3〜3.0 に丸めて読む

同梱のタイヤの値と、既定の車での効き目(比べる目安):

stiffnessgriprolling効き目
ノーマル1すべて 1すべて 1舗装の横 G 0.93・砂利 0.62・砂 0.48
ダート0.85舗装 0.88・土 1.20・砂利 1.25・砂 1.10・雪 1.10舗装 1.15舗装 0.84・砂利 0.77・砂 0.54。砂利の制動 31.9→25.7m
オフロード0.75舗装 0.80・土 1.15・砂利 1.10・砂 1.35・雪 1.25・氷 1.05舗装 1.40・土 0.85・砂 0.70・雪 0.80舗装 0.77・砂利 0.68・砂 0.68。砂の 0-100 7.15→6.18 秒

どの路面でも強いタイヤは作らないでください。得意な路面があれば苦手な路面がある、のがタイヤを選ぶ意味です。

Choose the numbers

These are all the keys. Every number is a ratio to the Normal tyre, and anything left out is 1.

{
  "slot": "tire",
  "tire": {
    "stiffness": 0.85,
    "grip":    { "paved": 0.88, "dirt": 1.20, "gravel": 1.25, "sand": 1.10, "snow": 1.10 },
    "rolling": { "paved": 1.15 }
  }
}
  • grip — grip on that surface
  • rolling — rolling resistance on that surface. Bigger means harder to keep moving
  • stiffness — how sharply force builds once you steer. Lower it for chunky tread
  • Surface names: paved, dirt (dirt and grass), gravel, sand, snow, ice
  • Ratios are clamped to 0.3–3.0

The shipped tyres, and what they do on the default car, for reference:

stiffnessgriprollingEffect
Normal1all 1all 1lateral g 0.93 paved, 0.62 gravel, 0.48 sand
Gravel0.85paved 0.88, dirt 1.20, gravel 1.25, sand 1.10, snow 1.10paved 1.150.84 paved, 0.77 gravel, 0.54 sand. Gravel braking 31.9→25.7 m
Mud terrain0.75paved 0.80, dirt 1.15, gravel 1.10, sand 1.35, snow 1.25, ice 1.05paved 1.40, dirt 0.85, sand 0.70, snow 0.800.77 paved, 0.68 gravel, 0.68 sand. Sand 0–100 7.15→6.18 s

Please don't make a tyre that wins everywhere. A tyre that is good somewhere should be worse somewhere else; that is what makes the choice matter.

見た目(トレッドの形)も変えたい
  1. Blender でタイヤだけのメッシュを作る。原点・回転軸・表の向きはホイールと同じ(1 章)。大きさは自由
  2. OBJ とテクスチャを置く。assets/mypack/models/entity/my_tire.obj と assets/mypack/textures/entity/my_tire.png
  3. 見た目のファイルを置く。assets/mypack/car_parts/my_tire.json(部品と同じファイル名)。必ず "tire" の中に書く:
    {
      "tire": {
        "model": "mypack:models/entity/my_tire.obj",
        "texture": "mypack:textures/entity/my_tire.png"
      }
    }

内径と外径はメッシュから測るので、書かなくてかまいません。選んだタイヤは、内径がホイールのリムへ、外径が車のタイヤ半径へ来るように伸び縮みして描かれます。リムの大きいホイールほどサイドウォールが薄くなります。換装画面の「太さ」は、ホイールとタイヤに一緒に効きます。

Change the looks (tread) too
  1. Model the tyre alone in Blender. Origin, spin axis and outer face are the same as a wheel (chapter 1). Any size will do
  2. Put the OBJ and texture in your pack: assets/mypack/models/entity/my_tire.obj and assets/mypack/textures/entity/my_tire.png
  3. Add the looks file assets/mypack/car_parts/my_tire.json (same file name as the part). Always write it inside "tire":
    {
      "tire": {
        "model": "mypack:models/entity/my_tire.obj",
        "texture": "mypack:textures/entity/my_tire.png"
      }
    }

The inner and outer radii are measured from the mesh, so you need not write them. The picked tyre is stretched so its inner edge sits on the wheel's rim and its outer edge at the car's tyre radius; bigger rims get thinner sidewalls. The parts screen's Width slider acts on the wheel and tyre together.

自分のホイールで、タイヤの嵌まる位置を直したい

タイヤの内径(ビード)を置く半径は、次の順に決まります。

  1. ホイールの見た目のファイルに rimRadius(メッシュの寸法・m)が書いてあれば、その値
  2. 無ければ、ホイールに付けたタイヤ(Tire)の内径
  3. それも無ければ、リムのいちばん外側の半径の 95%

位置が合わないときは、ホイールの見た目のファイル assets/mypack/car_parts/my_wheel.json の wheel に rimRadius を書きます:

{
  "wheel": {
    "model": "mypack:models/entity/my_wheel.obj",
    "texture": "mypack:textures/entity/my_wheel.png",
    "designRadius": 0.45,
    "rimRadius": 0.33
  }
}
Fix where tyres sit on my own wheel

The radius where the tyre's inner edge (bead) sits is chosen in this order:

  1. rimRadius in the wheel's looks file, if written (mesh units, m)
  2. otherwise, the inner edge of the tyre you modelled on the wheel (Tire)
  3. otherwise, 95% of the rim's outermost radius

If tyres sit wrong, add rimRadius under wheel in the wheel's looks file assets/mypack/car_parts/my_wheel.json:

{
  "wheel": {
    "model": "mypack:models/entity/my_wheel.obj",
    "texture": "mypack:textures/entity/my_wheel.png",
    "designRadius": 0.45,
    "rimRadius": 0.33
  }
}
決まった車種にだけ付けたい・並ぶ順を変えたい

ホイールと同じく、data/mypack/car_parts/my_tire.json に cars と order を書けます(2 章)。

{
  "slot": "tire",
  "order": 30,
  "cars": ["mypack:kei"],
  "tire": { "grip": { "paved": 0.90, "gravel": 1.20 } }
}
Only fit certain cars, or change the order

As with wheels, cars and order go in data/mypack/car_parts/my_tire.json (chapter 2).

{
  "slot": "tire",
  "order": 30,
  "cars": ["mypack:kei"],
  "tire": { "grip": { "paved": 0.90, "gravel": 1.20 } }
}
うまくいかないとき
  • タブに並ぶが、走りがノーマルと同じ … "tire": { ... } が書かれていない(ログに出る)
  • 一部の路面だけ効かない … 路面の名前の綴りが違う。知らない名前はログに出て無視される
  • 見た目が KurumaMod 標準のタイヤのまま … 見た目のファイルで "tire": { ... } の中に書いていない。または assets/ 側のファイル名が data/ 側と違う
  • 選んだタイヤと、ホイールに付いていたタイヤが重なる … ホイールのタイヤのオブジェクト名が tire で始まっていない(1 章)
  • サイドウォールが厚すぎる・薄すぎる … 上の「タイヤの嵌まる位置を直したい」。それでも合わないときは、タイヤの見た目の "tire" に innerRadius / outerRadius(メッシュのタイヤの内径・外径 [m])を書く
When it doesn't work
  • Listed, but drives like Normal — "tire": { ... } is missing (the log says so)
  • Only some surfaces have no effect — a surface name is misspelt. Unknown names are logged and ignored
  • Still looks like KurumaMod's standard tyre — the looks file is not written inside "tire": { ... }, or the assets/ file name differs from the data/ one
  • The picked tyre and the wheel's own tyre overlap — the wheel's tyre object name does not start with tire (chapter 1)
  • Sidewalls too thick or too thin — see "Fix where tyres sit on my own wheel" above. If that is not enough, write innerRadius / outerRadius (the mesh tyre's inner and outer radius [m]) inside the tyre's "tire"

付録 A. 部品の全項目

Appendix A. Every part key

素性 — data/<pack>/car_parts/<part>.json

Definition — data/<pack>/car_parts/<part>.json

キー型既定値意味
slot文字列必須付ける場所。"wheel"・"tire"・"turbo"・"blowoff"・"front_bumper"・"side_skirt"・"fender"・"rear_wing"・"rear_diffuser"・"exhaust"
order整数100換装画面に並ぶ順
cars車種 id の配列(すべての車種)付けられる車種。読める値が 1 つも無ければ、その部品は捨てられる
turbo.boost数字0.35ターボだけ。ブーストいっぱいでトルクを何割増やすか(0〜1.5)
turbo.spool_from数字0.25ターボだけ。過給が立ち上がり始める回転の割合(アイドル 0〜レブ 1)
turbo.spool_full数字0.60ターボだけ。過給がいっぱいになる回転の割合
turbo.spool_rate数字3.0ターボだけ。ブーストが上がる速さ [1/秒](0.1〜20)
tire.stiffness数字1タイヤだけ。横・縦の剛性の倍率(よれやすさ。0.3〜3.0)
tire.grip.<路面>数字1タイヤだけ。その路面でのグリップの倍率。路面は paved・dirt・gravel・sand・snow・ice
tire.rolling.<路面>数字1タイヤだけ。その路面での転がり抵抗の倍率
aero.front / aero.rear数字 or [最小, 最大]0外装パーツだけ。その軸のダウンフォースの面積 [m²](0〜3)。範囲なら角度で調整できる(パーツの 2 章)
aero.angle数字0.5外装パーツだけ。調整していないときの角度(0〜1)
KeyTypeDefaultMeaning
slotstringrequiredWhere it fits: "wheel", "tire", "turbo", "blowoff", "front_bumper", "side_skirt", "fender", "rear_wing", "rear_diffuser" or "exhaust"
orderinteger100Position in the parts screen
carsarray of car ids(every car)Which cars can fit it. If none of the values can be read, the part is dropped
turbo.boostnumber0.35Turbos only. Extra torque at full boost (0 to 1.5)
turbo.spool_fromnumber0.25Turbos only. Where boost starts to build, as a fraction from idle (0) to the rev limit (1)
turbo.spool_fullnumber0.60Turbos only. Where boost is full
turbo.spool_ratenumber3.0Turbos only. How fast boost builds [1/s] (0.1 to 20)
tire.stiffnessnumber1Tyres only. Scale on lateral and longitudinal stiffness (tread squirm; 0.3 to 3.0)
tire.grip.<surface>number1Tyres only. Grip on that surface. Surfaces: paved, dirt, gravel, sand, snow, ice
tire.rolling.<surface>number1Tyres only. Rolling resistance on that surface
aero.front / aero.rearnumber or [min, max]0Body parts only. Downforce area on that axle [m²] (0 to 3). A range is adjustable by angle (chapter 2 of the Parts guide)
aero.anglenumber0.5Body parts only. Default angle (0 to 1)

見た目 — assets/<pack>/car_parts/<part>.json("wheel": { ... } の中。入れ子を省いて、いちばん外側に書いてもよい。ホイールだけ。ターボとブローオフには要らない)

Looks — assets/<pack>/car_parts/<part>.json (inside "wheel": { ... }, or at the top level without the nesting). Wheels only; turbos and blow-off valves need none

キー型既定値意味
modelidその車種の wheel.modelホイールの OBJ
textureidその車種の wheel.textureホイールのテクスチャ
designRadius数字その車種の designWheelRadiusメッシュが何 m の半径で作られているか
offset[x,y,z]その車種の wheel.offset平行移動 [m]。X は外向き。X はオフセットのスライダーの既定値(−0.05 〜 0.10。外れたら端へ丸める)
scale数字 1 つ or [x,y,z]その車種の wheel.scaleX は太さ(スライダーの既定値。0.5 〜 2.5 に丸める)。Y・Z は触らない
camber数字その車種の wheel.camberキャンバー角 [度]。スライダーの既定値(−30 〜 10 に丸める)
rimRadius数字(測る)タイヤの内径(ビード)を置く半径 [m](メッシュの寸法)。3 章

タイヤの見た目 — assets/<pack>/car_parts/<part>.json("tire": { ... } の中。いちばん外側には書けない)

キー型既定値意味
modelidKurumaMod 標準のタイヤタイヤの OBJ(タイヤだけ。原点は車軸の中心)
textureidkurumamod:textures/entity/wheel.pngタイヤのテクスチャ
innerRadius数字(測る)メッシュのタイヤの内径 [m]。測った値がおかしいときだけ書く
outerRadius数字(測る)メッシュのタイヤの外径 [m]。同上
KeyTypeDefaultMeaning
modelidthe car's wheel.modelWheel OBJ
textureidthe car's wheel.textureWheel texture
designRadiusnumberthe car's designWheelRadiusThe radius the mesh was built at, in m
offset[x,y,z]the car's wheel.offsetTranslation [m]. X points outward; it is the offset slider's default (−0.05 to 0.10, clamped)
scaleone number or [x,y,z]the car's wheel.scaleX is width (the slider's default, clamped to 0.5–2.5). Leave Y/Z alone
cambernumberthe car's wheel.camberCamber [degrees]. The slider's default (clamped to −30 to 10)
rimRadiusnumber(measured)Radius where the tyre's bead sits [m], in mesh units. Chapter 3

Tyre looks — assets/<pack>/car_parts/<part>.json (inside "tire": { ... }; not at the top level)

KeyTypeDefaultMeaning
modelidKurumaMod's own tyreTyre OBJ (tyre only, origin at the axle centre)
textureidkurumamod:textures/entity/wheel.pngTyre texture
innerRadiusnumber(measured)The mesh's inner tyre radius [m]. Only write it if the measured one is wrong
outerRadiusnumber(measured)The mesh's outer tyre radius [m]. Likewise

マフラーの音 — assets/<pack>/car_parts/<part>.json("exhaust": { ... } の中。いちばん外側には書けない)

キー型既定値意味
pitch数字 or [最小, 最大]1音程の倍率(0.5〜1.5)。範囲なら「音の低さ」で動かせる
volume数字1音量の倍率(0〜2)
soundid(その車の音)排気音のサウンドイベント
sound_highid(無し)高回転側(1 オクターブ上)のサウンドイベント
tone数字0調整していないときの低さ(0〜1)

Exhaust sound — assets/<pack>/car_parts/<part>.json (inside "exhaust": { ... }; not at the top level)

KeyTypeDefaultMeaning
pitchnumber or [min, max]1Pitch multiplier (0.5 to 1.5). A range is adjustable with "Deepness"
volumenumber1Volume multiplier (0 to 2)
soundid(the car's)Exhaust sound event
sound_highid(none)High-rev (one octave up) sound event
tonenumber0Default deepness (0 to 1)

車の側 — 初期装備(data/<pack>/cars/<car>.json のいちばん外側)と対応(assets/<pack>/vehicles/<car>.json)

キー型意味
default_parts.<場所>部品 id or {"part": id, "removable": 真偽}何も付けていないときの部品。removable の既定は true
parts.<部品 id>.showオブジェクト名の配列その部品を付けたときに出すオブジェクト(part_ で始まる名前だけ)

On the car — default parts (top level of data/<pack>/cars/<car>.json) and mapping (assets/<pack>/vehicles/<car>.json)

KeyTypeMeaning
default_parts.<slot>part id or {"part": id, "removable": bool}The part fitted when nothing is chosen. removable defaults to true
parts.<part id>.showarray of object namesObjects shown while that part is fitted (names starting with part_ only)

KurumaMod — 諸元の全項目は車の付録 A。ゲージスクリプトは modeling_tools/blender_gauge.py と modeling_tools/blender_wheel_gauge.py。

KurumaMod — every spec key is in Appendix A of the Car guide. The gauge scripts are modeling_tools/blender_gauge.py and modeling_tools/blender_wheel_gauge.py.