(続)タイトルいつ決めるのさ

ちょっとしたメモ置き場。何かの参考にして頂ければ幸いです。

Civilization VI でのマップ視点の回転とその固定方法 

※ 拡張パック「Gathering Storm」「September 2019 Update」動作確認済み ※


Civilization VI の標準状態では、視点を回転させるには Altキーを押しながらマウス左ボタンをホールドすることで両方押している間は自由にマップの回転が可能になるのですが、マウスなり Altキーなりを離すとクルッとデフォルトのカメラ位置へ戻ってしまいます。

視点を回転させた状態で固定させるにはゲームファイルの修正が必要です。方法は Steamクライアント のニュースの "Civilization 6 Tweaks And Tips" という記事中リンクから辿れる


に書いてあるのですが、英語なので一応日本語で紹介しておきます。

ただし、ゲームファイルをいじることになりますので試す方は必ず以下の方法でバックアップをとり、元に戻せるようにしておいてください。また、今までとは少し構文が変わっているようです。実際にテストして想定する通りに動作する事の確認はしていますが、何らかの不具合が生じたり最悪再インストール等が必要になってしまう可能性もないとは言い切れませんのでその点はご留意下さい。

  1.  Steam のライブラリーから Civi Ⅵ を右クリック→プロパティ→ローカルファイル→ローカルフ
     ァイルを閲覧をクリックする。
  2.  エクスプローラーが立ち上がるので \Base → \Assets →\UI と辿り、「WorldInput.lua」を探
     してコピーを作成しておく。(右クリックしてフォルダ内ドロップ→ここにコピーを選択)
  3.  テキストエディタで「WorldInput.lua」を開く。
  4.  編集→検索から「UnitMoveRestrictions」を探し、
local m_kTutorialUnitMoveRestrictions :table = nil; (229行目辺り)

の後の行に以下の2行を加える。

local m_spinStartX                  :number = 0;    
local m_spinStartY                  :number = 0;

 5.  再び検索から「UpdateDragMap」を探し、556行目辺りからの

if m_isALTDown then
    m_dragSpinAmountX = m_dragSpinAmountX + dx;
    UI.SpinMap( m_dragSpinAmountX, 0 );
else

を以下に置き換える。

if m_isALTDown then
    m_dragSpinAmountX = m_dragSpinAmountX + dx;
  UI.SpinMap( m_spinStartX + dx, m_spinStartY + dy );
    m_spinStartX = m_spinStartX + dx;
    m_spinStartY = m_spinStartY + dy;
else

 6.  また検索から EndDragMap を探して数行上の(577行目辺り)をコメントアウトする。
    例)「UI.SpinMap( 0.0, 0.0 );」の冒頭に「--」を付けて「-- UI.SpinMap( 0.0, 0.0 );」とする。
 7.  上書き保存して終了。ゲーム内でテストしてみてダメならコピーしておいた元のファイルに戻す。

以上でAltキーとマウス左ボタンを離しても離したときの状態で視点位置が固定されます。