This commit is contained in:
2025-07-31 18:00:00 -07:00
parent 2be97ea27c
commit 15f11fc0f3
22 changed files with 725 additions and 516 deletions

View File

@@ -4,18 +4,17 @@ A visual graph-based editor for designing point-and-click adventure game cutscen
## Overview
The Cutscene Editor Plugin provides a node-based interface for creating complex cutscene sequences without manual coding. Users can configure narrative sequences through visual connections that mirror the action-attachment functionality of the underlying cutscene system.
The Cutscene Editor Plugin provides a node-based interface for creating complex cutscene sequences. Instead of generating code, the editor now manages cutscene resources that can be directly loaded and executed by the game engine. Users can configure narrative sequences through visual connections that are stored as structured data.
## Features
- **Visual Node-Based Interface**: Drag-and-drop nodes for creating cutscenes
- **Action Representation**: Visual nodes for all core action types (Move, Turn, Dialogue, Animation, Wait)
- **Parallel Execution**: Special Parallel Group nodes for simultaneous actions
- **Connection System**: Visual connections for sequential and parallel execution flow
- **Connection System**: Visual connections for sequential execution flow
- **Property Editing**: Inline parameter editing within nodes
- **Real-Time Preview**: Immediate visualization of cutscene execution
- **Undo/Redo System**: Comprehensive action reversal capabilities
- **Save/Load Functionality**: Persistent storage of cutscene designs
- **Resource Management**: Save/Load cutscene designs as structured resources
## Node Types
@@ -26,7 +25,6 @@ The Cutscene Editor Plugin provides a node-based interface for creating complex
- **DialogueAction Node**: Displays character dialogue (Yellow)
- **AnimationAction Node**: Plays character animations (Purple)
- **WaitAction Node**: Creates time delays (Gray)
- **ParallelGroup Node**: Groups actions for simultaneous execution (Orange)
## Installation
@@ -41,7 +39,32 @@ The Cutscene Editor Plugin provides a node-based interface for creating complex
2. **Connecting Nodes**: Drag from output connection points to input connection points
3. **Editing Parameters**: Select a node and modify parameters in the Properties Panel
4. **Previewing**: Click the Preview button to see your cutscene in action
5. **Saving**: Use File > Save to store your cutscene design
5. **Saving**: Use File > Save to store your cutscene design as a resource
6. **Loading**: Use File > Open to load existing cutscene resources
## Resource Structure
Cutscenes are stored as structured resources with:
- **Nodes**: Each node has a unique ID, type, position, and parameters
- **Connections**: Each connection has a unique ID, source node/port, and target node/port
- **Metadata**: Version and timestamp information
## Runtime Execution
To execute a cutscene at runtime:
```gdscript
# Load the cutscene resource
var cutscene_resource = preload("res://path/to/your/cutscene.tscn")
# Generate actions from the resource
var generator = CutsceneGenerator.new()
var cutscene_manager = generator.generate_cutscene(cutscene_resource)
# Add to scene and start
add_child(cutscene_manager)
cutscene_manager.start()
```
## Requirements