# Hyperfy Discord - 2025-04-24

## Overall Discussion Highlights

### 3D Development & Optimization
- **Avatar Creation Pipeline**: Ashxn demonstrated a workflow using TripoSG to generate 3D models from 2D images, then optimizing and rigging them in Blender with VRM addon and AutoRigPro. He created a complete avatar for user peezy in about 15 minutes.
- **Tree Optimization Techniques**: Detailed discussion about using eztree.dev for tree creation and optimizing with WebP textures to reduce file size by 80%. Trees can be polygon-heavy (up to 800k triangles) due to numerous leaf planes.
- **Performance Considerations**: Conversation about balancing visual quality with performance, particularly for mobile and VR compatibility. Suggestions included implementing LOD (Level of Detail) systems and using Armory for auto-generating LODs.
- **Object Distribution**: Shiffty shared a script for distributing objects on terrain using raycasting, with discussion about using PRNG seeds for consistent placement across clients.

### UI/UX Improvements
- **Code Editor Overhaul**: Omka shared progress on a UI redesign that reorganizes the interface with split views and tabbed components to improve workflow efficiency.
- **Developer Features**: Ashxn announced new features including app toggling to assess performance impact, scale gizmo functionality, and mousewheel controls for rotation and scaling.
- **Performance Visualization**: Discussion about adding tools to visualize resource usage across different device targets to help developers optimize for various platforms.

### Particle Systems & Effects
- **Rocket Launcher Implementation**: Gert-Jan Akerboom showcased a rocket launcher with particle effects, receiving feedback on using `rateOverDistance` for better particle distribution.
- **Wind Effects**: Ashxn demonstrated efficient tree instantiation with world-space wind shader effects using a simple code snippet.

### Blockchain & Integration
- **Multi-chain Support**: Saori mentioned "hypkg" as a solution for adding custom libraries and functionality to Hyperfy, allowing builders to work with different chains (EVM, SVM, MCP).
- **NFT Integration**: Discussion about integrating Treasure's AI Smol avatar into Hyperfy for co-marketing purposes, with guidance on following VRM standards.
- **Wallet Integration**: Conversation about developing wallet integration for avatar customization based on blockchain holdings.

### Technical Challenges
- **Security Concerns**: Discussion about apps spawning other apps and the security implications, particularly regarding loading apps from IPFS.
- **Transparency Issues**: Mention of transparency problems in v1 that needed fixing.
- **Random Number Generation**: Ashxn shared two PRNG implementations - a lightweight mulberry32 and a more robust LFSR-based solution.

## Key Questions & Answers

**Q: How can I make particles distribute evenly when moving?**  
A: Use rateOverDistance=5 which means every meter the emitter moves it will distribute 5 particles over that meter evenly. (Ashxn)

**Q: What is the process for creating 3D avatars from 2D images?**  
A: Use TripoSG to generate the 3D model, then optimize and rig it in Blender using VRM addon and AutoRigPro. (Ashxn)

**Q: Can you create trees for Hyperfy and how do you optimize them?**  
A: Use eztree.dev to create trees and download as GLB, then process through glb.babylonpress.org before using in Hyperfy. Convert textures to WebP for 80% file size reduction. (𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)

**Q: How can I capture scroll wheel input in a hyp?**  
A: Use control.scrollDelta.capture = true to take over the scroll wheel, but only capture it when needed. (Ashxn)

**Q: Is it possible to have a custom player/camera controller in first person?**  
A: Yes, can be implemented by attaching to head bone. (Omka)

**Q: What is hypkg?**  
A: A standard way to add and distribute modifications/custom libraries/functionality to Hyperfy, allowing builders to work with different chains. (Saori)

**Q: How does Raydium's "burn and earn" work?**  
A: The liquidity is locked ("burnt") and earns fees off volume that need to be harvested periodically. (ash)

**Q: Can an app load another app from IPFS?**  
A: Currently not supported as it raises security concerns; would need a world.loadApp function with permissions. (Ashxn)

**Q: How can I toggle apps to see their performance impact?**  
A: App toggling has been added in the dev branch to turn apps off and see performance impact. (Ashxn)

## Community Help & Collaboration

- **3D Avatar Creation**: Ashxn created, optimized, and rigged a 3D model for peezy in about 15 minutes, then shared his workflow with the community through a Twitter thread.

- **Particle System Optimization**: Ashxn helped Gert-Jan Akerboom improve particle distribution for a rocket launcher by suggesting the use of the rateOverDistance parameter.

- **Tree Optimization Guidance**: 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎 shared detailed workflow for creating optimized trees using eztree.dev and glb.babylonpress.org, explaining WebP texture benefits for transparency and file size reduction.

- **UI Control Implementation**: Ashxn provided Omka with solutions for capturing scroll wheel input and implementing keyboard shortcuts for UI toggling.

- **Object Distribution**: Shiffty shared a script for placing objects on terrain using raycasting against tagged terrain objects.

- **NFT Integration**: maximus provided Smol Preeminent with information about VRM standards to follow for integrating their AI Smol avatar into Hyperfy and offered assistance with design elements.

## Action Items

### Technical
- Implement WebP texture conversion for tree models to reduce file size by 80% (Mentioned by 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)
- Process tree models through glb.babylonpress.org before using in Hyperfy (Mentioned by 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)
- Use proper LOD setup when scattering objects with scripts (Mentioned by ᲼)
- Implement UIScroll and UIInput nodes for better UI capabilities (Mentioned by Ashxn)
- Create world.loadApp function with appropriate security permissions (Mentioned by Ashxn)
- Add app scaling reset functionality and position/rotation/scale inputs (Mentioned by Ashxn)
- Implement PRNG seed for consistent object placement across clients (Mentioned by Ashxn)
- Script the repetitive parts of 3D avatar optimization process (Mentioned by Ashxn)
- Fix transparency issues in v1 (Mentioned by Akuma)
- Improve UI for better mobile experience (Mentioned by Omka)
- Integrate Treasure's AI Smol avatar into Hyperfy (Mentioned by Smol Preeminent)
- Apply for Kraken listing as criteria are becoming less strict (Mentioned by general hyper)

### Features
- Create a performance visualization bar showing resource usage across device targets (Mentioned by TheMattEmpire)
- Develop auto-LOD generation tools integrated with Hyperfy workflow (Mentioned by 𝚟𝚘𝚡𝚟𝚒𝚎𝚗𝚗𝚎)
- Add color-coding for expensive assets in the editor view (Mentioned by TheMattEmpire)
- Implement loading feedback UI when importing assets (Mentioned by ᲼)
- Create app palette system for easier app discovery and addition (Mentioned by Ashxn)
- Develop wallet integration for avatar customization based on blockchain holdings (Mentioned by maximus)
- Add support for multi-screen development with pop-out UI components (Mentioned by Omka)
- Implement transparent screen-space UI that works in VR (Mentioned by Ashxn)
- Create "Where's Peezy" game where users find peezy hidden among similar colored objects (Mentioned by Omka)
- Create "Retardio Party" with multiple avatar options (Mentioned by Ashxn)
- Support for multiple blockchain integrations through hypkg (Mentioned by Saori)

### Documentation
- Document PRNG implementations and use cases (Mentioned by Ashxn)
- Document the process for optimizing and rigging 3D avatars (Mentioned by peezy)
- Create optimization guides for different device targets (Mobile, VR, Desktop) (Mentioned by TheMattEmpire)
- Provide performance cost guidelines for avatars, polygons, materials, and textures (Mentioned by TheMattEmpire)
- Improve clarity on how DEX screener records transactions (Mentioned by general hyper)