[email protected]
Twitter
LinkedIn
YouTube
GitHub
  • Serviços
  • Blog
  • Repositórios
  • GitHub
  • Currículo
    • LinkedIn
    • PDF
  • Contato
Produto foi adicionado ao seu carrinho

Carrinho

Curso de Babylon.js

Maio 1, 2015Ferramentasjfadev

Babylon.js É um framework completo para a criação de jogos 3D com a ajuda de HTML5 e WebGL basiado 100% em JavaScript, desenvolvido por programadores da Microsoft. Ele funciona corretamente no Firefox e Chrome e é compatível com as seguintes características:

  • Gráficas completas de cenas, luz, câmeras, materiais e texturas
  • Motor de Colisões
  • Seleção de cenas
  • Antialiasing
  • Motor de animações
  • Sistemas de partículas
  • Sprites e layers 2D
  • Mecanismos de otimização
  • Materiais padrão no nível do pixel
  • Nevoeiro
  • Blending alpha
  • Teste alfa
  • Billboarding
  • Modo de tela cheia
  • mapas de sombra e mapas de variação das sombras
  • Renderização de texturas
  • Texturas dinâmicas (canvas)
  • Texturas de vídeo
  • Câmeras (perspectivas e ortogonalidade)
  • Clonagem de malha
  • Malhas dinâmicas
  • Mapas de altura
  • As cenas da Babilônia podem tornar-se. OBJ, .FBX, .MXB
  • Exporta a Blender

 

Abaixo está um vídeo curso muito bem explicadinho em espanhol deOscar Uh Pérez (Develoteca) Isso nos dá todas as habilidades necessárias para colocar as mãos na massa.

 

 

Também deixo alguns tutoriais interessantes de Julian Chenard para começar com Balylon.js no link a seguir: http://www.pixelcodr.com/

 

Mais tutoriais: http://www.babylonjs-playground.com/

 

Repositório

Babylon.js é um poderoso, lindo, simples, e jogo aberto e motor de renderização embalado em um framework JavaScript amigável.
https://github.com/BabylonJS/Babylon.js
3,662 forks.
25,759 estrelas.
22 questões em aberto.

