Releases: Xlinka/Project-Obsidian
v2025.01.08
What's Changed
-
Clamp audio buffer values to prevent audio breaking, Use IsActive, update filters to handle different types, use audio update callback by @Nytra in #71
-
Add SawtoothGenerator and fix a problem with Frequency Quantize when the input is zero by @Nytra in #72
-
Add PhaseModulator, Add RingModulator, rename FrequencyModulator to SineShapedRingModulator by @Nytra in #73
-
A bunch of new audio nodes and other related changes by @Nytra in #75
ChannelSplitter
StereoCombiner
QuadCombiner
Surround51_Combiner
BandPassFilter
ButterworthFilter
EMA_IIR_SmoothSignal
PhaseModulator
RingModulator
SineShapedRingModulator
AudioSourceInfoCategorized audio nodes/components
Refactored audio algorithms to a single file
Use correct channel counts -
Fix for null ref exception on loading a world by @Nytra in #76
Full Changelog: v2024.12.30...v2025.01.08
v2024.12.30
What's Changed
- Some adjustments to startTime by @Nytra in #62
- Create Local Stopwatch.cs by @Xlinka in #61
- Add audio processing ProtoFlux Nodes, add ProxyVoidNode to binding generator, fill buffers with default samples if not active by @Nytra in #64
- Improvements, fix phase, fix default values, add reset impulse, add AudioMultiply, remove TestAudio by @Nytra in #65
- Add frequency quantize and MIDI note frequency nodes by @Nytra in #66
- Remove comment and useless line of code by @Nytra in #67
- Add ADSR Envelope node and adjust frequency modulator's modulation range by @Nytra in #68
Full Changelog: v2024.12.01...v2024.12.30
v2024.12.01
What's Changed
- Add MIDI input device support, MIDI settings and add global refs to binding generator by @Nytra in #49
- Improve AsyncWait to not freeze the whole app by @Nytra in #50
- Handle 14 bit CC messages, add midi system realtime events handling, add program events handling, and more... by @Nytra in #52
- Update Microsoft.CodeAnalysis.CSharp to v4.8.0 so the source generator works on Arch Linux by @Nytra in #55
- Add audio filtering components (ButterworthFilter, EMA_IIR_SmoothSignal) by @Nytra in #57
- Add BandPassFilter, FrequencyModulator, update ButterworthFilter defaults, improve filter sound by @Nytra in #58
- Switch to using MidiDeviceConnectionManager so multiple midi device components can share the same connection by @Nytra in #56
- Eye tracking node fix by @Nytra in #59
- Add plugin settings to toggle loading the plugin when starting new sessions by @Nytra in #60
- Fixed invalid values in RandomFloatQ node by @Xlinka
- Added wizards (LightSourcesWizard, MeshColliderManagementWizard) by @Xlinka
- Add IsUserEyeTracking node by @Xlinka
Full Changelog: v2024.07.15...v2024.12.01
v2024.07.15
Summary of Changes in Project Obsidian (June 25, 2024 - July 15, 2024)
New Features
Components
-
ComponentsDataFeed and ComponentDataItemInterface
-
Enumeration of Component Library
-
Procedural Mesh - Planet Mesh
- Added a new procedural mesh feature for generating an icosphere using Perlin noise.
- PR: [new feature]
-
New Shaders
- Added the following shaders:
- Crystal Shader: Useful for creating glass and bubble effects.
- Mtoon Shader: Toon shader for stylized rendering.
- Obsidian Test Shader: Changes color based on view direction.
- Parallax Occlusion Shader: Provides parallax occlusion mapping.
- Wireframe Shader: Displays a wireframe of any mesh. Experimental and may require respawning to fix issues.
- Added the following shaders:
Protoflux Nodes
-
While Nodes with Iteration & UserFromUserRef
- Implemented while nodes with iteration capabilities.
- Added
UserFromUserRef
. - PR: #32 by paradoxical-autumn
-
AsyncHttpRequestNode
- Introduced
AsyncHttpRequestNode
for making asynchronous HTTP requests. - Features:
- Supports GET, POST, PUT, HEAD, DELETE, PATCH, OPTIONS, and TRACE request methods.
- Takes URI, headers, and body as inputs.
- Outputs response headers, body, and status code.
- Includes continuation points for request start, response received, and errors.
- PR: [new feature]
- Introduced
Updates
Components
-
Fix Arithmetic Driver Generic Types Group
-
Generic Types and Component Library
-
Update for Type Management
-
Generic Types Attribute and Binding Generator
-
Removed Factorial Node
- Removed the factorial node as it is now included in the base game.
- PR: [update]
Protoflux Nodes
- Refactor Json Nodes
- Refactored JSON nodes for improved performance and maintainability.
- PR: #45 by Frozenreflex
Bug Fixes
Components
Protoflux Nodes
-
Fix Crashing with UserFromUserRef
- Resolved crashing issues related to
UserFromUserRef
. - PR: #39 by paradoxical-autumn
- Resolved crashing issues related to
-
Fixed Random Char and Random Bool
- Fixed issues with random char and random bool functions.
- PR: [bug fix]
Full Changelog: v2024.06.25...v2024.07.15
Additional Information
Download the update here: Obsidian Library Latest Release
We look forward to seeing what you'll build with these new features. If you have any feedback or need support, join our community forum or reach out via our support channels.
Patreon: Support Project Obsidian
v2024.06.25
Obsidian Plugin Release Notes
Date: 06/25/2024
We are excited to announce the latest update to the Obsidian Plugin , featuring new nodes and tools to enhance your development experience.
New Device Component
- ImuInfo Component
- Category:
Obsidian/Devices
- Description: Allows for reading IMU data such as accelerometer and gyroscope values, and managing connection status.
- Category:
New Device Nodes
- ImuReader Node
- Category:
Obsidian/Devices/OpenVR
- Description: Provides asynchronous reading of IMU data, including sample time, accelerometer, and gyroscope values, and handles connection state changes.
- Category:
New Action Nodes
-
TweenPosition Node
- Category:
Obsidian/Actions
- Description: Animates the position of a target object from one point to another over a specified duration with customizable easing curves.
- Category:
-
TweenRotation Node
- Category:
Obsidian/Actions
- Description: Animates the rotation of a target object from one orientation to another over a specified duration with customizable easing curves.
- Category:
-
TweenScale Node
- Category:
Obsidian/Actions
- Description: Animates the scale of a target object from one size to another over a specified duration with customizable easing curves.
- Category:
New Avatar Management Nodes
-
AvatarRootSlot Node
- Category:
ProtoFlux/Obsidian/Avatar
- Description: Retrieves the root slot of the avatar for a specified user, enabling easy access to the avatar's root components.
- Category:
-
FindGrabbableFromSlot Node
- Category:
Obsidian/Interaction
- Description: Finds and returns the nearest grabbable component from a specified slot.
- Category:
New Math Nodes
-
Factorial Node
- Category:
Obsidian/Math
- Description: Computes the factorial of an input integer.
- Category:
-
EulersTotientFunction Node
- Category:
Obsidian/Math
- Description: Computes Euler's Totient function for an input integer.
- Category:
-
IsPrimeNumber Node
- Category:
Obsidian/Math
- Description: Determines if an input integer is a prime number.
- Category:
-
Fibonacci Node
- Category:
Obsidian/Math
- Description: Computes the nth Fibonacci number for an input integer.
- Category:
These new tools are designed to improve your ability to integrate and utilize IMU data in your projects, manage avatars effectively, perform complex mathematical computations, and create smooth animations for object transformations.
Download the update here: Obsidian Library Latest Release
We look forward to seeing what you'll build with these new features. If you have any feedback or need support, join our community forum or reach out via our support channels.
Patreon: Support Project Obsidian
v2024.04.19
Obsidian Update
We are excited to announce the addition of several new nodes to the Obsidian suite, expanding our Math constants and Random utilities, along with useful Bindings for user and device interactions. Here's what you can find in the latest update:
New Source Generator Tool by Frozen
- Automatic Binding Generator: Developed by Frozen, this new source generator will now automatically generate bindings at build time. With this tool, contributors can focus more on creating nodes without the hassle of manually writing bindings, simplifying the release process and speeding up testing phases.
Math Constants
- EpsilonDoubleNode and EpsilonFloatNode.
Random Utilities
-
RandomInt2Node: Generate two-dimensional integer vectors.
-
RandomBool2Node, RandomBool3Node, RandomBool4Node: These nodes provide random boolean vectors with two, three, and four outputs respectively.
-
RandomDoubleNode: Obtain random double precision numbers.
-
RandomEulerAnglesNode: Generate random Euler angles.
-
RandomCharacterNode: This node outputs random characters.
User Nodes
- IsUserInSeatedModeNode: Check if a user is in seated mode, aiding in applications that need to adapt their interface or functionality based on the user's physical setup.
Device Nodes
- ViveTrackerBatteryNode: Monitor the battery level of a Vive Tracker based on user input.
These new tools are designed to enhance your development capabilities in games, simulations, VR, and any interactive projects. Be sure to download the latest release and explore the potential of these new nodes!
Download the update here: Obsidian Library Latest Release
We look forward to seeing what you'll build with these new features. If you have any feedback or need support, join our community forum or reach out via our support channels.
Patreon: Support Project Obsidian
V2024.01.22
v2024.01.22 Release Notes
We are excited to announce our latest release 2024.01.22 which brings a suite of new JSON and string nodes to enhance your development experience. Our team has been working hard to deliver these new features, and we hope they empower you to create even more dynamic and versatile applications.
What's New
In this release, we've added a collection of nodes to help you handle JSON data and manipulate strings with greater efficiency:
JSON Nodes:
- JsonAddToObject: Seamlessly add new elements to JSON objects.
- JsonAppendToArray: Append elements to JSON arrays with ease.
- JsonCountArrayChildren: Quickly count the number of elements in a JSON array.
- JsonCountObjectChildren: Count the children of a JSON object without hassle.
- JsonEmpty: Create an empty JSON object or array with a single node.
- JsonGetFromArray: Retrieve elements from JSON arrays efficiently.
- JsonGetFromObject: Access elements within JSON objects with ease.
- JsonInfo: Get detailed information about your JSON objects and arrays.
- JsonInsertToArray: Insert elements into JSON arrays at specified indices.
- JsonParseStringArray: Parse arrays of strings from JSON data.
- JsonParseStringNode: Parse strings from JSON data effectively.
- JsonQuickGetObject: Rapidly retrieve nested objects from JSON data.
- JsonRemoveFromArray: Remove elements from JSON arrays with precision.
- JsonRemoveFromObject: Delete elements from JSON objects cleanly.
- JsonToStringNode: Convert JSON objects and arrays back to string format.
String Nodes:
- CountSubstring: Count occurrences of a substring within a string.
- DecodeBase64: Decode Base64 encoded strings reliably.
- EncodeBase64: Encode strings into Base64 format effortlessly.
- EncodeMD5: Generate MD5 hashes from strings for secure checksums.
- EncodeMorse: Convert strings to Morse code for unique communication.
- EncodeSHA256: Secure your strings with SHA256 encoding.
- HammingDistance: Calculate the Hamming distance between two strings for error detection.
- HammingDistanceNonNullable: Determine the Hamming distance with non-nullable string inputs.
These nodes are designed to provide a robust toolkit for working with JSON and strings, making your coding tasks simpler and more intuitive.
Getting the Update
You can download the latest version of our software from the link below:
Latest Download
We are committed to continuous improvement and eagerly await your feedback on these new additions. Thank you for supporting Project Obsidian!
For any inquiries or to join our community:
v2024.01.21
What's New
All Items below are the new additions to the plugin as this is our first release i apologize for it not being a large selection.
Components
- Obsidian/Assets/Procedural MeshesMengerSponge
- Obsidian/Assets/Procedural MeshesSierpinskiPyramid
- Obsidian/Transform/Drivers/MultiArithmeticDriver
- Obsidian/Utility/BoundignBoxUserTracker
Nodes Obsidian/Math/Physics
- CentripetalForceCalculation
- DragCalculation
- KineticFriction
- RefractionNode
Nodes Obsidian/Locomotion
- IsUserInNoClip
Nodes Obsidian/Utility
- WriteToLog
New Contributors
- @Xlinka made their first contribution in #1
- @Nytra made their first contribution in #7
- @FlipperLP made their first contribution in #8
Full Changelog: https://github.com/Xlinka/Project-Obsidian/commits/v2024.01.21