Skip to content

Releases: Xlinka/Project-Obsidian

v2025.01.08

08 Jan 02:25
7cb7cf3
Compare
Choose a tag to compare

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 SquareGenerator and TriangleGenerator by @Nytra in #74

  • 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
    AudioSourceInfo

    Categorized 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

30 Dec 15:24
6e7b125
Compare
Choose a tag to compare

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

02 Dec 01:46
58ccc19
Compare
Choose a tag to compare

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

15 Jul 16:46
Compare
Choose a tag to compare

Summary of Changes in Project Obsidian (June 25, 2024 - July 15, 2024)

New Features

Components

  1. ComponentsDataFeed and ComponentDataItemInterface

    • Added ComponentsDataFeed and ComponentDataItemInterface.
    • Introduced a PostBuildEvent to send the .DLL to the Libraries folder.
    • PR: #34 by Nytra
  2. Enumeration of Component Library

    • Enhanced ComponentsDataFeed to enumerate the component library.
    • Added ButtonAttachComponent.
    • General cleanup.
    • PR: #36 by Nytra
  3. Procedural Mesh - Planet Mesh

    • Added a new procedural mesh feature for generating an icosphere using Perlin noise.
    • PR: [new feature]
  4. 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.

Protoflux Nodes

  1. While Nodes with Iteration & UserFromUserRef

    • Implemented while nodes with iteration capabilities.
    • Added UserFromUserRef.
    • PR: #32 by paradoxical-autumn
  2. 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]

Updates

Components

  1. Fix Arithmetic Driver Generic Types Group

    • Addressed issues related to generic types in arithmetic driver.
    • PR: #35 by Nytra
  2. Generic Types and Component Library

    • Added IsValidGenericTypeDriver, StringToTypeDriver, TypeFeedItem, and TypeItemInterface.
    • Reworked ComponentsDataFeed to use these new types for the component library.
    • PR: #40 by Nytra
  3. Update for Type Management

    • Updated the project to better handle type management.
    • PR: #41 by Nytra
  4. Generic Types Attribute and Binding Generator

    • Added generic types attribute to the binding generator.
    • Marked enums as data model types and external data model types in AssemblyInfo.
    • Fixed some ValueInputs.
    • PR: #46 by Nytra
  5. Removed Factorial Node

    • Removed the factorial node as it is now included in the base game.
    • PR: [update]

Protoflux Nodes

  1. Refactor Json Nodes
    • Refactored JSON nodes for improved performance and maintainability.
    • PR: #45 by Frozenreflex

Bug Fixes

Components

  1. Call Base.OnAttach in OnAttach
    • Ensured base.OnAttach is called within OnAttach.
    • PR: #37 by Nytra

Protoflux Nodes

  1. Fix Crashing with UserFromUserRef

  2. 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

25 Jun 13:57
Compare
Choose a tag to compare

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.

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.

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.
  • 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.
  • 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.

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.
  • FindGrabbableFromSlot Node

    • Category: Obsidian/Interaction
    • Description: Finds and returns the nearest grabbable component from a specified slot.

New Math Nodes

  • Factorial Node

    • Category: Obsidian/Math
    • Description: Computes the factorial of an input integer.
  • EulersTotientFunction Node

    • Category: Obsidian/Math
    • Description: Computes Euler's Totient function for an input integer.
  • IsPrimeNumber Node

    • Category: Obsidian/Math
    • Description: Determines if an input integer is a prime number.
  • Fibonacci Node

    • Category: Obsidian/Math
    • Description: Computes the nth Fibonacci number for an input integer.

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

19 Apr 07:59
b7c76c7
Compare
Choose a tag to compare

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

22 Jan 00:00
6b561c1
Compare
Choose a tag to compare

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

21 Jan 19:42
5849197
Compare
Choose a tag to compare

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