UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
開発・技術 · SKILL.md

unity-cinemachine

unity-cinemachine

Unity Cinemachine skill for virtual cameras, procedural camera control, and cinematic sequences.

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: unity-cinemachine description: Unity Cinemachine skill for virtual cameras, procedural camera control, and cinematic sequences. allowed-tools: Read, Grep, Write, Bash, Edit, Glob, WebFetch graph: domains: [domain:gaming] specializations: [specialization:game-development] skillAreas: [skill-area:gameplay-programming, skill-area:game-engines] roles: [role:game-developer]

Unity Cinemachine Skill

Procedural camera system using Unity Cinemachine.

Overview

This skill provides capabilities for implementing dynamic camera systems using Cinemachine, including virtual cameras, camera blending, and cinematic sequences.

Capabilities

Virtual Cameras

  • Create virtual cameras for different views
  • Configure follow and look-at targets
  • Set up framing transposers
  • Implement orbital cameras

Camera Behaviors

  • Configure noise profiles for shake
  • Implement dead zones and soft zones
  • Set up camera collision
  • Handle screen composition

Blending and Transitions

  • Configure blend curves
  • Set up camera priorities
  • Implement cutscenes with Timeline
  • Handle state-driven cameras

Advanced Features

  • Create dolly tracks
  • Implement target groups
  • Set up clear shots
  • Configure confiner extensions

Prerequisites

  • Unity 2021.3+
  • Cinemachine package installed

Usage Patterns

Player Follow Camera

// Configure in editor or via script
var vcam = GetComponent<CinemachineVirtualCamera>();
vcam.Follow = playerTransform;
vcam.LookAt = playerTransform;

// Framing Transposer settings
var transposer = vcam.GetCinemachineComponent<CinemachineFramingTransposer>();
transposer.m_ScreenX = 0.5f;
transposer.m_ScreenY = 0.4f;

Camera Shake

public void TriggerShake(float intensity, float duration)
{
    var noise = vcam.GetCinemachineComponent<CinemachineBasicMultiChannelPerlin>();
    noise.m_AmplitudeGain = intensity;
    StartCoroutine(ResetShake(duration));
}

Best Practices

  1. Use virtual cameras for game states
  2. Configure proper priorities
  3. Test camera transitions
  4. Use Timeline for cutscenes
  5. Profile camera updates

References

保存したスキル