Skip to content

Latest commit

 

History

History
223 lines (169 loc) · 8.09 KB

File metadata and controls

223 lines (169 loc) · 8.09 KB

uDesktopMascot

Unity Version Releases Unity Test CI Ask DeepWiki

日本語 | English | 中文 | Español | Français

Note: The above languages (English, 中文, Español, Français) have been generated by automatic translation using GPT-4o-mini. For accuracy and nuances, please refer to the original text (Japanese).

Overview

"uDesktopMascot" is an open-source project for a desktop mascot application themed on liberation of creativity. One of the features includes the ability to load and display models in VRM or GLB/FBX format on the desktop. You can also freely configure the colors and background images of the GUI, such as the menu screen and application window. For a detailed feature list, please refer to Feature List.

Supported Platforms

  • Windows 10/11
  • macOS

Feature List

The application has the following features implemented. Please refer to the list below for details.

External assets can be added by placing them in the StreamingAssets folder.

Model and Animation
  • Loads and displays any model file placed in the StreamingAssets folder.
    • Supports VRM (1.x, 0.x) model formats.
    • Supports GLB/GLTF model formats (animations not supported).
    • Supports FBX model formats (note that some models may not be able to load textures, and animations are not supported).
      • Textures can be loaded by placing them in StreamingAssets/textures/.
  • Add VRM models from the model selection/addition screen.
    • Add by specifying a path.
    • Add from a file selection dialog.
Voice and BGM
  • Loads and plays audio files placed under SteamingAssets/Voice/. If multiple files are present, they are played randomly.
    • Audio played on click is loaded from audio files placed under StreamingAssets/Voice/Click/.
  • Loads and plays music files placed under SteamingAssets/BGM/. If multiple files are present, they are played randomly.
  • Adds a default character voice.
Speech Recognition and AI Chat
  • Integrates the offline speech recognition engine Vosk to convert microphone input into text in real-time.
    • Intermediate results [STT][partial] and final results [STT][final] are displayed in the Unity Console.
    • If silence continues for VadSilenceSeconds (default 1.0 seconds), the text is confirmed and sent to the LLM ([STT][send] log).
  • Once the text is confirmed, it passes the voice message to the AI chat function, allowing the character to read the response aloud.
    • The microphone is automatically paused during response generation to prevent misrecognition.
  • Recording can be toggled using the microphone button on the ChatDialog screen.
  • Required native DLLs (libvosk.dll, libstdc++-6.dll, libgcc_s_seh-1.dll, libwinpthread-1.dll, etc.) are placed in Assets/Plugins/x86_64/ and are packaged automatically during the build.
  • By placing acoustic models (e.g., vosk-model-small-ja-0.22) or quantized GGUF models under StreamingAssets, multiple languages, including Japanese and English, can be handled without a network connection.
Application Settings via Text File

You can change the application settings using the application_settings.txt file.

The structure of the settings file is as follows:

[Character]
ModelPath=default.vrm
TexturePaths=test.png
Scale=3
PositionX=0
PositionY=0
PositionZ=0
RotationX=0
RotationY=0
RotationZ=0

[Sound]
VoiceVolume=1
BGMVolume=0.5
SEVolume=1

[Display]
Opacity=1
AlwaysOnTop=True

[Performance]
TargetFrameRate=60
QualityLevel=2
Menu Screen
  • You can set the background image and color of the menu screen.
    • The background image can be loaded from image files placed in StreamingAssets/Menu/. Supported image formats are:
      • PNG
      • JPG (JPEG)
      • BMP
      • GIF (static images)
      • TGA
      • TIFF
    • The background color can be specified using color codes.
  • The menu screen provides access to the following features:
    • Model selection and addition screen
    • AI chat function
    • LocalWeb function
    • Application settings
    • Application exit
  • By pressing the minimize button on the menu screen, the application can be minimized to the notification area on Windows.
    • Minimized applications can be displayed again by clicking the icon in the notification area.

Running on macOS

When running the application on macOS, it may be blocked by GateKeeper. In that case, please run the following command from the terminal.

xattr -r -c uDesktopMascot.app

Requirements

  • Unity 6000.1.1f1 (IL2CPP)

License

Assets

Installer Creation Method

Windows

  • Build with the name uDesktopMascot in the build folder in Unity.
uDesktopMascot
└── build
    └── uDesktopMascot
        ├── uDesktopMascot.exe
        └── README.txt
        ...
  • Install Inno Setup.

  • Once opened, click More files and select setup.iss within the project folder.

  • After selection, click the play button.

  • Once the build is complete, the installer will be generated in the project root.

macOS

The installer can only be created on a macOS PC.

  • Build with the name uDesktopMascot in the build/uDesktopMascot folder in Unity.
uDesktopMascot
└── build
    └── uDesktopMascot
        ├── uDesktopMascot.app
        └── README.txt
  • Run the following command.
cd build
productbuild --component uDesktopMascot/uDesktopMascot.app /Applications ./uDesktopMascot_mac_installer.pkg
  • Once the build is complete, uDesktopMascot_mac_installer.pkg will be generated in the build folder.

Creator Credits

  • Models: "Aozoora" (青空)
  • BGM: MidraLab (eisuke)
  • Software Icon: Yamucha (やむちゃ)

3rd Party Notices

See NOTICE.

Sponsor

  • Luna
  • uezo