P12 Editor Major Online Updates V0.37.0.8

Version: 0.37.0.8

Release Date: August 30, 2024

We're thrilled to present a transformative update for your P12 Editor that will breathe new life into your virtual creations. Launch your Editor and experience the latest enhancements, all aiming to turn your virtual playground into a living, breathing universe!

What's New

  • Character Climbing: Scale any surface with ease

  • Water Buoyancy: Realistic floating and swimming

  • SkyBox Disturbance: Bring your skies to life

  • Matcap Material: Enhanced visual realism

  • Particle Effect Emitter: Create stunning visual effects

  • Major UI/UX Enhancements: Streamlined workflow

Curious about the details? Keep scrolling!


🧗**[NEW] Character Climbing**

Breathe new life into your scenes with our latest addition: Character Climbing! This feature is perfect for action-packed adventures and immersive sandbox games. By default, the climbing feature is disabled to maintain the integrity of existing gameplay. However, you can easily enable it using the setStateEnabled function, giving you full control over when and where your characters can climb.

Climbing Initiates When

  • Surface slope exceeds the character's "standing angle".

  • The line connecting the impact point to the character's pelvis must fall within a -60° to 60° range. Further Details

  • The wall climbing speed is currently set at a fixed rate of 120 units per second. While this speed isn't customizable at the moment, we're considering making it adjustable in future updates.

  • Characters can navigate around edges during climbing, though extremely sharp edges may pose a challenge.

  • Players can exit the climbing state by using the "jump" action.

  • There's no cooldown for re-entering the climbing state, but characters will automatically rotate upon landing on a flat surface to prevent immediate re-entry.

Implementation

  • Simply attach the script to any object, and you're set! Find the script code below.
@Component
export default class Climb extends Script {
    /**
     * The function is called when the script is instantiated, before the first frame of the game
     */
    protected onStart(): void {
        if (SystemUtil.isServer()) {
            Player.onPlayerAdd.add((player: Player) => {
                player.onCharacterAdd.add(async (char: Character) => {
                    await char.asyncReady()
                    let genda = char.getDescription().advance.base.characterSetting.somatotype
                    if ((genda % 2) === 0) {
                        let newStance = char.loadStance("216081")
                        newStance.play()
                    } else {
                        let newStance = char.loadStance("234423")
                        newStance.play()
                    }
                    char.setStateEnabled(CharacterStateType.Climbing, true)
                })
            })
        }

    }
}

🏄 [NEW] Water Buoyancy

We're excited to introduce buoyancy simulation for water zone objects, significantly enhancing water physics to create more immersive and realistic aquatic environments in your games. This feature allows characters to naturally float when idle in water, adding depth to your underwater scenes.

  • Buoyancy is disabled by default to ensure seamless integration with existing projects.

  • Toggle the buoyancy effect on or off and adjust density settings to achieve perfect floating effects. When enabled, characters will automatically float upwards due to buoyancy forces upon entering water and ceasing movement.

  • Tailor the floating effects to precisely match your game's requirements and artistic vision.

  • The system operates on a 1:10 ratio, where 1 density unit equals 10 mass units. Higher density values result in stronger buoyancy effects, allowing for nuanced control over object behavior in water.

  • Objects with physics simulation enabled will exhibit varying buoyancy behaviors based on their unique sizes and shapes, enhancing the overall realism of your aquatic environments.

Note: While higher density values create more pronounced buoyancy effects, exercise care when setting extremely high densities, as this may lead to unexpected behavior, particularly with lighter objects.


🌤️ [NEW] SkyBox Disturbance

Clouds now drift realistically with wind simulation, bringing your skies to life! We've introduced a new disturbance feature for the component, allowing you to create stunning atmospheric effects:

  • Enhance your scenes with dynamic, ever-changing skies!

  • Toggle disturbance on/off as needed.

  • Easy-to-use controls to customize cloud movement intensity and density.


✨ [NEW] Matcap Material

We've introduced the Matcap texture feature to enhance lighting quality and material representation.

Standard Material (Left) vs Matcap (Right)

What is Matcap?

  • Matcap, short for Material Capture, is a rendering technique that breathes life into 3D objects by mimicking how light interacts with different materials.

  • At its core, Matcap uses a pre-rendered image as a lighting map. This image acts like a spherical environment map in camera space.

  • The magic happens when the 3D object's surface normals sample this map, applying the resulting colors to the model. The end result? A stunningly realistic simulation of complex lighting and material interactions.

