「Unity/Cinemachine/2D」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→2Dでの対応) |
(→2Dでの対応) |
||
| (同じ利用者による、間の2版が非表示) | |||
| 行7: | 行7: | ||
*ChinemachineVirtualCameraのBodyがFramingTransposerになってることを確認。 | *ChinemachineVirtualCameraのBodyがFramingTransposerになってることを確認。 | ||
*ChinemachineVirtualCameraのAimをDo nothingになってることを確認。 | *ChinemachineVirtualCameraのAimをDo nothingになってることを確認。 | ||
| + | |||
| + | プレイヤー入力操作のための適当なサンプル | ||
| + | <pre> | ||
| + | void Update() | ||
| + | { | ||
| + | if (Input.GetKey(KeyCode.LeftArrow)) | ||
| + | { | ||
| + | playerImage.transform.localPosition = new Vector3( | ||
| + | playerImage.transform.localPosition.x - 1, | ||
| + | playerImage.transform.localPosition.y, | ||
| + | playerImage.transform.localPosition.z); | ||
| + | |||
| + | } | ||
| + | else if (Input.GetKey(KeyCode.RightArrow)) | ||
| + | { | ||
| + | playerImage.transform.localPosition = new Vector3( | ||
| + | playerImage.transform.localPosition.x + 1, | ||
| + | playerImage.transform.localPosition.y, | ||
| + | playerImage.transform.localPosition.z); | ||
| + | } | ||
| + | else if (Input.GetKey(KeyCode.UpArrow)) | ||
| + | { | ||
| + | playerImage.transform.localPosition = new Vector3( | ||
| + | playerImage.transform.localPosition.x, | ||
| + | playerImage.transform.localPosition.y + 1, | ||
| + | playerImage.transform.localPosition.z); | ||
| + | } | ||
| + | else if (Input.GetKey(KeyCode.DownArrow)) | ||
| + | { | ||
| + | playerImage.transform.localPosition = new Vector3( | ||
| + | playerImage.transform.localPosition.x, | ||
| + | playerImage.transform.localPosition.y - 1, | ||
| + | playerImage.transform.localPosition.z); | ||
| + | } | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | 参考:https://nekojara.city/unity-cinemachine-2d | ||
2022年1月4日 (火) 12:40時点における最新版
2Dでの対応
基本的にBodyがFramingTransposerであること以外、3Dとかわらない。
- MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
- UnityメインのCinemachineのCreate 2D Cameraを追加する
- 追っかけるPlayerImageオブジェクトを作って、ChinemachineVirtualCameraのFollowとLookAtへ、それを追加する
- ChinemachineVirtualCameraのBodyがFramingTransposerになってることを確認。
- ChinemachineVirtualCameraのAimをDo nothingになってることを確認。
プレイヤー入力操作のための適当なサンプル
void Update()
{
if (Input.GetKey(KeyCode.LeftArrow))
{
playerImage.transform.localPosition = new Vector3(
playerImage.transform.localPosition.x - 1,
playerImage.transform.localPosition.y,
playerImage.transform.localPosition.z);
}
else if (Input.GetKey(KeyCode.RightArrow))
{
playerImage.transform.localPosition = new Vector3(
playerImage.transform.localPosition.x + 1,
playerImage.transform.localPosition.y,
playerImage.transform.localPosition.z);
}
else if (Input.GetKey(KeyCode.UpArrow))
{
playerImage.transform.localPosition = new Vector3(
playerImage.transform.localPosition.x,
playerImage.transform.localPosition.y + 1,
playerImage.transform.localPosition.z);
}
else if (Input.GetKey(KeyCode.DownArrow))
{
playerImage.transform.localPosition = new Vector3(
playerImage.transform.localPosition.x,
playerImage.transform.localPosition.y - 1,
playerImage.transform.localPosition.z);
}
}