commits recentes:
  • Merge remote-tracking branch 'origin/master', Plataforma Babylon.js
  • consertar(mcp): fix registry/catalog drift and add drift guards to all graph MCP servers (#18676)## ProblemEach graph/GUI MCP server hand-maintains a block registry (or GUIcatalog) describing block ports / control properties. Nothing verifiedthese against the real Babylon definitions, so they silently drifted outof sync.The reported symptom: the **NME** server's `TextureBlock` only declareda `uv` input, so an agent could not wire an `ImageSourceBlock` into`TextureBlock.source` (`connect_blocks` rejected the `source` wirebecause the port didn't exist in the registry). This is a whole bug*class* — a missing/misnamed port means the agent either can't wire areal port, or produces a connection that is silently dropped on parse.## What this does### Registry/catalog fixes (real drift found)- **NME**: `TextureBlock` now exposes `source`/`layer`/`lod`; **19**entries corrected.- **NGE**: `VectorConverterBlock` port name corrected (`xyzw` → `"xyzw"`).- **NRGE**: **14** entries corrected (GPU renderer / shadow /post-process blocks).- **GUI**: `InputTextArea` no longer lists `TextBlock`-only props(`textHorizontalAlignment`/`textVerticalAlignment`/`lineSpacing`);`Scrollbar`'s non-existent `thumbColor` corrected to the real `color`property.- **Flow Graph**: 13 event blocks no longer list a non-existent `in`signal input; `JsonPointerParser` gains its`setFunction`/`getFunction`/`generateAnimationsFunction` outputs.- Smart Filters / NPE had no drift.### Permanent drift guards (`registryDrift.test.ts` per server)Each guard builds/parses the **real** Babylon definitions and fails onany port/property drift:- **NME / NGE / NPE**: construct via `GetClass`, compare input/outputport names.- **NRGE**: construct under a `NullEngine`/`FrameGraph` harness, compareport names.- **Flow Graph**: resolve each block via the async block factory,compare signal/data input/output names.- **Smart Filters**: parse annotated-GLSL blocks with`ImportCustomBlockDefinition`, construct hand-written TS blocks viatheir factory, compare connection point names.- **GUI**: construct the control, verify every catalog property nameexists as a real member.The guards are name-based (the wiring contract the agent relies on) andwere each verified non-vacuous (they fail on injected/real drift, passafter the fixes).### Docs- `.github/instructions/mcp-server-coverage.instructions.md` updated todescribe the per-server guards.## CI enforcement (already active — no extra wiring)These guards run on every PR through the existing monorepo pipeline — nonew job was needed:- `.azure-pipelines/ci-monorepo.yml` runs `npm run test:unit` (the "unittests" step), which is `vitest run –project=unit`.- The `unit` project includes`packages/**/test/unit/**/*.test.{ts,tsx}`, and all seven guards live at`packages/tools/*-mcp-server/test/unit/registryDrift.test.ts`, so theyare auto-discovered.- `test:unit` also runs `build:assets:smart-filters` first, so the SFcodegen blocks are available in CI (the guard passes without it too).Net effect: any future PR that renames or changes a block's ports (or aGUI control's properties) without updating the matching registry/catalogwill fail the existing unit-tests job — keeping the MCP metadata alwaysin sync with the real definitions.## Testing- All seven MCP server unit suites pass (257 tests), including the newguards.- Regenerated example/fixture JSON (FG examples, NGE `MathPipeline`, NMEfixtures) stays in sync with the corrected registries.- `prettier –check` and `eslint` clean on changed source files.Co-authored-by: Copilot App <223556219+[email protected]>———Co-autoria de: Copilot App <223556219+[email protected]>, GitHub
  • consertar(AudioV2): fix seek-after-resume offset and propagate live loop changes (#18678)Two related AudioV2 playback fixes, both surfaced by the audio-spriteworkflow in [Audio V2: Currículo() audio sprites notworking](https://forum.babylonjs.com/t/audio-v2-resume-audio-sprites-not-working/63743).—## 1. Seek after pause/resume was offset by the paused duration### ProblemSetting `currentTime` (seeking) on a sound that had been **paused andresumed** left playback out of sync: `currentTime` (and the next`pause()`) was offset by exactly the previously-paused duration.Stopping the sound "fixed" it only because a fresh instance was created.Reported: [post7](https://forum.babylonjs.com/t/audio-v2-resume-audio-sprites-not-working/63743/7).Repro: https://playground.babylonjs.com/#6FZCRD#3 — Play → seek givesdeviation `0`, but Play → Pause → Resume → seek gives deviation ≠ `0`.### Root causeInstances track played time across pause/resume cycles in`_enginePauseTime` (`pause()` does `_enginePauseTime += …`), whichfeeds the `currentTime` getter:“`tsreturn this._enginePauseTime + timeSinceLastStart + this._options.startOffset;“`It was only reset in the `currentTime` setter, incorrectly:- **`webAudioStaticSound.ts`** — the reset was guarded by `if (state ===Paused)`, but seeking a *playing* sound sets `_state = Stopped` first,so that branch never runs.- **`webAudioStreamingSound.ts`** — `_enginePauseTime` was **never resetat all** (same latent defect, masked while the sound was never paused).Pre-existing since the original AudioV2 implementation — not aregression from #18661 / #18669.### FixA seek assigns an absolute position fully described by `startOffset`, soreset `_enginePauseTime = 0` unconditionally in both instance`currentTime` setters. No change for sounds that were never paused(already `0`).—## 2. Live `loop` changes did not propagate to playing sounds### Problem`AbstractSound.loop` setter only wrote `_options.loop` and never reachedthe playing instance — unlike `loopStart`/`loopEnd` (fixed in #18669)and `pitch`/`playbackRate`. Toggling `loop` mid-playback was a silentno-op until stop + replay.### FixMirror the `loopStart`/`loopEnd` propagation pattern:- **`abstractSoundInstance.ts`** — declare an abstract `loop` instancesetter (shared by static + streaming).- **`webAudioStaticSound.ts`** — write to the live`AudioBufferSourceNode.loop`.- **`webAudioStreamingSound.ts`** — write to the live`HTMLMediaElement.loop`.- **`abstractSound.ts`** — `loop` setter forwards the value to itsinstances.—## teste- **Seek regression** — shared test in `abstractSound.currentTime.ts`(runs for **both** StaticSound and StreamingSound): play → pause ~0.5s →resume → seek to `2`, asserts `currentTime ≈ 2`. Without the fix itreturns ~`2.5`.- **Live loop regression** — `staticSound.playback.test.ts`: loop thewhole buffer, turn `loop` off at 2.5s, assert pulses `[1, 2, 3]` (nowrap). Without the fix the live loop keeps going and groups 1, 2 replay.- `prettier –check` clean on all changed files.> The full Playwright audio suite is browser-based and runs in CI. Localdeps weren't installed in this worktree, so the pre-commit tree-shakinggenerators were bypassed (`–no-verify`); no side-effect/manifest fileswere touched.———Co-autoria de: Copilot App <223556219+[email protected]>, GitHub
  • Atualização de versão 9.16.1, Plataforma Babylon.js
  • Acionador de patch, Plataforma Babylon.js
: 3D, Babylon.js, Framework, Game Engine, HTML5, JS, WebGL

Serviços

  • Excel2chatGPT $10.00
  • Bot Tok $45.00 $30.00
  • Correção de bugs em seu aplicativo PHP Symfony $70.00 / hora
  • Correção de bugs em seu site Wordpress $70.00 / hora
  • Automação de tarefas usando Node.js $70.00 / hora

Blog

  • Como pagar com um cartão bancário em Cryptomus
  • Guia completo para iniciantes para o Bot Tok: Comandos do terminal explicados
  • Melhor site para obter visualizações no TikTok
  • Jfa Whatsapp Chatbot
  • Bot do TikTok

Explorar

  • Livre 10 Curtidas no TikTok
  • Visualizações 2K gratuitas do TikTok
  • Livre 100 Favoritos do TikTok
  • Livre 300 Compartilhamentos do TikTok
  • Comprar visualizações do TikTok
  • Livre 100 Curtidas no Instagram
Twitter
LinkedIn
YouTube
GitHub

© 2013-2025 Jordi Fernandes Alves (@jfadev)