Why Introduce Matcap?

  • Efficiency Boost: Matcap is a performance powerhouse. By using a pre-rendered texture, it sidesteps the need for heavy real-time lighting calculations, making it incredibly efficient.

  • Eye-Catching Visuals: Don't let its simplicity fool you. Matcap delivers impressive visual quality. Since the sampled texture comes from high-quality rendered results, you get top-notch visual fidelity without the computational cost.

Application

  • Drag and drop effects from the "Matcap" resource kit onto object materials.

  • Adjust "Vertex Intensity" and "Noise Texture Disturbance" for custom Matcap effects.


❄️ [NEW] Particle Effect Emitter

Introducing our new Particle Effect Emitter, a versatile tool for creating rich visual effects to enhance your game's vibe and visual appeal.

What is a Particle Emitter?

A particle emitter is a special effects unit that generates particles, offering rich visual expressions through customizable properties. Unlike pre-built effects, these custom emitters allow extensive modifications, including texture adjustments, providing greater flexibility for your project needs.

Creating Particle Emitters

  • Drag and drop emitters from Game Objects into your scene.

  • Fine-tune effects with adjustable properties for unique displays.

  • Modify auto-activation, color, brightness, lighting, and transparency in the panel.

  • Extensive customization including texture adjustments for truly unique effects.

Best Practices

  • For high particle counts, consider combining multiple particles into a single image to reduce rendering load.

  • Monitor particle lifecycles to prevent overcrowding and ensure smooth emission of new particles.

  • Particle emitters are versatile, suitable for effects like falling leaves, rain, snow, level-up animations, and footstep effects. For environmental effects like rain or snow, consider attaching the emitter to the camera rather than placing it in the world space for optimal results. (Script code as follows)

// Attach the particle emitter to the camera
@Component
export default class EffectExample extends Script {
    private character: Character;
    
    protected onStart(): void {

        let Effect = this.gameObject as ParticleEmitter;
        Player.asyncGetLocalPlayer().then((player) => {
            Effect.parent=Camera.currentCamera
            Effect.localTransform.position=new Vector(0,0,50)
        });
    }
}

🖥️ [Optimization] Major UI/UX Enhancements

To ensure a more user-friendly experience, we've implemented comprehensive UI enhancements for two of our most frequently used panels: the Object Manager and the Property Panel.

Object Manager Upgrades

  • Advanced Filtering: Sort objects by type, network status, and viewport settings.

  • Script Visibility: Icons now indicate objects with attached scripts.

  • Persistent States: Maintain selections and scroll positions across editor sessions.

  • Bulk Child Management: Expand/collapse multiple objects' children via right-click.

  • Consistent Naming: Unified preloaded and library resource naming.

  • Smarter Duplication: ALT+click copies now share parent with original.

  • Empty Node Support: Create standalone group nodes as empty parents.

  • Streamlined Creation: Centralized object and folder creation in the top-right menu.

  • Rename Workflow: Replaced single-click rename with right-click menu or F2 shortcut.

Property Panel Improvements

  • Optimized Layout: Improved design in main and UI editors.

  • Key Info Prominence: Essential details now at panel top.

  • Quick Expand/Collapse: One-click button for all properties.

  • Space Efficiency: Condensed property display to single lines.

  • Feature Adjustment: Temporarily removed auto-center and vertex snap. (planned for future update).


😎 Experience it now!

We've walked you through the exciting new features in this major update. Now it's your turn to bring these innovations to life in your virtual world!

Download and experience P12 Editor HERE.


About P12 Editor

P12 Editor is a game engine that not only empowers professional developers to rapidly create diverse types of games, but also enables ordinary users to build various maps, characters, props, and scenes. By simplifying the fundamentals of game development, P12 Editor unleashes creativity like never before.

With its intuitive interface, users can start creating immediately through simple drag-and-drop actions, no tutorials required. The engine comes packed with thousands of built-in assets and templates, providing instant inspiration at your fingertips.

Whether you're a seasoned developer or a curious beginner, P12 Editor offers the gateway to bring your gaming visions to life. Update now and start creating!

Join P12 Community

Website | Gallery | Twitter | Discord | YouTube

Subscribe to Project Twelve
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.