125 lines
4.1 KiB
Markdown
125 lines
4.1 KiB
Markdown
# AI Images - Defs Documentation
|
|
|
|
This folder contains XML definition files that allow you to easily customize art styles and image size presets without recompiling the mod.
|
|
|
|
## Art Style Definitions (ArtStyleDefs.xml)
|
|
|
|
Art styles define how images should be generated, including prompts, quality tags, and negative prompts.
|
|
|
|
### Structure
|
|
|
|
```xml
|
|
<AIImages.ArtStyleDef>
|
|
<defName>ArtStyle_MyStyle</defName>
|
|
<label>My Custom Style</label>
|
|
<description>Description of the style</description>
|
|
<positivePrompt>style keywords here</positivePrompt>
|
|
<negativePrompt>things to avoid</negativePrompt>
|
|
<qualityTags>additional quality tags</qualityTags>
|
|
<addBaseQualityTags>true</addBaseQualityTags>
|
|
<addBaseNegativePrompts>true</addBaseNegativePrompts>
|
|
<sortOrder>100</sortOrder>
|
|
</AIImages.ArtStyleDef>
|
|
```
|
|
|
|
### Fields
|
|
|
|
- **defName**: Unique identifier (must start with `ArtStyle_`)
|
|
- **label**: Display name shown in the UI
|
|
- **description**: Tooltip text explaining the style
|
|
- **positivePrompt**: Keywords added to the positive prompt (e.g., "photorealistic, 8k uhd")
|
|
- **negativePrompt**: Keywords added to the negative prompt (e.g., "cartoon, anime")
|
|
- **qualityTags**: Style-specific quality tags
|
|
- **addBaseQualityTags**: If true, adds "highly detailed, professional, masterpiece, best quality"
|
|
- **addBaseNegativePrompts**: If true, adds base negative prompts like "ugly, deformed, low quality"
|
|
- **sortOrder**: Determines order in the UI (lower numbers appear first)
|
|
|
|
### Example: Custom Watercolor Style
|
|
|
|
```xml
|
|
<AIImages.ArtStyleDef>
|
|
<defName>ArtStyle_Watercolor</defName>
|
|
<label>Watercolor</label>
|
|
<description>Soft watercolor painting style</description>
|
|
<positivePrompt>watercolor painting, soft colors, flowing paint, artistic</positivePrompt>
|
|
<negativePrompt>photograph, digital art, sharp edges</negativePrompt>
|
|
<qualityTags>traditional art, paper texture</qualityTags>
|
|
<addBaseQualityTags>true</addBaseQualityTags>
|
|
<addBaseNegativePrompts>true</addBaseNegativePrompts>
|
|
<sortOrder>65</sortOrder>
|
|
</AIImages.ArtStyleDef>
|
|
```
|
|
|
|
## Image Size Presets (ImageSizePresetDefs.xml)
|
|
|
|
Image size presets provide quick buttons for common image dimensions.
|
|
|
|
### Structure
|
|
|
|
```xml
|
|
<AIImages.ImageSizePresetDef>
|
|
<defName>Size_1024x1024</defName>
|
|
<label>1024x1024</label>
|
|
<width>1024</width>
|
|
<height>1024</height>
|
|
<category>Square</category>
|
|
<sortOrder>30</sortOrder>
|
|
</AIImages.ImageSizePresetDef>
|
|
```
|
|
|
|
### Fields
|
|
|
|
- **defName**: Unique identifier (should start with `Size_`)
|
|
- **label**: Display text on the button
|
|
- **width**: Image width in pixels
|
|
- **height**: Image height in pixels
|
|
- **category**: Grouping category (Square, Portrait, Landscape, or custom)
|
|
- **sortOrder**: Determines button order (lower numbers appear first)
|
|
|
|
### Example: Ultra-wide Size
|
|
|
|
```xml
|
|
<AIImages.ImageSizePresetDef>
|
|
<defName>Size_2048x1024</defName>
|
|
<label>2048x1024</label>
|
|
<width>2048</width>
|
|
<height>1024</height>
|
|
<category>Ultrawide</category>
|
|
<sortOrder>95</sortOrder>
|
|
</AIImages.ImageSizePresetDef>
|
|
```
|
|
|
|
## Adding Custom Definitions
|
|
|
|
1. **Create a new XML file** in the `Defs` folder
|
|
2. **Start with the XML header**:
|
|
```xml
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<Defs>
|
|
<!-- Your definitions here -->
|
|
</Defs>
|
|
```
|
|
3. **Add your definitions** using the structures above
|
|
4. **Restart RimWorld** to load the new definitions
|
|
|
|
## Tips
|
|
|
|
- Keep `defName` unique to avoid conflicts
|
|
- Use descriptive `label` values for the UI
|
|
- Adjust `sortOrder` to organize items logically
|
|
- Test your prompts with different characters to ensure good results
|
|
- For art styles, experiment with different combinations of tags
|
|
- Consider using existing styles as templates
|
|
|
|
## Compatibility
|
|
|
|
These definitions are compatible with other mods. If another mod adds art styles or size presets, they will all appear together in the UI.
|
|
|
|
## Troubleshooting
|
|
|
|
- **Style doesn't appear**: Check that `defName` is unique and starts with `ArtStyle_`
|
|
- **Size preset missing**: Verify the XML syntax and that `defName` starts with `Size_`
|
|
- **Prompts not working**: Make sure prompts are in English and follow Stable Diffusion prompt syntax
|
|
- **XML errors**: Use an XML validator to check your file for syntax errors
|
|
|