Repository navigation
Releases: Zenukain/AngularScope
Release list
AngularScope v0.6.0 — Central reticle detail & near-eye tuning
New optional features
- Central reticle detail: replace a cropped region of the base reticle with a higher-density texture. Base and detail share the same focal-plane mapping and lens distortion, with a feathered replacement boundary. Illumination remains independent.
- Near-eye lateral sensitivity: increase sensitivity to sideways/up-down eye movement when too close, without introducing extra narrowing for a centered eye. Available in the material inspector and advanced Setup controls.
Both options default to off, preserving the previous appearance.
Validation
Disabled detail: 108 exact image comparisons. Disabled near-eye sensitivity: 180 exact comparisons; 144 centered/normal/far comparisons also unchanged. Crop replacement, transparency, illumination, texture modes and scale handling were tested in Unity. No compilation errors. New near-eye behavior has not yet been headset/mirror/GPU-performance validated.
Downloads
- ShaderOnly: shader, authoring tools and documentation.
- WithExample: the same files plus the existing demonstration and animation-driven integration example.
Further documentation polish will follow separately.
AngularScope v0.5.1 — Clearer material controls
Usability and packaging
- Grouped material controls into collapsible sections with separators and concise guidance: scene/zoom, reticle, illumination, field/eyebox, lens character, and calibration/diagnostics.
- Shader property names, defaults, optical equations and animation bindings are unchanged by the inspector update.
- Consolidated lens-character controls into the main Example, including optional HDR and 4x MSAA comparisons.
- Mild scene chromatic-aberration preset is now 0.004; new-material effects remain off by default.
- Refreshed screenshots and documentation.
- Standard CC0 LICENSE and separate NOTICE are included in both packages.
Downloads
- ShaderOnly: shader, editor tools and documentation.
- WithExample: also includes the desktop demo and animation-driven avatar integration fixtures.
Validation
Checked in Unity 2022.3.22f1: compilation and shader checks, all 45 inspector properties accounted for, and exported package payloads matched source with no external asset dependencies. Inspector layout reviewed by the project owner. This update does not add new headset certification.
PC Built-in RP only; a separate camera and RenderTexture are required. Example runtime scripts are not VRChat avatar runtime scripts. CC0; AI-assisted development.
AngularScope v0.5.0 — Lens distortion and chromatic aberration
Optional lens character
- Added radial lens distortion with low/high-magnification settings.
- Added subtle scene chromatic aberration and warm/purple pupil-shadow fringes.
- Effects are off by default; a separate Lens Effects Demo provides a mild comparison preset.
- Setup tooling and the material inspector warn about insufficient RenderTexture overscan.
- Reticle scale now uses the calculated field-stop fit: 0.2771281.
- Updated setup documentation and README.
Packages
- ShaderOnly: shader, documentation, and editor setup tools.
- WithExample: also includes desktop demos and animation-driven integration examples.
Validation and limits
Validated source/package consistency and clean import in Unity 2022.3.22f1 Built-in RP. Effects-off and refactor comparisons preserved the tested rendering results; lens effects also received user headset testing. This is not a certification of every XR, mirror, GPU, or avatar configuration.
PC / Built-in RP only. A separate camera and RenderTexture are required. Example runtime scripts are not VRChat avatar runtime scripts; use the animation-driven integration guide for avatars.
CC0; developed with AI assistance.
AngularScope v0.4.0 — Lightweight reticle masks and Scope Setup
New in v0.4.0
- Per-layer Color RGBA, Alpha Mask, and Red Mask sampling. Color RGBA remains the default for existing appearance; Alpha Mask ignores texture RGB to avoid dark fringes.
- Create Lightweight Reticle Mask: convert a source PNG alpha mask into a new linear BC4 texture for Standalone, preserving the original. No automatic cropping. A 4K mask with mipmaps uses approximately 10.67 MiB; a 4K main mask plus a cropped 512px illumination mask is approximately 10.84 MiB.
- Scope Setup: an editor-only, SDK/NDMF-independent window with physical-specification inputs, clear basic/comfort/advanced sections, review-before-apply, numeric presets, and read-only scene guides. Opening the window does not change the rig.
- Generate new low/high/continuous zoom clips for a chosen animation root. The material and camera FOV move together. Clip generation currently supports material slot 0; FX/menu installation remains manual.
Usage and limits
Open Tools > AngularScope > Scope Setup or Create Lightweight Reticle Mask. See Documentation/ScopeSetup.md for units, workflow, and integration limits.
The optical display requires a rigid MeshRenderer. These tools provide empirical tuning starting points, not a full optical simulation or exact manufacturer-spec reproduction. Existing animation/build-authoring systems may override edited values and must be kept in sync. PC Built-in RP only.
Validated in Unity 2022.3.22f1: clean compilation and shader checks, mask comparisons at 1x/6x/10x, scale-mode round trips, specification conversion, and zoom-clip bindings. The 201-key 1–10x sweep had a maximum sampled intermediate camera-FOV error of 0.00843 degrees. This release was not validated in a fresh empty project or a new headset session.
Downloads
- AngularScope_ShaderOnly.unitypackage: shader, optional editor tools, and documentation.
- AngularScope_WithExample.unitypackage: the above plus the procedural example rig and scenes.
AI-assisted development. CC0.
AngularScope v0.3.0 — Rigid-lens scaling and conversion tools
Changes
- Optical display lenses now require a rigid MeshRenderer. Housings and covers may remain skinned. GPU skinning can bake scale into vertices without exposing the same scale in the object matrix, so a rigid lens makes optical distances and lens-centre scaling reliable.
- Added an optional editor-only single-bone lens converter. Imported meshes are preserved; mixed bone weights and lens-deforming blendshapes are rejected. Rebind optical animation paths after conversion.
- Clarified local-space settings. The optical model and existing tuning were not broadly redesigned.
Downloads
- AngularScope_ShaderOnly.unitypackage: shader, documentation, and optional editor-only lens tools.
- AngularScope_WithExample.unitypackage: the above plus demonstration and animation-driven integration examples.
Validation and requirements
CPU/GPU scale checks covered 0.5×, 1×, and 2×; calibrated relief distances followed 6.5 / 13 / 26 cm. Thirty-six normalized coverage renders matched across scales. VRChat avatar-height scaling was also confirmed by the project owner; this is not a guarantee for every rig.
Unity 2022.3.22f1, PC Built-in Render Pipeline. A scope camera and RenderTexture are required. The public conversion tool has no NDMF dependency. CC0; AI-assisted development.
Documentation polishing will follow this release separately.
AngularScope v0.2.0 — Scale-aware optics and integration examples
What changed
- Added animation-driven PC avatar integration fixtures and a step-by-step guide.
- Eye relief and its axial tolerance can follow renderer object scale; new materials default to GPUObjectSpace (mode 1). WorldMetres (mode 0) remains available for fixed world distances.
- Separated linked pupil-shadow normalization from the adjustable radius cap.
- Disabled dynamic batching and moved constant scope-frame projection to the vertex stage.
- Removed the legacy cover visibility adapter; streamlined documentation and reticle-sizing guidance.
Upgrade notes
Materials without a saved _EyeReliefMode now inherit mode 1. Explicitly save mode 0 before updating if you need the previous fixed-world-distance calibration. Existing saved mode 0 values are retained. The removed _EyeBoxLimit cover input no longer controls visibility.
Downloads
- AngularScope_WithExample.unitypackage: shader, documentation, procedural scene and animation-driven integration fixtures. Recommended starting point.
- AngularScope_ShaderOnly.unitypackage: shader and documentation only.
PC Built-in Render Pipeline; tested editor: Unity 2022.3.22f1. A separate scene camera and RenderTexture are required. Quest/Android, URP and HDRP are unsupported. Avatar fixtures are not an automatic installer: test the final rig in VRChat. See the documentation for depth-texture limitations.
Validation
The projection refactor was compared across 288 editor-render configurations; the maximum channel difference was 1/255. Package contents were checked against source. These checks do not establish compatibility with every headset or avatar rig, and no frame-time improvement is claimed.
License and AI disclaimer
Independently authored content is CC0-1.0. Generative AI assisted code and documentation, with human review and iterative Unity/VR testing. This remains an experimental optical approximation, not a physical lens raytrace.
AngularScope v0.1.0 — Initial public preview
Initial public preview
A configurable scope-view shader and standalone procedural Unity example, released under CC0-1.0.
- Variable magnification with SFP/FFP reticle calibration.
- Independent etched reticle and illumination overlay.
- Sharp circular field stop and moving soft eye-box shadow.
- Fixed or magnification-linked exit pupil.
- Illustrated setup guide, including FFP reference values 1 and 6.
Downloads
- AngularScope_WithExample.unitypackage: shader, documentation and standalone example scene. Recommended starting point.
- AngularScope_ShaderOnly.unitypackage: shader and documentation only.
Import into a PC Built-in Render Pipeline Unity project. The example was tested in Unity 2022.3.22f1. A separate camera and RenderTexture supply the scene image; the shader does not replace them. The example MonoBehaviour is not an upload-ready VRChat avatar script. Quest avatar custom shaders, URP and HDRP are not supported. No purchased scope or firearm assets are included.
AI disclaimer
Generative AI assisted code and documentation development, with human review and iterative testing in Unity and VR. This is an experimental geometric approximation, not physically accurate optics or a guarantee of compatibility with every project. Review and test it in your own setup.
See the repository README for screenshots, setup instructions and limitations.