Project Obsidian is a Resonite plugin that introduces new components, Protoflux nodes and features. It serves as an experimental space for testing concepts and expanding the boundaries of the virtual reality platform. The primary goal of Project Obsidian is to realize ideas that the base game does not yet feature.
Key features and benefits of Project Obsidian include:
- Incorporating community-driven ideas from both the Project Obsidian Discord and the main Resonite GitHub repository.
- Trialing new concepts and functionalities that could elevate the Resonite experience.
- Regularly engaging with users to accumulate feedback and suggestions, ensuring the plugin remains at the forefront of user needs.
Join our Discord server: https://discord.gg/9QAaMtXwke
By becoming a member of our Discord community, you can:
- Discuss ideas and share feedback with the Project Obsidian team and fellow users.
- Engage in conversations related to Project Obsidian features and enhancements.
- Stay informed about the latest developments, updates, and announcements.
Become a part of the Project Obsidian Discord community today and contribute to the plugin's evolution.
Support Project Obsidian on Patreon: https://www.patreon.com/ProjectObsidian
By becoming a patron, you will unlock:
- Pre-release builds: Gain early access to features and improvements not yet available on GitHub.
- Feature suggestions: Higher-tier Patreon supporters can suggest new features for Project Obsidian, having more influence in the decision-making process.
Your support propels the ongoing development and refinement of Project Obsidian. Funds will transparently be used to:
- Acquire necessary hardware for development and testing.
- Obtain required software development kits for feature implementation.
- Secure essential software licenses for development and testing.
By backing us on Patreon, you're actively participating in the plugin's enhancement.
Important: Project Obsidian is a plugin, not a mod. Ensure you follow the correct installation steps.
- Download the zip file from the Releases tab.
- Extract the downloaded files to the
Libraries
folder in your Resonite directory. - Add the
-LoadAssembly
launch argument followed by the plugin's file path:-LoadAssembly Libraries/Project-Obsidian.dll
.
Upon doing this, start Resonite. Navigate to the Obsidian category in your dash settings and ensure the Plugin Loaded setting is True. For further details, refer to your logs.
For a comprehensive guide, please refer to our installation wiki.
The detailed feature list is available in the wiki.
重要: Project Obsidian はModではなくプラグインです。正しい手順に従ってインストールしてください。
- Releasesタブからzipファイルをダウンロードします。
- ダウンロードしたファイルをResoniteディレクトリ内の
Libraries
フォルダに解凍します。 - 起動時に
-LoadAssembly
起動引数とともにプラグインのファイルパスを追加します:-LoadAssembly Libraries/Project-Obsidian.dll
以上が完了したらResoniteを起動してください。ダッシュ設定のObsidianカテゴリに移動し、Plugin Loaded の設定がTrueになっていることを確認してください。詳しくはログを参照してください。
중요: Project Obsidian은 모드가 아닌 플러그인입니다. 올바른 설치 절차를 반드시 따라주세요.
- Releases 탭에서 zip 파일을 다운로드합니다.
- 다운로드한 파일을 Resonite 디렉토리 내
Libraries
폴더에 압축 해제합니다. - 실행 시
-LoadAssembly
실행 인자와 함께 플러그인의 파일 경로를 추가합니다:-LoadAssembly Libraries/Project-Obsidian.dll
이 작업을 완료한 후 Resonite를 시작하세요. 대시 설정에서 Obsidian 카테고리로 이동하여 Plugin Loaded 설정이 True로 되어 있는지 확인하세요. 자세한 내용은 로그 파일을 참조하세요.
https://github.com/ValveSoftware/openvr
https://github.com/ValveSoftware/steamvr_unity_plugin
https://github.com/Nytra/managed-midi
https://github.com/Nytra/alsa-sharp
The following code files contain some algorithms produced with the assistance of AI LLMs:
BandPassFilter
ButterworthFilter
EMA_IIR_SmoothSignal
PhaseModulator
RingModulator
SineShapedRingModulator
Button Interactions/ButtonAttachComponent
MIDI/MIDI_CC_Value
MIDI/MIDI_InputDevice
MIDI/MIDI_PitchWheel_Value
EditableMesh
EditableMeshControlPoint
MengerSponge
MengerSpongeMesh
MetaballMesh
MetaballPoint
MetaballShape
Planet
PlanetMesh
SierpinskiPyramid
SierpinskiPyramidMesh
Data Feeds/Feeds/ComponentData
Data Feeds/Feeds/ComponentDataFeedItem
Data Feeds/Feeds/ComponentDataResult
Data Feeds/Feeds/ComponentsDataFeed
Data Feeds/Feeds/ComponentsDataFeedData
Data Feeds/Interfaces/ComponentDataItemInterface
Data Feeds/Interfaces/TypeFeedItem
Data Feeds/Interfaces/TypeItemInterface
MeshEditTool
Drivers/MultiValueArithmeticDriver
BoundingBoxUserTracker
ImuInfo
IsValidGenericTypeDriver
StringToTypeDriver
LightSourcesWizard
MeshColliderManagementWizard
ViveTrackerProxy
TweenPosition
TweenRotation
TweenScale
AudioAdder
AudioClamp
AudioDelay
AudioMultiply
AudioSourceInfo
AudioSubtractor
BandPassFilterNode
ButterworthFilterNode
ChannelSplitter
EMA_IIR_SmoothSignalNode
FIR_Filter
IsPaused
IsStopped
LevelMonitor
OneSampleDelay
PhaseModulatorNode
QuadCombiner
Reverb
RingModulatorNode
SawtoothGenerator
SineGenerator
SineShapedRingModulatorNode
Speaker
SquareGenerator
StereoCombiner
Surround51_Combiner
TriangleGenerator
ImuDataNode
MIDI/MIDI_CC_Event
MIDI/MIDI_ChannelAftertouchEvent
MIDI/MIDI_NoteEvents
MIDI/MIDI_PitchWheelEvent
MIDI/MIDI_PolyphonicAftertouchEvent
MIDI/MIDI_ProgramEvent
MIDI/MIDI_SystemRealtimeEvents
ViveTrackerBattery
AsyncWait
AsyncWhileWithIteration
Time/Local Stopwatch
WhileWithIteration
NodeExtensions
RandomXExtensions
FindGrabbableFromSlot
JsonAddObjectToObjectNode
JsonAddValueToObjectNode
JsonAppendObjectToArrayNode
JsonAppendValueToArrayNode
JsonCountArrayChildrenNode
JsonCountObjectChildrenNode
JsonEmptyArrayNode
JsonEmptyObjectNode
JsonGetObjectFromArrayNode
JsonGetObjectFromObjectNode
JsonGetValueFromArrayNode
JsonGetValueFromObjectNode
JsonInsertObjectToArrayNode
JsonInsertValueToArrayNode
JsonParseStringArrayNode
JsonParseStringObjectNode
JsonParseStringTokenNode
JsonQuickGetObjectFromObjectNode
JsonQuickGetValueFromObjectNode
JsonRemoveFromArrayNode
JsonRemoveFromObjectNode
JsonSelectTokenNode
JsonSelectTokensNode
JsonToStringNode
JsonTokenToArrayNode
JsonTokenToObjectNode
ADSR_Envelope
Constants/EpsilonDouble
Constants/EpsilonFloat
EulersTotientFunctionNode
FibonacciNode
FrequencyQuantize
IsPrimeNumberNode
MIDI_NoteFrequency
Physics/CentripetalForceCalculationNode
Physics/DragCalculationNode
Physics/KinecticFrictionNode
Physics/RefractCalculationNode
Random/RandomBool2
Random/RandomBool3
Random/RandomBool4
Random/RandomCharacter
Random/RandomDouble
Random/RandomEulerAngles
Random/RandomFloatQ
Random/RandomInt2
AsyncHttpRequestNode
CountSubstring
DecodeBase64Node
DecodeMorseNode
EncodeBase64Node
EncodeMD5
EncodeMorse
EncodeSHA256
HMAC
HammingDistanceNode
HammingDistanceNonNullableNode
ReplaceIndexRangeNode
Avatar/AvatarRootSlot
Status/IsUserEyeTracking
Status/IsUserInNoclipNode
Status/IsUserInSeatedMode
UserFromUserRef
WriteToLogNode