From b2149a48eb889c73f6b93af3de433bf1c394a659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Fri, 7 Feb 2025 16:33:53 +0100 Subject: [PATCH] Merge Sphinx translations with Weblate translations, sync classref --- classes/zh_CN/class_@gdscript.rst | 216 ++- classes/zh_CN/class_@globalscope.rst | 376 ++-- classes/zh_CN/class_aabb.rst | 112 +- classes/zh_CN/class_acceptdialog.rst | 4 +- classes/zh_CN/class_aescontext.rst | 4 +- classes/zh_CN/class_animatablebody2d.rst | 4 +- classes/zh_CN/class_animatablebody3d.rst | 4 +- classes/zh_CN/class_animatedsprite2d.rst | 11 +- classes/zh_CN/class_animatedsprite3d.rst | 11 +- classes/zh_CN/class_animatedtexture.rst | 4 +- classes/zh_CN/class_animation.rst | 158 +- classes/zh_CN/class_animationlibrary.rst | 18 +- classes/zh_CN/class_animationmixer.rst | 140 +- classes/zh_CN/class_animationnode.rst | 42 +- classes/zh_CN/class_animationnodeadd2.rst | 4 +- classes/zh_CN/class_animationnodeadd3.rst | 4 +- .../zh_CN/class_animationnodeanimation.rst | 25 +- classes/zh_CN/class_animationnodeblend2.rst | 4 +- classes/zh_CN/class_animationnodeblend3.rst | 4 +- .../zh_CN/class_animationnodeblendspace1d.rst | 4 +- .../zh_CN/class_animationnodeblendspace2d.rst | 4 +- .../zh_CN/class_animationnodeblendtree.rst | 4 +- .../zh_CN/class_animationnodeextension.rst | 94 + classes/zh_CN/class_animationnodeoneshot.rst | 8 +- classes/zh_CN/class_animationnodeoutput.rst | 4 +- .../zh_CN/class_animationnodestatemachine.rst | 8 +- ...lass_animationnodestatemachineplayback.rst | 8 +- ...ss_animationnodestatemachinetransition.rst | 10 +- classes/zh_CN/class_animationnodesub2.rst | 4 +- classes/zh_CN/class_animationnodesync.rst | 4 +- .../zh_CN/class_animationnodetimescale.rst | 4 +- classes/zh_CN/class_animationnodetimeseek.rst | 38 +- .../zh_CN/class_animationnodetransition.rst | 6 +- classes/zh_CN/class_animationplayer.rst | 154 +- classes/zh_CN/class_animationrootnode.rst | 4 +- classes/zh_CN/class_animationtree.rst | 4 +- classes/zh_CN/class_area2d.rst | 18 +- classes/zh_CN/class_area3d.rst | 18 +- classes/zh_CN/class_array.rst | 226 ++- classes/zh_CN/class_arraymesh.rst | 58 +- classes/zh_CN/class_arrayoccluder3d.rst | 4 +- classes/zh_CN/class_aspectratiocontainer.rst | 4 +- classes/zh_CN/class_astar2d.rst | 34 +- classes/zh_CN/class_astar3d.rst | 74 +- classes/zh_CN/class_astargrid2d.rst | 114 +- classes/zh_CN/class_atlastexture.rst | 10 +- classes/zh_CN/class_audiobuslayout.rst | 4 +- classes/zh_CN/class_audioeffect.rst | 4 +- classes/zh_CN/class_audioeffectamplify.rst | 31 +- .../class_audioeffectbandlimitfilter.rst | 4 +- .../zh_CN/class_audioeffectbandpassfilter.rst | 4 +- classes/zh_CN/class_audioeffectcapture.rst | 4 +- classes/zh_CN/class_audioeffectchorus.rst | 4 +- classes/zh_CN/class_audioeffectcompressor.rst | 4 +- classes/zh_CN/class_audioeffectdelay.rst | 4 +- classes/zh_CN/class_audioeffectdistortion.rst | 4 +- classes/zh_CN/class_audioeffecteq.rst | 4 +- classes/zh_CN/class_audioeffecteq10.rst | 4 +- classes/zh_CN/class_audioeffecteq21.rst | 4 +- classes/zh_CN/class_audioeffecteq6.rst | 4 +- classes/zh_CN/class_audioeffectfilter.rst | 32 +- .../zh_CN/class_audioeffecthardlimiter.rst | 4 +- .../zh_CN/class_audioeffecthighpassfilter.rst | 4 +- .../class_audioeffecthighshelffilter.rst | 4 +- classes/zh_CN/class_audioeffectinstance.rst | 4 +- classes/zh_CN/class_audioeffectlimiter.rst | 4 +- .../zh_CN/class_audioeffectlowpassfilter.rst | 4 +- .../zh_CN/class_audioeffectlowshelffilter.rst | 4 +- .../zh_CN/class_audioeffectnotchfilter.rst | 4 +- classes/zh_CN/class_audioeffectpanner.rst | 4 +- classes/zh_CN/class_audioeffectphaser.rst | 4 +- classes/zh_CN/class_audioeffectpitchshift.rst | 4 +- classes/zh_CN/class_audioeffectrecord.rst | 4 +- classes/zh_CN/class_audioeffectreverb.rst | 4 +- .../class_audioeffectspectrumanalyzer.rst | 10 +- ...ss_audioeffectspectrumanalyzerinstance.rst | 8 +- .../zh_CN/class_audioeffectstereoenhance.rst | 14 +- classes/zh_CN/class_audiolistener2d.rst | 4 +- classes/zh_CN/class_audiolistener3d.rst | 4 +- classes/zh_CN/class_audiosample.rst | 4 +- classes/zh_CN/class_audiosampleplayback.rst | 4 +- classes/zh_CN/class_audioserver.rst | 66 +- classes/zh_CN/class_audiostream.rst | 34 +- classes/zh_CN/class_audiostreamgenerator.rst | 26 +- .../class_audiostreamgeneratorplayback.rst | 4 +- .../zh_CN/class_audiostreaminteractive.rst | 10 +- classes/zh_CN/class_audiostreammicrophone.rst | 4 +- classes/zh_CN/class_audiostreammp3.rst | 51 +- classes/zh_CN/class_audiostreamoggvorbis.rst | 20 +- classes/zh_CN/class_audiostreamplayback.rst | 106 +- .../class_audiostreamplaybackinteractive.rst | 39 +- .../class_audiostreamplaybackoggvorbis.rst | 4 +- .../class_audiostreamplaybackplaylist.rst | 4 +- .../class_audiostreamplaybackpolyphonic.rst | 6 +- .../class_audiostreamplaybackresampled.rst | 4 +- .../class_audiostreamplaybacksynchronized.rst | 4 +- classes/zh_CN/class_audiostreamplayer.rst | 36 +- classes/zh_CN/class_audiostreamplayer2d.rst | 28 +- classes/zh_CN/class_audiostreamplayer3d.rst | 26 +- classes/zh_CN/class_audiostreamplaylist.rst | 4 +- classes/zh_CN/class_audiostreampolyphonic.rst | 4 +- classes/zh_CN/class_audiostreamrandomizer.rst | 4 +- .../zh_CN/class_audiostreamsynchronized.rst | 6 +- classes/zh_CN/class_audiostreamwav.rst | 83 +- classes/zh_CN/class_backbuffercopy.rst | 11 +- classes/zh_CN/class_basebutton.rst | 12 +- classes/zh_CN/class_basematerial3d.rst | 26 +- classes/zh_CN/class_basis.rst | 202 ++- classes/zh_CN/class_bitmap.rst | 4 +- classes/zh_CN/class_bone2d.rst | 4 +- classes/zh_CN/class_boneattachment3d.rst | 40 +- classes/zh_CN/class_bonemap.rst | 4 +- classes/zh_CN/class_bool.rst | 4 +- classes/zh_CN/class_boxcontainer.rst | 4 +- classes/zh_CN/class_boxmesh.rst | 4 +- classes/zh_CN/class_boxoccluder3d.rst | 4 +- classes/zh_CN/class_boxshape3d.rst | 4 +- classes/zh_CN/class_button.rst | 30 +- classes/zh_CN/class_buttongroup.rst | 4 +- classes/zh_CN/class_callable.rst | 80 +- classes/zh_CN/class_callbacktweener.rst | 10 +- classes/zh_CN/class_camera2d.rst | 4 +- classes/zh_CN/class_camera3d.rst | 4 +- classes/zh_CN/class_cameraattributes.rst | 10 +- .../zh_CN/class_cameraattributesphysical.rst | 6 +- .../zh_CN/class_cameraattributespractical.rst | 4 +- classes/zh_CN/class_camerafeed.rst | 215 ++- classes/zh_CN/class_cameraserver.rst | 10 +- classes/zh_CN/class_cameratexture.rst | 4 +- classes/zh_CN/class_canvasgroup.rst | 4 +- classes/zh_CN/class_canvasitem.rst | 100 +- classes/zh_CN/class_canvasitemmaterial.rst | 4 +- classes/zh_CN/class_canvaslayer.rst | 8 +- classes/zh_CN/class_canvasmodulate.rst | 11 +- classes/zh_CN/class_canvastexture.rst | 4 +- classes/zh_CN/class_capsulemesh.rst | 4 +- classes/zh_CN/class_capsuleshape2d.rst | 4 +- classes/zh_CN/class_capsuleshape3d.rst | 4 +- classes/zh_CN/class_centercontainer.rst | 4 +- classes/zh_CN/class_characterbody2d.rst | 14 +- classes/zh_CN/class_characterbody3d.rst | 4 +- classes/zh_CN/class_charfxtransform.rst | 32 +- classes/zh_CN/class_checkbox.rst | 4 +- classes/zh_CN/class_checkbutton.rst | 4 +- classes/zh_CN/class_circleshape2d.rst | 4 +- classes/zh_CN/class_classdb.rst | 115 +- classes/zh_CN/class_codeedit.rst | 117 +- classes/zh_CN/class_codehighlighter.rst | 4 +- classes/zh_CN/class_collisionobject2d.rst | 4 +- classes/zh_CN/class_collisionobject3d.rst | 4 +- classes/zh_CN/class_collisionpolygon2d.rst | 8 +- classes/zh_CN/class_collisionpolygon3d.rst | 62 +- classes/zh_CN/class_collisionshape2d.rst | 12 +- classes/zh_CN/class_collisionshape3d.rst | 54 +- classes/zh_CN/class_color.rst | 118 +- classes/zh_CN/class_colorpalette.rst | 67 + classes/zh_CN/class_colorpicker.rst | 46 +- classes/zh_CN/class_colorpickerbutton.rst | 4 +- classes/zh_CN/class_colorrect.rst | 4 +- classes/zh_CN/class_compositor.rst | 11 +- classes/zh_CN/class_compositoreffect.rst | 50 +- classes/zh_CN/class_compressedcubemap.rst | 4 +- .../zh_CN/class_compressedcubemaparray.rst | 4 +- classes/zh_CN/class_compressedtexture2d.rst | 4 +- .../zh_CN/class_compressedtexture2darray.rst | 4 +- classes/zh_CN/class_compressedtexture3d.rst | 4 +- .../zh_CN/class_compressedtexturelayered.rst | 4 +- classes/zh_CN/class_concavepolygonshape2d.rst | 4 +- classes/zh_CN/class_concavepolygonshape3d.rst | 4 +- classes/zh_CN/class_conetwistjoint3d.rst | 4 +- classes/zh_CN/class_configfile.rst | 4 +- classes/zh_CN/class_confirmationdialog.rst | 4 +- classes/zh_CN/class_container.rst | 4 +- classes/zh_CN/class_control.rst | 217 ++- classes/zh_CN/class_convexpolygonshape2d.rst | 4 +- classes/zh_CN/class_convexpolygonshape3d.rst | 4 +- classes/zh_CN/class_cpuparticles2d.rst | 368 ++-- classes/zh_CN/class_cpuparticles3d.rst | 133 +- classes/zh_CN/class_crypto.rst | 4 +- classes/zh_CN/class_cryptokey.rst | 4 +- classes/zh_CN/class_csgbox3d.rst | 4 +- classes/zh_CN/class_csgcombiner3d.rst | 4 +- classes/zh_CN/class_csgcylinder3d.rst | 4 +- classes/zh_CN/class_csgmesh3d.rst | 16 +- classes/zh_CN/class_csgpolygon3d.rst | 89 +- classes/zh_CN/class_csgprimitive3d.rst | 4 +- classes/zh_CN/class_csgshape3d.rst | 80 +- classes/zh_CN/class_csgsphere3d.rst | 4 +- classes/zh_CN/class_csgtorus3d.rst | 4 +- classes/zh_CN/class_csharpscript.rst | 4 +- classes/zh_CN/class_cubemap.rst | 38 +- classes/zh_CN/class_cubemaparray.rst | 12 +- classes/zh_CN/class_curve.rst | 90 +- classes/zh_CN/class_curve2d.rst | 4 +- classes/zh_CN/class_curve3d.rst | 37 +- classes/zh_CN/class_curvetexture.rst | 10 +- classes/zh_CN/class_curvexyztexture.rst | 14 +- classes/zh_CN/class_cylindermesh.rst | 4 +- classes/zh_CN/class_cylindershape3d.rst | 4 +- classes/zh_CN/class_dampedspringjoint2d.rst | 4 +- classes/zh_CN/class_decal.rst | 4 +- classes/zh_CN/class_dictionary.rst | 268 ++- classes/zh_CN/class_diraccess.rst | 100 +- classes/zh_CN/class_directionallight2d.rst | 4 +- classes/zh_CN/class_directionallight3d.rst | 4 +- classes/zh_CN/class_displayserver.rst | 468 ++++- classes/zh_CN/class_dtlsserver.rst | 18 +- classes/zh_CN/class_editorcommandpalette.rst | 4 +- .../zh_CN/class_editorcontextmenuplugin.rst | 233 +++ classes/zh_CN/class_editordebuggerplugin.rst | 62 +- classes/zh_CN/class_editordebuggersession.rst | 6 +- classes/zh_CN/class_editorexportplatform.rst | 485 ++++- .../class_editorexportplatformandroid.rst | 94 +- .../class_editorexportplatformextension.rst | 622 +++++++ .../zh_CN/class_editorexportplatformios.rst | 703 +++++++- .../class_editorexportplatformlinuxbsd.rst | 10 +- .../zh_CN/class_editorexportplatformmacos.rst | 45 +- .../zh_CN/class_editorexportplatformpc.rst | 4 +- .../zh_CN/class_editorexportplatformweb.rst | 20 +- .../class_editorexportplatformwindows.rst | 10 +- classes/zh_CN/class_editorexportplugin.rst | 74 +- classes/zh_CN/class_editorexportpreset.rst | 563 ++++++ classes/zh_CN/class_editorfeatureprofile.rst | 14 +- classes/zh_CN/class_editorfiledialog.rst | 64 +- classes/zh_CN/class_editorfilesystem.rst | 4 +- .../zh_CN/class_editorfilesystemdirectory.rst | 4 +- ...itorfilesystemimportformatsupportquery.rst | 6 +- classes/zh_CN/class_editorimportplugin.rst | 58 +- classes/zh_CN/class_editorinspector.rst | 48 +- classes/zh_CN/class_editorinspectorplugin.rst | 4 +- classes/zh_CN/class_editorinterface.rst | 318 ++-- classes/zh_CN/class_editornode3dgizmo.rst | 4 +- .../zh_CN/class_editornode3dgizmoplugin.rst | 6 +- classes/zh_CN/class_editorpaths.rst | 4 +- classes/zh_CN/class_editorplugin.rst | 102 +- classes/zh_CN/class_editorproperty.rst | 211 ++- .../class_editorresourceconversionplugin.rst | 4 +- classes/zh_CN/class_editorresourcepicker.rst | 4 +- classes/zh_CN/class_editorresourcepreview.rst | 12 +- .../class_editorresourcepreviewgenerator.rst | 22 +- .../class_editorresourcetooltipplugin.rst | 4 +- .../zh_CN/class_editorsceneformatimporter.rst | 82 +- .../class_editorsceneformatimporterblend.rst | 4 +- ...lass_editorsceneformatimporterfbx2gltf.rst | 4 +- .../class_editorsceneformatimportergltf.rst | 4 +- .../class_editorsceneformatimporterufbx.rst | 4 +- classes/zh_CN/class_editorscenepostimport.rst | 26 +- .../class_editorscenepostimportplugin.rst | 14 +- classes/zh_CN/class_editorscript.rst | 14 +- classes/zh_CN/class_editorscriptpicker.rst | 4 +- classes/zh_CN/class_editorselection.rst | 4 +- classes/zh_CN/class_editorsettings.rst | 1291 +++++++++++++- classes/zh_CN/class_editorspinslider.rst | 112 +- .../zh_CN/class_editorsyntaxhighlighter.rst | 6 +- classes/zh_CN/class_editortoaster.rst | 101 ++ .../class_editortranslationparserplugin.rst | 72 +- classes/zh_CN/class_editorundoredomanager.rst | 30 +- classes/zh_CN/class_editorvcsinterface.rst | 4 +- classes/zh_CN/class_encodedobjectasid.rst | 4 +- classes/zh_CN/class_enetconnection.rst | 4 +- classes/zh_CN/class_enetmultiplayerpeer.rst | 4 +- classes/zh_CN/class_enetpacketpeer.rst | 18 +- classes/zh_CN/class_engine.rst | 84 +- classes/zh_CN/class_enginedebugger.rst | 12 +- classes/zh_CN/class_engineprofiler.rst | 4 +- classes/zh_CN/class_environment.rst | 30 +- classes/zh_CN/class_expression.rst | 4 +- classes/zh_CN/class_externaltexture.rst | 118 ++ classes/zh_CN/class_fastnoiselite.rst | 10 +- classes/zh_CN/class_fbxdocument.rst | 4 +- classes/zh_CN/class_fbxstate.rst | 4 +- classes/zh_CN/class_fileaccess.rst | 406 +++-- classes/zh_CN/class_filedialog.rst | 133 +- classes/zh_CN/class_filesystemdock.rst | 4 +- classes/zh_CN/class_float.rst | 24 +- classes/zh_CN/class_flowcontainer.rst | 4 +- classes/zh_CN/class_fogmaterial.rst | 4 +- classes/zh_CN/class_fogvolume.rst | 4 +- classes/zh_CN/class_font.rst | 4 +- classes/zh_CN/class_fontfile.rst | 25 +- classes/zh_CN/class_fontvariation.rst | 4 +- classes/zh_CN/class_framebuffercacherd.rst | 4 +- classes/zh_CN/class_gdextension.rst | 4 +- classes/zh_CN/class_gdextensionmanager.rst | 32 +- classes/zh_CN/class_gdscript.rst | 10 +- .../zh_CN/class_gdscriptsyntaxhighlighter.rst | 48 + classes/zh_CN/class_generic6dofjoint3d.rst | 4 +- classes/zh_CN/class_geometry2d.rst | 75 +- classes/zh_CN/class_geometry3d.rst | 12 +- classes/zh_CN/class_geometryinstance3d.rst | 47 +- classes/zh_CN/class_gltfaccessor.rst | 126 +- classes/zh_CN/class_gltfanimation.rst | 12 +- classes/zh_CN/class_gltfbufferview.rst | 14 +- classes/zh_CN/class_gltfcamera.rst | 22 +- classes/zh_CN/class_gltfdocument.rst | 106 +- classes/zh_CN/class_gltfdocumentextension.rst | 212 ++- ...tfdocumentextensionconvertimportermesh.rst | 4 +- classes/zh_CN/class_gltflight.rst | 12 +- classes/zh_CN/class_gltfmesh.rst | 16 +- classes/zh_CN/class_gltfnode.rst | 80 +- .../zh_CN/class_gltfobjectmodelproperty.rst | 377 ++++ classes/zh_CN/class_gltfphysicsbody.rst | 14 +- classes/zh_CN/class_gltfphysicsshape.rst | 14 +- classes/zh_CN/class_gltfskeleton.rst | 12 +- classes/zh_CN/class_gltfskin.rst | 12 +- classes/zh_CN/class_gltfspecgloss.rst | 10 +- classes/zh_CN/class_gltfstate.rst | 240 +-- classes/zh_CN/class_gltftexture.rst | 6 +- classes/zh_CN/class_gltftexturesampler.rst | 8 +- classes/zh_CN/class_gpuparticles2d.rst | 84 +- classes/zh_CN/class_gpuparticles3d.rst | 84 +- .../zh_CN/class_gpuparticlesattractor3d.rst | 4 +- .../class_gpuparticlesattractorbox3d.rst | 4 +- .../class_gpuparticlesattractorsphere3d.rst | 4 +- ...ass_gpuparticlesattractorvectorfield3d.rst | 4 +- .../zh_CN/class_gpuparticlescollision3d.rst | 10 +- .../class_gpuparticlescollisionbox3d.rst | 4 +- ...ass_gpuparticlescollisionheightfield3d.rst | 70 +- .../class_gpuparticlescollisionsdf3d.rst | 4 +- .../class_gpuparticlescollisionsphere3d.rst | 4 +- classes/zh_CN/class_gradient.rst | 4 +- classes/zh_CN/class_gradienttexture1d.rst | 4 +- classes/zh_CN/class_gradienttexture2d.rst | 4 +- classes/zh_CN/class_graphedit.rst | 249 ++- classes/zh_CN/class_graphelement.rst | 4 +- classes/zh_CN/class_graphframe.rst | 4 +- classes/zh_CN/class_graphnode.rst | 6 +- classes/zh_CN/class_gridcontainer.rst | 4 +- classes/zh_CN/class_gridmap.rst | 4 +- classes/zh_CN/class_gridmapeditorplugin.rst | 165 ++ classes/zh_CN/class_groovejoint2d.rst | 4 +- classes/zh_CN/class_hashingcontext.rst | 4 +- classes/zh_CN/class_hboxcontainer.rst | 6 +- classes/zh_CN/class_heightmapshape3d.rst | 18 +- classes/zh_CN/class_hflowcontainer.rst | 4 +- classes/zh_CN/class_hingejoint3d.rst | 4 +- classes/zh_CN/class_hmaccontext.rst | 4 +- classes/zh_CN/class_hscrollbar.rst | 4 +- classes/zh_CN/class_hseparator.rst | 4 +- classes/zh_CN/class_hslider.rst | 4 +- classes/zh_CN/class_hsplitcontainer.rst | 4 +- classes/zh_CN/class_httpclient.rst | 50 +- classes/zh_CN/class_httprequest.rst | 94 +- classes/zh_CN/class_image.rst | 52 +- classes/zh_CN/class_imageformatloader.rst | 4 +- .../class_imageformatloaderextension.rst | 4 +- classes/zh_CN/class_imagetexture.rst | 20 +- classes/zh_CN/class_imagetexture3d.rst | 4 +- classes/zh_CN/class_imagetexturelayered.rst | 4 +- classes/zh_CN/class_immediatemesh.rst | 4 +- classes/zh_CN/class_importermesh.rst | 59 +- .../zh_CN/class_importermeshinstance3d.rst | 4 +- classes/zh_CN/class_input.rst | 48 +- classes/zh_CN/class_inputevent.rst | 10 +- classes/zh_CN/class_inputeventaction.rst | 4 +- classes/zh_CN/class_inputeventfromwindow.rst | 4 +- classes/zh_CN/class_inputeventgesture.rst | 4 +- .../zh_CN/class_inputeventjoypadbutton.rst | 4 +- .../zh_CN/class_inputeventjoypadmotion.rst | 4 +- classes/zh_CN/class_inputeventkey.rst | 4 +- .../zh_CN/class_inputeventmagnifygesture.rst | 4 +- classes/zh_CN/class_inputeventmidi.rst | 14 +- classes/zh_CN/class_inputeventmouse.rst | 4 +- classes/zh_CN/class_inputeventmousebutton.rst | 4 +- classes/zh_CN/class_inputeventmousemotion.rst | 22 +- classes/zh_CN/class_inputeventpangesture.rst | 4 +- classes/zh_CN/class_inputeventscreendrag.rst | 4 +- classes/zh_CN/class_inputeventscreentouch.rst | 4 +- classes/zh_CN/class_inputeventshortcut.rst | 4 +- .../zh_CN/class_inputeventwithmodifiers.rst | 8 +- classes/zh_CN/class_inputmap.rst | 8 +- classes/zh_CN/class_instanceplaceholder.rst | 4 +- classes/zh_CN/class_int.rst | 4 +- classes/zh_CN/class_intervaltweener.rst | 4 +- classes/zh_CN/class_ip.rst | 4 +- classes/zh_CN/class_itemlist.rst | 424 +++-- classes/zh_CN/class_javaclass.rst | 69 +- classes/zh_CN/class_javaclasswrapper.rst | 18 +- classes/zh_CN/class_javaobject.rst | 64 + classes/zh_CN/class_javascriptbridge.rst | 36 +- classes/zh_CN/class_javascriptobject.rst | 28 +- classes/zh_CN/class_jnisingleton.rst | 4 +- classes/zh_CN/class_joint2d.rst | 4 +- classes/zh_CN/class_joint3d.rst | 4 +- classes/zh_CN/class_json.rst | 78 +- classes/zh_CN/class_jsonrpc.rst | 4 +- classes/zh_CN/class_kinematiccollision2d.rst | 4 +- classes/zh_CN/class_kinematiccollision3d.rst | 4 +- classes/zh_CN/class_label.rst | 43 +- classes/zh_CN/class_label3d.rst | 8 +- classes/zh_CN/class_labelsettings.rst | 63 +- classes/zh_CN/class_light2d.rst | 4 +- classes/zh_CN/class_light3d.rst | 27 +- classes/zh_CN/class_lightmapgi.rst | 179 +- classes/zh_CN/class_lightmapgidata.rst | 72 +- classes/zh_CN/class_lightmapper.rst | 4 +- classes/zh_CN/class_lightmapperrd.rst | 8 +- classes/zh_CN/class_lightmapprobe.rst | 4 +- classes/zh_CN/class_lightoccluder2d.rst | 4 +- classes/zh_CN/class_line2d.rst | 6 +- classes/zh_CN/class_lineedit.rst | 260 ++- classes/zh_CN/class_linkbutton.rst | 20 +- classes/zh_CN/class_lookatmodifier3d.rst | 719 ++++++++ classes/zh_CN/class_mainloop.rst | 26 +- classes/zh_CN/class_margincontainer.rst | 4 +- classes/zh_CN/class_marker2d.rst | 4 +- classes/zh_CN/class_marker3d.rst | 4 +- classes/zh_CN/class_marshalls.rst | 4 +- classes/zh_CN/class_material.rst | 6 +- classes/zh_CN/class_menubar.rst | 16 +- classes/zh_CN/class_menubutton.rst | 4 +- classes/zh_CN/class_mesh.rst | 4 +- .../class_meshconvexdecompositionsettings.rst | 4 +- classes/zh_CN/class_meshdatatool.rst | 14 +- classes/zh_CN/class_meshinstance2d.rst | 4 +- classes/zh_CN/class_meshinstance3d.rst | 24 +- classes/zh_CN/class_meshlibrary.rst | 122 +- classes/zh_CN/class_meshtexture.rst | 4 +- classes/zh_CN/class_methodtweener.rst | 4 +- classes/zh_CN/class_missingnode.rst | 4 +- classes/zh_CN/class_missingresource.rst | 4 +- classes/zh_CN/class_mobilevrinterface.rst | 4 +- classes/zh_CN/class_moviewriter.rst | 4 +- classes/zh_CN/class_multimesh.rst | 177 +- classes/zh_CN/class_multimeshinstance2d.rst | 4 +- classes/zh_CN/class_multimeshinstance3d.rst | 4 +- classes/zh_CN/class_multiplayerapi.rst | 8 +- .../zh_CN/class_multiplayerapiextension.rst | 38 +- classes/zh_CN/class_multiplayerpeer.rst | 6 +- .../zh_CN/class_multiplayerpeerextension.rst | 4 +- classes/zh_CN/class_multiplayerspawner.rst | 8 +- .../zh_CN/class_multiplayersynchronizer.rst | 8 +- classes/zh_CN/class_mutex.rst | 4 +- classes/zh_CN/class_nativemenu.rst | 14 +- classes/zh_CN/class_navigationagent2d.rst | 4 +- classes/zh_CN/class_navigationagent3d.rst | 4 +- classes/zh_CN/class_navigationlink2d.rst | 4 +- classes/zh_CN/class_navigationlink3d.rst | 4 +- classes/zh_CN/class_navigationmesh.rst | 8 +- .../zh_CN/class_navigationmeshgenerator.rst | 4 +- ...ass_navigationmeshsourcegeometrydata2d.rst | 18 +- ...ass_navigationmeshsourcegeometrydata3d.rst | 18 +- classes/zh_CN/class_navigationobstacle2d.rst | 4 +- classes/zh_CN/class_navigationobstacle3d.rst | 4 +- .../class_navigationpathqueryparameters2d.rst | 12 +- .../class_navigationpathqueryparameters3d.rst | 12 +- .../class_navigationpathqueryresult2d.rst | 4 +- .../class_navigationpathqueryresult3d.rst | 4 +- classes/zh_CN/class_navigationpolygon.rst | 107 +- classes/zh_CN/class_navigationregion2d.rst | 52 +- classes/zh_CN/class_navigationregion3d.rst | 18 +- classes/zh_CN/class_navigationserver2d.rst | 82 +- classes/zh_CN/class_navigationserver3d.rst | 130 +- classes/zh_CN/class_ninepatchrect.rst | 4 +- classes/zh_CN/class_node.rst | 92 +- classes/zh_CN/class_node2d.rst | 42 +- classes/zh_CN/class_node3d.rst | 42 +- classes/zh_CN/class_node3dgizmo.rst | 4 +- classes/zh_CN/class_nodepath.rst | 70 +- classes/zh_CN/class_noise.rst | 4 +- classes/zh_CN/class_noisetexture2d.rst | 4 +- classes/zh_CN/class_noisetexture3d.rst | 4 +- classes/zh_CN/class_object.rst | 253 ++- classes/zh_CN/class_occluder3d.rst | 4 +- classes/zh_CN/class_occluderinstance3d.rst | 16 +- classes/zh_CN/class_occluderpolygon2d.rst | 4 +- .../zh_CN/class_offlinemultiplayerpeer.rst | 4 +- classes/zh_CN/class_oggpacketsequence.rst | 4 +- .../zh_CN/class_oggpacketsequenceplayback.rst | 4 +- classes/zh_CN/class_omnilight3d.rst | 6 +- classes/zh_CN/class_openxraction.rst | 4 +- .../class_openxractionbindingmodifier.rst | 33 + classes/zh_CN/class_openxractionmap.rst | 4 +- classes/zh_CN/class_openxractionset.rst | 4 +- .../class_openxranalogthresholdmodifier.rst | 124 ++ classes/zh_CN/class_openxrapiextension.rst | 400 ++++- classes/zh_CN/class_openxrbindingmodifier.rst | 78 + .../class_openxrbindingmodifiereditor.rst | 103 ++ .../zh_CN/class_openxrcompositionlayer.rst | 94 +- .../class_openxrcompositionlayercylinder.rst | 4 +- .../class_openxrcompositionlayerequirect.rst | 4 +- .../class_openxrcompositionlayerquad.rst | 4 +- .../zh_CN/class_openxrdpadbindingmodifier.rst | 223 +++ .../class_openxrextensionwrapperextension.rst | 66 +- classes/zh_CN/class_openxrhand.rst | 4 +- classes/zh_CN/class_openxrhapticbase.rst | 33 + classes/zh_CN/class_openxrhapticvibration.rst | 103 ++ .../zh_CN/class_openxrinteractionprofile.rst | 61 +- .../class_openxrinteractionprofileeditor.rst | 31 + ...ass_openxrinteractionprofileeditorbase.rst | 76 + ...class_openxrinteractionprofilemetadata.rst | 4 +- classes/zh_CN/class_openxrinterface.rst | 4 +- classes/zh_CN/class_openxripbinding.rst | 116 +- .../zh_CN/class_openxripbindingmodifier.rst | 33 + classes/zh_CN/class_openxrvisibilitymask.rst | 33 + classes/zh_CN/class_optimizedtranslation.rst | 8 +- classes/zh_CN/class_optionbutton.rst | 4 +- classes/zh_CN/class_ormmaterial3d.rst | 4 +- classes/zh_CN/class_os.rst | 348 +++- classes/zh_CN/class_packedbytearray.rst | 26 +- classes/zh_CN/class_packedcolorarray.rst | 18 +- classes/zh_CN/class_packeddatacontainer.rst | 23 +- .../zh_CN/class_packeddatacontainerref.rst | 31 +- classes/zh_CN/class_packedfloat32array.rst | 22 +- classes/zh_CN/class_packedfloat64array.rst | 22 +- classes/zh_CN/class_packedint32array.rst | 22 +- classes/zh_CN/class_packedint64array.rst | 30 +- classes/zh_CN/class_packedscene.rst | 73 +- classes/zh_CN/class_packedstringarray.rst | 18 +- classes/zh_CN/class_packedvector2array.rst | 24 +- classes/zh_CN/class_packedvector3array.rst | 18 +- classes/zh_CN/class_packedvector4array.rst | 24 +- classes/zh_CN/class_packetpeer.rst | 4 +- classes/zh_CN/class_packetpeerdtls.rst | 4 +- classes/zh_CN/class_packetpeerextension.rst | 4 +- classes/zh_CN/class_packetpeerstream.rst | 4 +- classes/zh_CN/class_packetpeerudp.rst | 37 +- classes/zh_CN/class_panel.rst | 4 +- classes/zh_CN/class_panelcontainer.rst | 6 +- classes/zh_CN/class_panoramaskymaterial.rst | 4 +- classes/zh_CN/class_parallax2d.rst | 4 +- classes/zh_CN/class_parallaxbackground.rst | 4 +- classes/zh_CN/class_parallaxlayer.rst | 4 +- .../zh_CN/class_particleprocessmaterial.rst | 87 +- classes/zh_CN/class_path2d.rst | 4 +- classes/zh_CN/class_path3d.rst | 4 +- classes/zh_CN/class_pathfollow2d.rst | 8 +- classes/zh_CN/class_pathfollow3d.rst | 8 +- classes/zh_CN/class_pckpacker.rst | 36 +- classes/zh_CN/class_performance.rst | 54 +- classes/zh_CN/class_physicalbone2d.rst | 4 +- classes/zh_CN/class_physicalbone3d.rst | 74 +- .../zh_CN/class_physicalbonesimulator3d.rst | 4 +- classes/zh_CN/class_physicalskymaterial.rst | 4 +- classes/zh_CN/class_physicsbody2d.rst | 4 +- classes/zh_CN/class_physicsbody3d.rst | 4 +- .../zh_CN/class_physicsdirectbodystate2d.rst | 4 +- ...lass_physicsdirectbodystate2dextension.rst | 4 +- .../zh_CN/class_physicsdirectbodystate3d.rst | 4 +- ...lass_physicsdirectbodystate3dextension.rst | 4 +- .../zh_CN/class_physicsdirectspacestate2d.rst | 20 +- ...ass_physicsdirectspacestate2dextension.rst | 4 +- .../zh_CN/class_physicsdirectspacestate3d.rst | 22 +- ...ass_physicsdirectspacestate3dextension.rst | 4 +- classes/zh_CN/class_physicsmaterial.rst | 4 +- .../class_physicspointqueryparameters2d.rst | 4 +- .../class_physicspointqueryparameters3d.rst | 4 +- .../class_physicsrayqueryparameters2d.rst | 4 +- .../class_physicsrayqueryparameters3d.rst | 4 +- classes/zh_CN/class_physicsserver2d.rst | 4 +- .../zh_CN/class_physicsserver2dextension.rst | 4 +- .../zh_CN/class_physicsserver2dmanager.rst | 4 +- classes/zh_CN/class_physicsserver3d.rst | 20 +- .../zh_CN/class_physicsserver3dextension.rst | 20 +- .../zh_CN/class_physicsserver3dmanager.rst | 4 +- ..._physicsserver3drenderingserverhandler.rst | 4 +- .../class_physicsshapequeryparameters2d.rst | 4 +- .../class_physicsshapequeryparameters3d.rst | 4 +- .../class_physicstestmotionparameters2d.rst | 4 +- .../class_physicstestmotionparameters3d.rst | 4 +- .../zh_CN/class_physicstestmotionresult2d.rst | 4 +- .../zh_CN/class_physicstestmotionresult3d.rst | 4 +- classes/zh_CN/class_pinjoint2d.rst | 4 +- classes/zh_CN/class_pinjoint3d.rst | 4 +- classes/zh_CN/class_placeholdercubemap.rst | 4 +- .../zh_CN/class_placeholdercubemaparray.rst | 4 +- classes/zh_CN/class_placeholdermaterial.rst | 4 +- classes/zh_CN/class_placeholdermesh.rst | 4 +- classes/zh_CN/class_placeholdertexture2d.rst | 4 +- .../zh_CN/class_placeholdertexture2darray.rst | 4 +- classes/zh_CN/class_placeholdertexture3d.rst | 4 +- .../zh_CN/class_placeholdertexturelayered.rst | 4 +- classes/zh_CN/class_plane.rst | 4 +- classes/zh_CN/class_planemesh.rst | 4 +- classes/zh_CN/class_pointlight2d.rst | 4 +- classes/zh_CN/class_pointmesh.rst | 4 +- classes/zh_CN/class_polygon2d.rst | 18 +- classes/zh_CN/class_polygonoccluder3d.rst | 4 +- classes/zh_CN/class_polygonpathfinder.rst | 62 +- classes/zh_CN/class_popup.rst | 4 +- classes/zh_CN/class_popupmenu.rst | 64 +- classes/zh_CN/class_popuppanel.rst | 20 +- .../class_portablecompressedtexture2d.rst | 34 +- classes/zh_CN/class_primitivemesh.rst | 8 +- classes/zh_CN/class_prismmesh.rst | 4 +- classes/zh_CN/class_proceduralskymaterial.rst | 4 +- classes/zh_CN/class_progressbar.rst | 4 +- classes/zh_CN/class_projection.rst | 53 +- classes/zh_CN/class_projectsettings.rst | 1236 +++++++++++-- classes/zh_CN/class_propertytweener.rst | 89 +- classes/zh_CN/class_quadmesh.rst | 4 +- classes/zh_CN/class_quadoccluder3d.rst | 4 +- classes/zh_CN/class_quaternion.rst | 16 +- classes/zh_CN/class_randomnumbergenerator.rst | 18 +- classes/zh_CN/class_range.rst | 6 +- classes/zh_CN/class_raycast2d.rst | 4 +- classes/zh_CN/class_raycast3d.rst | 18 +- classes/zh_CN/class_rdattachmentformat.rst | 4 +- classes/zh_CN/class_rdframebufferpass.rst | 4 +- .../zh_CN/class_rdpipelinecolorblendstate.rst | 4 +- ...ss_rdpipelinecolorblendstateattachment.rst | 4 +- .../class_rdpipelinedepthstencilstate.rst | 12 +- .../class_rdpipelinemultisamplestate.rst | 4 +- .../class_rdpipelinerasterizationstate.rst | 4 +- ...class_rdpipelinespecializationconstant.rst | 4 +- classes/zh_CN/class_rdsamplerstate.rst | 4 +- classes/zh_CN/class_rdshaderfile.rst | 4 +- classes/zh_CN/class_rdshadersource.rst | 8 +- classes/zh_CN/class_rdshaderspirv.rst | 4 +- classes/zh_CN/class_rdtextureformat.rst | 90 +- classes/zh_CN/class_rdtextureview.rst | 6 +- classes/zh_CN/class_rduniform.rst | 4 +- classes/zh_CN/class_rdvertexattribute.rst | 24 +- classes/zh_CN/class_rect2.rst | 18 +- classes/zh_CN/class_rect2i.rst | 4 +- classes/zh_CN/class_rectangleshape2d.rst | 4 +- classes/zh_CN/class_refcounted.rst | 6 +- classes/zh_CN/class_referencerect.rst | 4 +- classes/zh_CN/class_reflectionprobe.rst | 23 +- classes/zh_CN/class_regex.rst | 48 +- classes/zh_CN/class_regexmatch.rst | 4 +- classes/zh_CN/class_remotetransform2d.rst | 4 +- classes/zh_CN/class_remotetransform3d.rst | 4 +- classes/zh_CN/class_renderdata.rst | 6 +- classes/zh_CN/class_renderdataextension.rst | 4 +- classes/zh_CN/class_renderdatard.rst | 4 +- classes/zh_CN/class_renderingdevice.rst | 904 +++++++++- classes/zh_CN/class_renderingserver.rst | 827 +++++++-- classes/zh_CN/class_renderscenebuffers.rst | 4 +- .../class_renderscenebuffersconfiguration.rst | 61 +- .../class_renderscenebuffersextension.rst | 36 +- classes/zh_CN/class_renderscenebuffersrd.rst | 134 +- classes/zh_CN/class_renderscenedata.rst | 4 +- .../zh_CN/class_renderscenedataextension.rst | 4 +- classes/zh_CN/class_renderscenedatard.rst | 4 +- classes/zh_CN/class_resource.rst | 152 +- classes/zh_CN/class_resourceformatloader.rst | 8 +- classes/zh_CN/class_resourceformatsaver.rst | 4 +- classes/zh_CN/class_resourceimporter.rst | 4 +- .../zh_CN/class_resourceimporterbitmap.rst | 4 +- .../zh_CN/class_resourceimporterbmfont.rst | 4 +- .../class_resourceimportercsvtranslation.rst | 4 +- .../class_resourceimporterdynamicfont.rst | 38 +- classes/zh_CN/class_resourceimporterimage.rst | 4 +- .../zh_CN/class_resourceimporterimagefont.rst | 4 +- .../class_resourceimporterlayeredtexture.rst | 12 +- classes/zh_CN/class_resourceimportermp3.rst | 16 +- classes/zh_CN/class_resourceimporterobj.rst | 94 +- .../zh_CN/class_resourceimporteroggvorbis.rst | 36 +- classes/zh_CN/class_resourceimporterscene.rst | 18 +- .../class_resourceimportershaderfile.rst | 4 +- .../zh_CN/class_resourceimportertexture.rst | 18 +- .../class_resourceimportertextureatlas.rst | 4 +- classes/zh_CN/class_resourceimporterwav.rst | 34 +- classes/zh_CN/class_resourceloader.rst | 58 +- classes/zh_CN/class_resourcepreloader.rst | 4 +- classes/zh_CN/class_resourcesaver.rst | 18 +- classes/zh_CN/class_resourceuid.rst | 8 +- classes/zh_CN/class_retargetmodifier3d.rst | 261 +++ classes/zh_CN/class_ribbontrailmesh.rst | 6 +- classes/zh_CN/class_richtexteffect.rst | 4 +- classes/zh_CN/class_richtextlabel.rst | 202 ++- classes/zh_CN/class_rid.rst | 4 +- classes/zh_CN/class_rigidbody2d.rst | 14 +- classes/zh_CN/class_rigidbody3d.rst | 14 +- classes/zh_CN/class_rootmotionview.rst | 4 +- classes/zh_CN/class_scenemultiplayer.rst | 8 +- .../zh_CN/class_scenereplicationconfig.rst | 4 +- classes/zh_CN/class_scenestate.rst | 4 +- classes/zh_CN/class_scenetree.rst | 4 +- classes/zh_CN/class_scenetreetimer.rst | 4 +- classes/zh_CN/class_script.rst | 18 +- classes/zh_CN/class_scriptcreatedialog.rst | 4 +- classes/zh_CN/class_scripteditor.rst | 60 +- classes/zh_CN/class_scripteditorbase.rst | 4 +- classes/zh_CN/class_scriptextension.rst | 20 +- classes/zh_CN/class_scriptlanguage.rst | 4 +- .../zh_CN/class_scriptlanguageextension.rst | 34 +- classes/zh_CN/class_scrollbar.rst | 4 +- classes/zh_CN/class_scrollcontainer.rst | 45 +- classes/zh_CN/class_segmentshape2d.rst | 4 +- classes/zh_CN/class_semaphore.rst | 22 +- classes/zh_CN/class_separationrayshape2d.rst | 4 +- classes/zh_CN/class_separationrayshape3d.rst | 4 +- classes/zh_CN/class_separator.rst | 4 +- classes/zh_CN/class_shader.rst | 44 +- classes/zh_CN/class_shaderglobalsoverride.rst | 4 +- classes/zh_CN/class_shaderinclude.rst | 4 +- classes/zh_CN/class_shaderincludedb.rst | 88 + classes/zh_CN/class_shadermaterial.rst | 4 +- classes/zh_CN/class_shape2d.rst | 4 +- classes/zh_CN/class_shape3d.rst | 4 +- classes/zh_CN/class_shapecast2d.rst | 32 +- classes/zh_CN/class_shapecast3d.rst | 32 +- classes/zh_CN/class_shortcut.rst | 10 +- classes/zh_CN/class_signal.rst | 34 +- classes/zh_CN/class_skeleton2d.rst | 4 +- classes/zh_CN/class_skeleton3d.rst | 246 ++- classes/zh_CN/class_skeletonik3d.rst | 6 +- .../zh_CN/class_skeletonmodification2d.rst | 4 +- .../class_skeletonmodification2dccdik.rst | 4 +- .../class_skeletonmodification2dfabrik.rst | 4 +- .../class_skeletonmodification2djiggle.rst | 4 +- .../class_skeletonmodification2dlookat.rst | 4 +- ...ss_skeletonmodification2dphysicalbones.rst | 4 +- ...lass_skeletonmodification2dstackholder.rst | 4 +- .../class_skeletonmodification2dtwoboneik.rst | 6 +- .../class_skeletonmodificationstack2d.rst | 4 +- classes/zh_CN/class_skeletonmodifier3d.rst | 71 +- classes/zh_CN/class_skeletonprofile.rst | 4 +- .../zh_CN/class_skeletonprofilehumanoid.rst | 10 +- classes/zh_CN/class_skin.rst | 4 +- classes/zh_CN/class_skinreference.rst | 4 +- classes/zh_CN/class_sky.rst | 4 +- classes/zh_CN/class_slider.rst | 8 +- classes/zh_CN/class_sliderjoint3d.rst | 4 +- classes/zh_CN/class_softbody3d.rst | 52 +- classes/zh_CN/class_spheremesh.rst | 4 +- classes/zh_CN/class_sphereoccluder3d.rst | 4 +- classes/zh_CN/class_sphereshape3d.rst | 4 +- classes/zh_CN/class_spinbox.rst | 446 ++++- classes/zh_CN/class_splitcontainer.rst | 207 ++- classes/zh_CN/class_spotlight3d.rst | 6 +- classes/zh_CN/class_springarm3d.rst | 11 +- classes/zh_CN/class_springbonecollision3d.rst | 159 ++ .../class_springbonecollisioncapsule3d.rst | 103 ++ .../class_springbonecollisionplane3d.rst | 31 + .../class_springbonecollisionsphere3d.rst | 84 + classes/zh_CN/class_springbonesimulator3d.rst | 1299 ++++++++++++++ classes/zh_CN/class_sprite2d.rst | 14 +- classes/zh_CN/class_sprite3d.rst | 4 +- classes/zh_CN/class_spritebase3d.rst | 12 +- classes/zh_CN/class_spriteframes.rst | 18 +- classes/zh_CN/class_standardmaterial3d.rst | 4 +- classes/zh_CN/class_staticbody2d.rst | 4 +- classes/zh_CN/class_staticbody3d.rst | 4 +- classes/zh_CN/class_statusindicator.rst | 4 +- classes/zh_CN/class_streampeer.rst | 32 +- classes/zh_CN/class_streampeerbuffer.rst | 4 +- classes/zh_CN/class_streampeerextension.rst | 4 +- classes/zh_CN/class_streampeergzip.rst | 4 +- classes/zh_CN/class_streampeertcp.rst | 4 +- classes/zh_CN/class_streampeertls.rst | 4 +- classes/zh_CN/class_string.rst | 226 ++- classes/zh_CN/class_stringname.rst | 217 ++- classes/zh_CN/class_stylebox.rst | 4 +- classes/zh_CN/class_styleboxempty.rst | 4 +- classes/zh_CN/class_styleboxflat.rst | 12 +- classes/zh_CN/class_styleboxline.rst | 4 +- classes/zh_CN/class_styleboxtexture.rst | 10 +- classes/zh_CN/class_subtweentweener.rst | 62 + classes/zh_CN/class_subviewport.rst | 10 +- classes/zh_CN/class_subviewportcontainer.rst | 27 +- classes/zh_CN/class_surfacetool.rst | 22 +- classes/zh_CN/class_syntaxhighlighter.rst | 14 +- classes/zh_CN/class_systemfont.rst | 23 +- classes/zh_CN/class_tabbar.rst | 4 +- classes/zh_CN/class_tabcontainer.rst | 4 +- classes/zh_CN/class_tcpserver.rst | 4 +- classes/zh_CN/class_textedit.rst | 153 +- classes/zh_CN/class_textline.rst | 4 +- classes/zh_CN/class_textmesh.rst | 8 +- classes/zh_CN/class_textparagraph.rst | 25 +- classes/zh_CN/class_textserver.rst | 113 +- classes/zh_CN/class_textserveradvanced.rst | 4 +- classes/zh_CN/class_textserverdummy.rst | 4 +- classes/zh_CN/class_textserverextension.rst | 84 +- classes/zh_CN/class_textserverfallback.rst | 4 +- classes/zh_CN/class_textservermanager.rst | 4 +- classes/zh_CN/class_texture.rst | 4 +- classes/zh_CN/class_texture2d.rst | 12 +- classes/zh_CN/class_texture2darray.rst | 4 +- classes/zh_CN/class_texture2darrayrd.rst | 4 +- classes/zh_CN/class_texture2drd.rst | 4 +- classes/zh_CN/class_texture3d.rst | 4 +- classes/zh_CN/class_texture3drd.rst | 4 +- classes/zh_CN/class_texturebutton.rst | 18 +- classes/zh_CN/class_texturecubemaparrayrd.rst | 4 +- classes/zh_CN/class_texturecubemaprd.rst | 4 +- classes/zh_CN/class_texturelayered.rst | 4 +- classes/zh_CN/class_texturelayeredrd.rst | 4 +- classes/zh_CN/class_textureprogressbar.rst | 14 +- classes/zh_CN/class_texturerect.rst | 4 +- classes/zh_CN/class_theme.rst | 4 +- classes/zh_CN/class_themedb.rst | 4 +- classes/zh_CN/class_thread.rst | 4 +- classes/zh_CN/class_tiledata.rst | 214 ++- classes/zh_CN/class_tilemap.rst | 64 +- classes/zh_CN/class_tilemaplayer.rst | 128 +- classes/zh_CN/class_tilemappattern.rst | 4 +- classes/zh_CN/class_tileset.rst | 62 +- classes/zh_CN/class_tilesetatlassource.rst | 6 +- .../class_tilesetscenescollectionsource.rst | 4 +- classes/zh_CN/class_tilesetsource.rst | 4 +- classes/zh_CN/class_time.rst | 4 +- classes/zh_CN/class_timer.rst | 59 +- classes/zh_CN/class_tlsoptions.rst | 4 +- classes/zh_CN/class_torusmesh.rst | 4 +- classes/zh_CN/class_touchscreenbutton.rst | 10 +- classes/zh_CN/class_transform2d.rst | 76 +- classes/zh_CN/class_transform3d.rst | 60 +- classes/zh_CN/class_translation.rst | 4 +- classes/zh_CN/class_translationdomain.rst | 352 ++++ classes/zh_CN/class_translationserver.rst | 84 +- classes/zh_CN/class_tree.rst | 93 +- classes/zh_CN/class_treeitem.rst | 92 +- classes/zh_CN/class_trianglemesh.rst | 4 +- classes/zh_CN/class_tubetrailmesh.rst | 6 +- classes/zh_CN/class_tween.rst | 143 +- classes/zh_CN/class_tweener.rst | 8 +- classes/zh_CN/class_udpserver.rst | 52 +- classes/zh_CN/class_undoredo.rst | 4 +- classes/zh_CN/class_uniformsetcacherd.rst | 4 +- classes/zh_CN/class_upnp.rst | 40 +- classes/zh_CN/class_upnpdevice.rst | 4 +- classes/zh_CN/class_variant.rst | 4 +- classes/zh_CN/class_vboxcontainer.rst | 4 +- classes/zh_CN/class_vector2.rst | 55 +- classes/zh_CN/class_vector2i.rst | 61 +- classes/zh_CN/class_vector3.rst | 51 +- classes/zh_CN/class_vector3i.rst | 65 +- classes/zh_CN/class_vector4.rst | 61 +- classes/zh_CN/class_vector4i.rst | 73 +- classes/zh_CN/class_vehiclebody3d.rst | 4 +- classes/zh_CN/class_vehiclewheel3d.rst | 56 +- classes/zh_CN/class_vflowcontainer.rst | 4 +- classes/zh_CN/class_videostream.rst | 4 +- classes/zh_CN/class_videostreamplayback.rst | 10 +- classes/zh_CN/class_videostreamplayer.rst | 4 +- classes/zh_CN/class_videostreamtheora.rst | 4 +- classes/zh_CN/class_viewport.rst | 453 +++-- classes/zh_CN/class_viewporttexture.rst | 21 +- .../zh_CN/class_visibleonscreenenabler2d.rst | 4 +- .../zh_CN/class_visibleonscreenenabler3d.rst | 4 +- .../zh_CN/class_visibleonscreennotifier2d.rst | 4 +- .../zh_CN/class_visibleonscreennotifier3d.rst | 4 +- classes/zh_CN/class_visualinstance3d.rst | 6 +- classes/zh_CN/class_visualshader.rst | 4 +- classes/zh_CN/class_visualshadernode.rst | 4 +- .../zh_CN/class_visualshadernodebillboard.rst | 4 +- .../class_visualshadernodebooleanconstant.rst | 4 +- ...class_visualshadernodebooleanparameter.rst | 4 +- classes/zh_CN/class_visualshadernodeclamp.rst | 4 +- .../class_visualshadernodecolorconstant.rst | 4 +- .../zh_CN/class_visualshadernodecolorfunc.rst | 47 +- .../zh_CN/class_visualshadernodecolorop.rst | 4 +- .../class_visualshadernodecolorparameter.rst | 4 +- .../zh_CN/class_visualshadernodecomment.rst | 4 +- .../zh_CN/class_visualshadernodecompare.rst | 8 +- .../zh_CN/class_visualshadernodeconstant.rst | 4 +- .../zh_CN/class_visualshadernodecubemap.rst | 12 +- ...class_visualshadernodecubemapparameter.rst | 4 +- .../class_visualshadernodecurvetexture.rst | 4 +- .../class_visualshadernodecurvexyztexture.rst | 4 +- .../zh_CN/class_visualshadernodecustom.rst | 4 +- .../class_visualshadernodederivativefunc.rst | 6 +- .../class_visualshadernodedeterminant.rst | 4 +- .../class_visualshadernodedistancefade.rst | 4 +- .../class_visualshadernodedotproduct.rst | 4 +- .../class_visualshadernodeexpression.rst | 4 +- .../class_visualshadernodefaceforward.rst | 4 +- .../class_visualshadernodefloatconstant.rst | 4 +- .../zh_CN/class_visualshadernodefloatfunc.rst | 4 +- .../zh_CN/class_visualshadernodefloatop.rst | 4 +- .../class_visualshadernodefloatparameter.rst | 4 +- classes/zh_CN/class_visualshadernodeframe.rst | 4 +- .../zh_CN/class_visualshadernodefresnel.rst | 4 +- ...class_visualshadernodeglobalexpression.rst | 4 +- .../zh_CN/class_visualshadernodegroupbase.rst | 4 +- classes/zh_CN/class_visualshadernodeif.rst | 4 +- classes/zh_CN/class_visualshadernodeinput.rst | 4 +- .../class_visualshadernodeintconstant.rst | 4 +- .../zh_CN/class_visualshadernodeintfunc.rst | 4 +- classes/zh_CN/class_visualshadernodeintop.rst | 4 +- .../class_visualshadernodeintparameter.rst | 61 +- classes/zh_CN/class_visualshadernodeis.rst | 4 +- ...class_visualshadernodelinearscenedepth.rst | 4 +- classes/zh_CN/class_visualshadernodemix.rst | 4 +- .../class_visualshadernodemultiplyadd.rst | 4 +- .../class_visualshadernodeouterproduct.rst | 4 +- .../zh_CN/class_visualshadernodeoutput.rst | 4 +- .../zh_CN/class_visualshadernodeparameter.rst | 4 +- .../class_visualshadernodeparameterref.rst | 4 +- ...ss_visualshadernodeparticleaccelerator.rst | 4 +- ...ass_visualshadernodeparticleboxemitter.rst | 4 +- ...s_visualshadernodeparticleconevelocity.rst | 4 +- .../class_visualshadernodeparticleemit.rst | 4 +- .../class_visualshadernodeparticleemitter.rst | 4 +- ...ss_visualshadernodeparticlemeshemitter.rst | 4 +- ...lshadernodeparticlemultiplybyaxisangle.rst | 4 +- .../class_visualshadernodeparticleoutput.rst | 4 +- ...ass_visualshadernodeparticlerandomness.rst | 4 +- ...ss_visualshadernodeparticleringemitter.rst | 4 +- ..._visualshadernodeparticlesphereemitter.rst | 4 +- .../class_visualshadernodeproximityfade.rst | 4 +- .../class_visualshadernoderandomrange.rst | 4 +- classes/zh_CN/class_visualshadernoderemap.rst | 119 +- .../zh_CN/class_visualshadernodereroute.rst | 4 +- .../class_visualshadernoderesizablebase.rst | 4 +- .../class_visualshadernoderotationbyaxis.rst | 4 +- .../zh_CN/class_visualshadernodesample3d.rst | 4 +- ...visualshadernodescreennormalworldspace.rst | 4 +- .../class_visualshadernodescreenuvtosdf.rst | 4 +- .../class_visualshadernodesdfraymarch.rst | 4 +- .../class_visualshadernodesdftoscreenuv.rst | 4 +- .../class_visualshadernodesmoothstep.rst | 4 +- classes/zh_CN/class_visualshadernodestep.rst | 4 +- .../zh_CN/class_visualshadernodeswitch.rst | 4 +- .../zh_CN/class_visualshadernodetexture.rst | 4 +- .../class_visualshadernodetexture2darray.rst | 12 +- ...isualshadernodetexture2darrayparameter.rst | 4 +- ...ass_visualshadernodetexture2dparameter.rst | 4 +- .../zh_CN/class_visualshadernodetexture3d.rst | 4 +- ...ass_visualshadernodetexture3dparameter.rst | 4 +- ...class_visualshadernodetextureparameter.rst | 4 +- ...ualshadernodetextureparametertriplanar.rst | 4 +- .../class_visualshadernodetexturesdf.rst | 4 +- ...class_visualshadernodetexturesdfnormal.rst | 4 +- ...class_visualshadernodetransformcompose.rst | 4 +- ...lass_visualshadernodetransformconstant.rst | 4 +- ...ass_visualshadernodetransformdecompose.rst | 4 +- .../class_visualshadernodetransformfunc.rst | 4 +- .../class_visualshadernodetransformop.rst | 4 +- ...ass_visualshadernodetransformparameter.rst | 4 +- ...class_visualshadernodetransformvecmult.rst | 4 +- .../class_visualshadernodeuintconstant.rst | 4 +- .../zh_CN/class_visualshadernodeuintfunc.rst | 4 +- .../zh_CN/class_visualshadernodeuintop.rst | 4 +- .../class_visualshadernodeuintparameter.rst | 4 +- .../zh_CN/class_visualshadernodeuvfunc.rst | 4 +- .../class_visualshadernodeuvpolarcoord.rst | 4 +- .../zh_CN/class_visualshadernodevarying.rst | 4 +- .../class_visualshadernodevaryinggetter.rst | 4 +- .../class_visualshadernodevaryingsetter.rst | 4 +- .../class_visualshadernodevec2constant.rst | 4 +- .../class_visualshadernodevec2parameter.rst | 4 +- .../class_visualshadernodevec3constant.rst | 4 +- .../class_visualshadernodevec3parameter.rst | 4 +- .../class_visualshadernodevec4constant.rst | 4 +- .../class_visualshadernodevec4parameter.rst | 4 +- .../class_visualshadernodevectorbase.rst | 4 +- .../class_visualshadernodevectorcompose.rst | 4 +- .../class_visualshadernodevectordecompose.rst | 4 +- .../class_visualshadernodevectordistance.rst | 4 +- .../class_visualshadernodevectorfunc.rst | 4 +- .../zh_CN/class_visualshadernodevectorlen.rst | 4 +- .../zh_CN/class_visualshadernodevectorop.rst | 4 +- .../class_visualshadernodevectorrefract.rst | 4 +- ...visualshadernodeworldpositionfromdepth.rst | 4 +- classes/zh_CN/class_voxelgi.rst | 4 +- classes/zh_CN/class_voxelgidata.rst | 4 +- classes/zh_CN/class_vscrollbar.rst | 4 +- classes/zh_CN/class_vseparator.rst | 4 +- classes/zh_CN/class_vslider.rst | 4 +- classes/zh_CN/class_vsplitcontainer.rst | 4 +- classes/zh_CN/class_weakref.rst | 4 +- classes/zh_CN/class_webrtcdatachannel.rst | 4 +- .../class_webrtcdatachannelextension.rst | 4 +- classes/zh_CN/class_webrtcmultiplayerpeer.rst | 4 +- classes/zh_CN/class_webrtcpeerconnection.rst | 4 +- .../class_webrtcpeerconnectionextension.rst | 4 +- .../zh_CN/class_websocketmultiplayerpeer.rst | 8 +- classes/zh_CN/class_websocketpeer.rst | 35 +- classes/zh_CN/class_webxrinterface.rst | 6 +- classes/zh_CN/class_window.rst | 182 +- classes/zh_CN/class_workerthreadpool.rst | 4 +- classes/zh_CN/class_world2d.rst | 4 +- classes/zh_CN/class_world3d.rst | 4 +- classes/zh_CN/class_worldboundaryshape2d.rst | 4 +- classes/zh_CN/class_worldboundaryshape3d.rst | 8 +- classes/zh_CN/class_worldenvironment.rst | 4 +- classes/zh_CN/class_x509certificate.rst | 4 +- classes/zh_CN/class_xmlparser.rst | 4 +- classes/zh_CN/class_xranchor3d.rst | 4 +- classes/zh_CN/class_xrbodymodifier3d.rst | 4 +- classes/zh_CN/class_xrbodytracker.rst | 4 +- classes/zh_CN/class_xrcamera3d.rst | 8 +- classes/zh_CN/class_xrcontroller3d.rst | 14 +- classes/zh_CN/class_xrcontrollertracker.rst | 4 +- classes/zh_CN/class_xrfacemodifier3d.rst | 4 +- classes/zh_CN/class_xrfacetracker.rst | 4 +- classes/zh_CN/class_xrhandmodifier3d.rst | 4 +- classes/zh_CN/class_xrhandtracker.rst | 14 +- classes/zh_CN/class_xrinterface.rst | 14 +- classes/zh_CN/class_xrinterfaceextension.rst | 4 +- classes/zh_CN/class_xrnode3d.rst | 6 +- classes/zh_CN/class_xrorigin3d.rst | 4 +- classes/zh_CN/class_xrpose.rst | 14 +- classes/zh_CN/class_xrpositionaltracker.rst | 4 +- classes/zh_CN/class_xrserver.rst | 39 +- classes/zh_CN/class_xrtracker.rst | 4 +- classes/zh_CN/class_xrvrs.rst | 33 +- classes/zh_CN/class_zippacker.rst | 13 +- classes/zh_CN/class_zipreader.rst | 41 +- classes/zh_CN/index.rst | 38 +- .../about/complying_with_licenses.po | 2 +- .../po/cs/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/cs/LC_MESSAGES/about/faq.po | 12 +- .../po/cs/LC_MESSAGES/about/introduction.po | 2 +- .../cs/LC_MESSAGES/about/list_of_features.po | 96 +- .../po/cs/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 2 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/cs/LC_MESSAGES/community/channels.po | 2 +- .../po/cs/LC_MESSAGES/community/tutorials.po | 8 +- .../best_practices_for_engine_contributors.po | 2 +- .../development/code_style_guidelines.po | 2 +- .../compiling/compiling_for_android.po | 2 +- .../compiling/compiling_for_ios.po | 2 +- .../compiling/compiling_for_linuxbsd.po | 2 +- .../compiling/compiling_for_macos.po | 2 +- .../compiling/compiling_for_web.po | 2 +- .../compiling/compiling_for_windows.po | 2 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 2 +- .../compiling/optimizing_for_size.po | 32 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 2 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 6 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 2 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 2 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 2 +- .../core_and_modules/core_types.po | 2 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 2 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 5 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 2 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 2 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 2 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 2 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 2 +- .../contributing/how_to_contribute.po | 2 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 2 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 2 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 2 +- .../first_2d_game/02.player_scene.po | 19 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 2 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 2 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 11 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 2 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/cs/LC_MESSAGES/index.po | 2 +- sphinx/po/cs/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../cs/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 5 +- .../tutorials/2d/2d_sprite_animation.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 2 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 2 +- .../po/cs/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 51 + .../tutorials/2d/particle_systems_2d.po | 41 +- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 5 +- .../tutorials/3d/3d_rendering_limitations.po | 2 +- .../po/cs/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../cs/LC_MESSAGES/tutorials/3d/csg_tools.po | 5 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/cs/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 2 +- .../cs/LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../cs/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 138 -- .../assets_pipeline/escn_exporter/index.po | 46 +- .../assets_pipeline/escn_exporter/lights.po | 68 - .../assets_pipeline/escn_exporter/material.po | 111 -- .../assets_pipeline/escn_exporter/mesh.po | 53 - .../assets_pipeline/escn_exporter/physics.po | 101 -- .../assets_pipeline/escn_exporter/skeleton.po | 70 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 11 +- .../importing_3d_scenes/available_formats.po | 2 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 2 +- .../assets_pipeline/importing_images.po | 2 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../cs/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 2 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 2 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 2 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 21 +- .../tutorials/editor/external_editor.po | 5 +- .../cs/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 2 +- .../tutorials/editor/project_manager.po | 2 +- .../tutorials/editor/project_settings.po | 2 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 10 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 18 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 59 +- .../tutorials/export/exporting_for_android.po | 2 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 2 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 2 +- .../tutorials/export/feature_tags.po | 8 +- .../cs/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/cs/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 5 +- .../cs/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 2 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../cs/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 2 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../cs/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/cs/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/cs/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 2 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 2 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 2 +- .../migrating/upgrading_to_godot_4.2.po | 2 +- .../migrating/upgrading_to_godot_4.3.po | 2 +- .../migrating/upgrading_to_godot_4.po | 2 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 2 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 2 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 2 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 2 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 2 +- .../tutorials/performance/using_servers.po | 2 +- .../animating_thousands_of_fish.po | 2 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 2 +- .../tutorials/physics/collision_shapes_3d.po | 2 +- .../cs/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po} | 2 +- ...physics_interpolation_quick_start_guide.po | 12 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 2 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 2 +- .../platform/web/customizing_html5_shell.po | 2 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 2 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../cs/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 2 +- .../rendering/multiple_resolutions.po | 2 +- .../tutorials/rendering/renderers.po | 30 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 2 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 2 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 5 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 21 + .../gdextension/gdextension_cpp_example.po | 2 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 2 +- .../scripting/gdscript/gdscript_advanced.po | 31 +- .../scripting/gdscript/gdscript_basics.po | 33 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 2 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 2 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 5 +- .../scripting/gdscript/warning_system.po | 2 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 16 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 2 +- .../cs/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../shader_reference/canvas_item_shader.po | 2 +- .../shaders/shader_reference/fog_shader.po | 2 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 2 +- .../shader_reference/shader_functions.po | 18 + .../shader_reference/shader_preprocessor.po | 2 +- .../shader_reference/shading_language.po | 2 +- .../shaders/shader_reference/sky_shader.po | 2 +- .../shader_reference/spatial_shader.po | 2 +- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 2 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 2 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 2 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 2 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 2 +- .../po/cs/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/cs/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/de/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/de/LC_MESSAGES/about/faq.po | 29 +- .../po/de/LC_MESSAGES/about/introduction.po | 2 +- .../de/LC_MESSAGES/about/list_of_features.po | 186 +- .../po/de/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 121 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/de/LC_MESSAGES/community/channels.po | 2 +- .../po/de/LC_MESSAGES/community/tutorials.po | 11 +- .../best_practices_for_engine_contributors.po | 33 +- .../development/code_style_guidelines.po | 30 +- .../compiling/compiling_for_android.po | 8 +- .../compiling/compiling_for_ios.po | 8 +- .../compiling/compiling_for_linuxbsd.po | 20 +- .../compiling/compiling_for_macos.po | 35 +- .../compiling/compiling_for_web.po | 23 +- .../compiling/compiling_for_windows.po | 18 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 27 +- .../compiling/optimizing_for_size.po | 74 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 9 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 51 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 10 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 21 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 12 +- .../core_and_modules/core_types.po | 37 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 18 +- .../core_and_modules/custom_platform_ports.po | 36 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 383 +--- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 20 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 14 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 12 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 25 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 37 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 18 +- .../contributing/how_to_contribute.po | 16 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 6 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 6 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 14 +- .../first_2d_game/02.player_scene.po | 21 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 12 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 14 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 7 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 12 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 11 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 14 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/de/LC_MESSAGES/index.po | 2 +- sphinx/po/de/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../de/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 17 +- .../tutorials/2d/2d_sprite_animation.po | 25 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 24 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 30 +- .../po/de/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 394 +++++ .../tutorials/2d/particle_systems_2d.po | 365 +--- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 35 +- .../tutorials/3d/3d_rendering_limitations.po | 118 +- .../po/de/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../de/LC_MESSAGES/tutorials/3d/csg_tools.po | 36 +- .../3d/environment_and_post_processing.po | 22 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 105 +- .../global_illumination/reflection_probes.po | 19 +- .../global_illumination/using_lightmap_gi.po | 19 +- .../3d/global_illumination/using_sdfgi.po | 9 +- .../3d/global_illumination/using_voxel_gi.po | 16 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/de/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 68 +- .../de/LC_MESSAGES/tutorials/3d/mesh_lod.po | 42 +- .../tutorials/3d/occlusion_culling.po | 48 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 22 +- .../de/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 55 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 26 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 41 +- .../tutorials/3d/visibility_ranges.po | 11 +- .../tutorials/3d/volumetric_fog.po | 49 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 5 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 166 -- .../assets_pipeline/escn_exporter/index.po | 66 +- .../assets_pipeline/escn_exporter/lights.po | 73 - .../assets_pipeline/escn_exporter/material.po | 152 -- .../assets_pipeline/escn_exporter/mesh.po | 54 - .../assets_pipeline/escn_exporter/physics.po | 114 -- .../assets_pipeline/escn_exporter/skeleton.po | 82 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 11 +- .../importing_3d_scenes/available_formats.po | 62 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 16 +- .../assets_pipeline/importing_images.po | 60 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../de/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 10 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 5 +- .../de/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 14 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 49 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 73 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 21 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 69 +- .../tutorials/export/exporting_for_android.po | 21 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 56 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 16 +- .../tutorials/export/feature_tags.po | 26 +- .../de/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/de/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 16 +- .../de/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 30 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../de/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 43 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../de/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/de/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 34 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/de/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 19 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 13 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 10 +- .../migrating/upgrading_to_godot_4.2.po | 10 +- .../migrating/upgrading_to_godot_4.3.po | 10 +- .../migrating/upgrading_to_godot_4.po | 80 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 38 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 16 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 9 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 25 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 22 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 11 +- .../tutorials/performance/using_servers.po | 23 +- .../animating_thousands_of_fish.po | 13 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 15 +- .../tutorials/physics/collision_shapes_3d.po | 14 +- .../de/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 15 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 28 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 13 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 9 +- .../platform/web/customizing_html5_shell.po | 17 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 14 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 50 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../de/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 11 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 36 +- .../rendering/multiple_resolutions.po | 10 +- .../tutorials/rendering/renderers.po | 78 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 9 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 11 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 14 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 43 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 12 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 33 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 83 +- .../scripting/gdscript/gdscript_advanced.po | 31 +- .../scripting/gdscript/gdscript_basics.po | 34 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 36 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 11 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 8 +- .../scripting/gdscript/warning_system.po | 15 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 19 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 17 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 14 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 14 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 13 +- .../de/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 161 -- .../shader_reference/canvas_item_shader.po | 198 +-- .../shaders/shader_reference/fog_shader.po | 19 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 122 +- .../shader_reference/shader_functions.po | 223 +++ .../shader_reference/shader_preprocessor.po | 30 +- .../shader_reference/shading_language.po | 1566 +++------------- .../shaders/shader_reference/sky_shader.po | 44 +- .../shader_reference/spatial_shader.po | 374 +--- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 18 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 265 +-- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 74 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 44 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 11 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 20 +- .../tutorials/ui/gui_using_theme_editor.po | 12 +- .../po/de/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 23 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/de/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 16 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 16 +- .../tutorials/xr/openxr_hand_tracking.po | 5 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 69 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 23 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/es/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/es/LC_MESSAGES/about/faq.po | 28 +- .../po/es/LC_MESSAGES/about/introduction.po | 2 +- .../es/LC_MESSAGES/about/list_of_features.po | 186 +- .../po/es/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 119 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/es/LC_MESSAGES/community/channels.po | 2 +- .../po/es/LC_MESSAGES/community/tutorials.po | 5 +- .../best_practices_for_engine_contributors.po | 21 +- .../development/code_style_guidelines.po | 9 +- .../compiling/compiling_for_android.po | 2 +- .../compiling/compiling_for_ios.po | 2 +- .../compiling/compiling_for_linuxbsd.po | 13 +- .../compiling/compiling_for_macos.po | 25 +- .../compiling/compiling_for_web.po | 25 +- .../compiling/compiling_for_windows.po | 9 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 28 +- .../compiling/optimizing_for_size.po | 59 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 9 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 6 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 10 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 2 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 12 +- .../core_and_modules/core_types.po | 30 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 2 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 42 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 2 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 2 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 2 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 37 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 20 +- .../contributing/how_to_contribute.po | 16 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 7 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 2 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 14 +- .../first_2d_game/02.player_scene.po | 20 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 13 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 7 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 11 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 14 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/es/LC_MESSAGES/index.po | 2 +- sphinx/po/es/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../es/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 16 +- .../tutorials/2d/2d_sprite_animation.po | 24 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 23 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 29 +- .../po/es/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 355 ++++ .../tutorials/2d/particle_systems_2d.po | 358 +--- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 5 +- .../tutorials/3d/3d_rendering_limitations.po | 41 +- .../po/es/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../es/LC_MESSAGES/tutorials/3d/csg_tools.po | 14 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/es/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 2 +- .../es/LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../es/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 141 -- .../assets_pipeline/escn_exporter/index.po | 46 +- .../assets_pipeline/escn_exporter/lights.po | 71 - .../assets_pipeline/escn_exporter/material.po | 117 -- .../assets_pipeline/escn_exporter/mesh.po | 53 - .../assets_pipeline/escn_exporter/physics.po | 104 -- .../assets_pipeline/escn_exporter/skeleton.po | 70 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 11 +- .../importing_3d_scenes/available_formats.po | 2 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 2 +- .../assets_pipeline/importing_images.po | 2 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../es/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 10 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 5 +- .../es/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 15 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 47 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 71 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 21 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 61 +- .../tutorials/export/exporting_for_android.po | 21 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 39 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 2 +- .../tutorials/export/feature_tags.po | 12 +- .../es/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/es/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 16 +- .../es/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 30 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../es/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 31 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../es/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/es/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/es/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 19 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 13 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 10 +- .../migrating/upgrading_to_godot_4.2.po | 10 +- .../migrating/upgrading_to_godot_4.3.po | 10 +- .../migrating/upgrading_to_godot_4.po | 75 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 7 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 2 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 14 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 23 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 2 +- .../tutorials/performance/using_servers.po | 23 +- .../animating_thousands_of_fish.po | 2 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 2 +- .../tutorials/physics/collision_shapes_3d.po | 2 +- .../es/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 15 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 2 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 9 +- .../platform/web/customizing_html5_shell.po | 10 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 48 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../es/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 27 +- .../rendering/multiple_resolutions.po | 10 +- .../tutorials/rendering/renderers.po | 48 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 2 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 2 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 12 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 32 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 2 +- .../scripting/gdscript/gdscript_advanced.po | 32 +- .../scripting/gdscript/gdscript_basics.po | 34 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 5 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 2 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 5 +- .../scripting/gdscript/warning_system.po | 2 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 16 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 2 +- .../es/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 121 -- .../shader_reference/canvas_item_shader.po | 60 +- .../shaders/shader_reference/fog_shader.po | 2 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 23 +- .../shader_reference/shader_functions.po | 170 ++ .../shader_reference/shader_preprocessor.po | 2 +- .../shader_reference/shading_language.po | 539 +----- .../shaders/shader_reference/sky_shader.po | 5 +- .../shader_reference/spatial_shader.po | 262 +-- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 18 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 132 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 73 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 16 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 12 +- .../po/es/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/es/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/fr/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/fr/LC_MESSAGES/about/faq.po | 29 +- .../po/fr/LC_MESSAGES/about/introduction.po | 2 +- .../fr/LC_MESSAGES/about/list_of_features.po | 187 +- .../po/fr/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 115 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/fr/LC_MESSAGES/community/channels.po | 2 +- .../po/fr/LC_MESSAGES/community/tutorials.po | 11 +- .../best_practices_for_engine_contributors.po | 21 +- .../development/code_style_guidelines.po | 9 +- .../compiling/compiling_for_android.po | 7 +- .../compiling/compiling_for_ios.po | 7 +- .../compiling/compiling_for_linuxbsd.po | 7 +- .../compiling/compiling_for_macos.po | 23 +- .../compiling/compiling_for_web.po | 7 +- .../compiling/compiling_for_windows.po | 2 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 11 +- .../compiling/optimizing_for_size.po | 62 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 9 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 6 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 10 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 2 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 12 +- .../core_and_modules/core_types.po | 37 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 2 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 14 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 2 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 11 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 25 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 38 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 2 +- .../contributing/how_to_contribute.po | 2 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 2 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 14 +- .../first_2d_game/02.player_scene.po | 20 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 12 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 14 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 6 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 12 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 14 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/fr/LC_MESSAGES/index.po | 2 +- sphinx/po/fr/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../fr/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 16 +- .../tutorials/2d/2d_sprite_animation.po | 24 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 24 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 18 +- .../po/fr/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 290 +++ .../tutorials/2d/particle_systems_2d.po | 305 +--- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 5 +- .../tutorials/3d/3d_rendering_limitations.po | 42 +- .../po/fr/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../fr/LC_MESSAGES/tutorials/3d/csg_tools.po | 14 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/fr/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 9 +- .../fr/LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../fr/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 142 -- .../assets_pipeline/escn_exporter/index.po | 46 +- .../assets_pipeline/escn_exporter/lights.po | 73 - .../assets_pipeline/escn_exporter/material.po | 135 -- .../assets_pipeline/escn_exporter/mesh.po | 55 - .../assets_pipeline/escn_exporter/physics.po | 114 -- .../assets_pipeline/escn_exporter/skeleton.po | 70 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 12 +- .../importing_3d_scenes/available_formats.po | 2 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 2 +- .../assets_pipeline/importing_images.po | 2 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../fr/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 9 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 5 +- .../fr/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 14 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 46 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 73 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 21 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 62 +- .../tutorials/export/exporting_for_android.po | 21 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 38 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 2 +- .../tutorials/export/feature_tags.po | 26 +- .../fr/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/fr/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 16 +- .../fr/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 30 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../fr/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 31 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../fr/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/fr/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 36 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/fr/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 19 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 13 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 10 +- .../migrating/upgrading_to_godot_4.2.po | 10 +- .../migrating/upgrading_to_godot_4.3.po | 10 +- .../migrating/upgrading_to_godot_4.po | 77 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 6 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 2 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 14 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 23 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 2 +- .../tutorials/performance/using_servers.po | 24 +- .../animating_thousands_of_fish.po | 13 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 2 +- .../tutorials/physics/collision_shapes_3d.po | 2 +- .../fr/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 15 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 2 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 9 +- .../platform/web/customizing_html5_shell.po | 10 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 48 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../fr/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 2 +- .../rendering/multiple_resolutions.po | 10 +- .../tutorials/rendering/renderers.po | 51 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 2 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 2 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 12 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 33 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 2 +- .../scripting/gdscript/gdscript_advanced.po | 31 +- .../scripting/gdscript/gdscript_basics.po | 34 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 41 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 11 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 8 +- .../scripting/gdscript/warning_system.po | 15 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 17 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 2 +- .../fr/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 125 -- .../shader_reference/canvas_item_shader.po | 76 +- .../shaders/shader_reference/fog_shader.po | 2 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 24 +- .../shader_reference/shader_functions.po | 171 ++ .../shader_reference/shader_preprocessor.po | 2 +- .../shader_reference/shading_language.po | 521 +----- .../shaders/shader_reference/sky_shader.po | 9 +- .../shader_reference/spatial_shader.po | 276 +-- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 18 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 176 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 75 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 16 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 12 +- .../po/fr/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 14 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/fr/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 14 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/ga/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/ga/LC_MESSAGES/about/faq.po | 28 +- .../po/ga/LC_MESSAGES/about/introduction.po | 2 +- .../ga/LC_MESSAGES/about/list_of_features.po | 183 +- .../po/ga/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 120 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/ga/LC_MESSAGES/community/channels.po | 2 +- .../po/ga/LC_MESSAGES/community/tutorials.po | 11 +- .../best_practices_for_engine_contributors.po | 33 +- .../development/code_style_guidelines.po | 30 +- .../compiling/compiling_for_android.po | 8 +- .../compiling/compiling_for_ios.po | 8 +- .../compiling/compiling_for_linuxbsd.po | 19 +- .../compiling/compiling_for_macos.po | 32 +- .../compiling/compiling_for_web.po | 22 +- .../compiling/compiling_for_windows.po | 18 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 27 +- .../compiling/optimizing_for_size.po | 74 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 9 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 53 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 9 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 20 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 11 +- .../core_and_modules/core_types.po | 37 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 17 +- .../core_and_modules/custom_platform_ports.po | 33 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 383 +--- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 20 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 13 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 12 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 24 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 38 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 20 +- .../contributing/how_to_contribute.po | 16 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 7 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 14 +- .../first_2d_game/02.player_scene.po | 21 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 12 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 13 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 5 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 12 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 14 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/ga/LC_MESSAGES/index.po | 2 +- sphinx/po/ga/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../ga/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 17 +- .../tutorials/2d/2d_sprite_animation.po | 25 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 23 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 30 +- .../po/ga/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 386 ++++ .../tutorials/2d/particle_systems_2d.po | 358 +--- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 35 +- .../tutorials/3d/3d_rendering_limitations.po | 115 +- .../po/ga/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../ga/LC_MESSAGES/tutorials/3d/csg_tools.po | 36 +- .../3d/environment_and_post_processing.po | 22 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 102 +- .../global_illumination/reflection_probes.po | 19 +- .../global_illumination/using_lightmap_gi.po | 19 +- .../3d/global_illumination/using_sdfgi.po | 9 +- .../3d/global_illumination/using_voxel_gi.po | 16 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/ga/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 66 +- .../ga/LC_MESSAGES/tutorials/3d/mesh_lod.po | 45 +- .../tutorials/3d/occlusion_culling.po | 49 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 21 +- .../ga/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 54 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 27 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 40 +- .../tutorials/3d/visibility_ranges.po | 11 +- .../tutorials/3d/volumetric_fog.po | 49 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 7 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 163 -- .../assets_pipeline/escn_exporter/index.po | 64 +- .../assets_pipeline/escn_exporter/lights.po | 70 - .../assets_pipeline/escn_exporter/material.po | 153 -- .../assets_pipeline/escn_exporter/mesh.po | 54 - .../assets_pipeline/escn_exporter/physics.po | 113 -- .../assets_pipeline/escn_exporter/skeleton.po | 82 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 12 +- .../importing_3d_scenes/available_formats.po | 62 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 16 +- .../assets_pipeline/importing_images.po | 61 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../ga/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 9 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 5 +- .../ga/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 14 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 47 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 71 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 21 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 69 +- .../tutorials/export/exporting_for_android.po | 21 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 57 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 15 +- .../tutorials/export/feature_tags.po | 22 +- .../ga/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/ga/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 16 +- .../ga/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 30 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../ga/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 42 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../ga/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/ga/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 34 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/ga/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 18 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 13 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 10 +- .../migrating/upgrading_to_godot_4.2.po | 10 +- .../migrating/upgrading_to_godot_4.3.po | 10 +- .../migrating/upgrading_to_godot_4.po | 75 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 41 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 15 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 9 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 25 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 22 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 11 +- .../tutorials/performance/using_servers.po | 23 +- .../animating_thousands_of_fish.po | 13 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 15 +- .../tutorials/physics/collision_shapes_3d.po | 13 +- .../ga/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 15 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 28 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 13 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 9 +- .../platform/web/customizing_html5_shell.po | 17 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 14 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 48 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../ga/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 11 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 34 +- .../rendering/multiple_resolutions.po | 10 +- .../tutorials/rendering/renderers.po | 78 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 9 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 11 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 14 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 41 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 12 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 32 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 81 +- .../scripting/gdscript/gdscript_advanced.po | 33 +- .../scripting/gdscript/gdscript_basics.po | 34 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 35 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 11 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 8 +- .../scripting/gdscript/warning_system.po | 15 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 19 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 16 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 14 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 14 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 13 +- .../ga/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 160 -- .../shader_reference/canvas_item_shader.po | 192 +- .../shaders/shader_reference/fog_shader.po | 19 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 117 +- .../shader_reference/shader_functions.po | 226 +++ .../shader_reference/shader_preprocessor.po | 29 +- .../shader_reference/shading_language.po | 1573 +++-------------- .../shaders/shader_reference/sky_shader.po | 43 +- .../shader_reference/spatial_shader.po | 359 +--- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 18 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 265 +-- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 72 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 43 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 11 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 20 +- .../tutorials/ui/gui_using_theme_editor.po | 13 +- .../po/ga/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 22 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/ga/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 16 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 18 +- .../tutorials/xr/openxr_hand_tracking.po | 5 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 67 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 23 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/it/LC_MESSAGES/about/docs_changelog.po | 42 +- sphinx/po/it/LC_MESSAGES/about/faq.po | 2 +- .../po/it/LC_MESSAGES/about/introduction.po | 2 +- .../it/LC_MESSAGES/about/list_of_features.po | 54 +- .../po/it/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 2 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/it/LC_MESSAGES/community/channels.po | 2 +- .../po/it/LC_MESSAGES/community/tutorials.po | 11 +- .../best_practices_for_engine_contributors.po | 2 +- .../development/code_style_guidelines.po | 2 +- .../compiling/compiling_for_android.po | 2 +- .../compiling/compiling_for_ios.po | 5 +- .../compiling/compiling_for_linuxbsd.po | 2 +- .../compiling/compiling_for_macos.po | 5 +- .../compiling/compiling_for_web.po | 5 +- .../compiling/compiling_for_windows.po | 2 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 2 +- .../compiling/optimizing_for_size.po | 56 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 9 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 5 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 2 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 2 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 2 +- .../core_and_modules/core_types.po | 2 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 2 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 5 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 2 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 2 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 2 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 2 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 2 +- .../contributing/how_to_contribute.po | 2 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 2 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 2 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 2 +- .../first_2d_game/02.player_scene.po | 21 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 12 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 2 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 2 +- .../introduction/first_look_at_the_editor.po | 2 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 2 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 2 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 2 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/it/LC_MESSAGES/index.po | 2 +- sphinx/po/it/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../it/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 5 +- .../tutorials/2d/2d_sprite_animation.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 2 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 2 +- .../po/it/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 45 + .../tutorials/2d/particle_systems_2d.po | 35 +- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 5 +- .../tutorials/3d/3d_rendering_limitations.po | 2 +- .../po/it/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../it/LC_MESSAGES/tutorials/3d/csg_tools.po | 2 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/it/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 2 +- .../it/LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../it/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../assets_pipeline/escn_exporter/index.po | 2 +- .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 12 +- .../importing_3d_scenes/available_formats.po | 2 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 2 +- .../assets_pipeline/importing_images.po | 2 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../it/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 2 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 2 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 2 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 21 +- .../tutorials/editor/external_editor.po | 5 +- .../it/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 2 +- .../tutorials/editor/project_manager.po | 2 +- .../tutorials/editor/project_settings.po | 2 +- .../script_editor.po} | 6 +- .../editor/using_the_android_editor.po | 2 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../using_the_xr_editor.po} | 5 +- .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 2 +- .../tutorials/export/exporting_for_android.po | 2 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 2 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 2 +- .../tutorials/export/feature_tags.po | 2 +- .../it/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/it/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 5 +- .../it/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 2 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../it/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 2 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../it/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/it/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/it/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 2 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 2 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 2 +- .../migrating/upgrading_to_godot_4.2.po | 2 +- .../migrating/upgrading_to_godot_4.3.po | 2 +- .../migrating/upgrading_to_godot_4.po | 2 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 2 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 2 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 2 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 2 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../pipeline_compilations.po} | 5 +- .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 2 +- .../tutorials/performance/using_servers.po | 2 +- .../animating_thousands_of_fish.po | 2 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 2 +- .../tutorials/physics/collision_shapes_3d.po | 2 +- .../it/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po} | 10 +- .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 12 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 2 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 2 +- .../platform/web/customizing_html5_shell.po | 2 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 2 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../it/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 2 +- .../rendering/multiple_resolutions.po | 2 +- .../tutorials/rendering/renderers.po | 27 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 2 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 2 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 5 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po} | 10 +- .../gdextension/gdextension_cpp_example.po | 2 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 5 +- .../scripting/gdscript/gdscript_advanced.po | 2 +- .../scripting/gdscript/gdscript_basics.po | 20 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 2 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 2 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 2 +- .../scripting/gdscript/warning_system.po | 2 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 2 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 2 +- .../it/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../shader_reference/canvas_item_shader.po | 2 +- .../shaders/shader_reference/fog_shader.po | 2 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 2 +- .../shader_reference/shader_functions.po | 33 + .../shader_reference/shader_preprocessor.po | 2 +- .../shader_reference/shading_language.po | 233 +-- .../shaders/shader_reference/sky_shader.po | 2 +- .../shader_reference/spatial_shader.po | 5 +- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 2 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 2 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 2 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 2 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 2 +- .../po/it/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/it/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/ja/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/ja/LC_MESSAGES/about/faq.po | 27 +- .../po/ja/LC_MESSAGES/about/introduction.po | 2 +- .../ja/LC_MESSAGES/about/list_of_features.po | 180 +- .../po/ja/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 114 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/ja/LC_MESSAGES/community/channels.po | 2 +- .../po/ja/LC_MESSAGES/community/tutorials.po | 11 +- .../best_practices_for_engine_contributors.po | 9 +- .../development/code_style_guidelines.po | 2 +- .../compiling/compiling_for_android.po | 2 +- .../compiling/compiling_for_ios.po | 2 +- .../compiling/compiling_for_linuxbsd.po | 2 +- .../compiling/compiling_for_macos.po | 2 +- .../compiling/compiling_for_web.po | 2 +- .../compiling/compiling_for_windows.po | 2 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 2 +- .../compiling/optimizing_for_size.po | 5 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 2 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 5 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 2 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 2 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 2 +- .../core_and_modules/core_types.po | 29 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 2 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 5 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 2 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 2 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 2 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 36 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 2 +- .../contributing/how_to_contribute.po | 2 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 2 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 13 +- .../first_2d_game/02.player_scene.po | 20 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 12 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 5 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 11 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 13 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/ja/LC_MESSAGES/index.po | 2 +- sphinx/po/ja/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../ja/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 5 +- .../tutorials/2d/2d_sprite_animation.po | 24 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 11 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 2 +- .../po/ja/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 186 ++ .../tutorials/2d/particle_systems_2d.po | 199 +-- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 8 +- .../tutorials/3d/3d_rendering_limitations.po | 110 +- .../po/ja/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../ja/LC_MESSAGES/tutorials/3d/csg_tools.po | 35 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/ja/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 63 +- .../ja/LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../ja/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 55 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 128 -- .../assets_pipeline/escn_exporter/index.po | 45 +- .../assets_pipeline/escn_exporter/lights.po | 69 - .../assets_pipeline/escn_exporter/material.po | 114 -- .../assets_pipeline/escn_exporter/mesh.po | 52 - .../assets_pipeline/escn_exporter/physics.po | 93 - .../assets_pipeline/escn_exporter/skeleton.po | 70 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 11 +- .../importing_3d_scenes/available_formats.po | 61 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 14 +- .../assets_pipeline/importing_images.po | 58 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../ja/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 9 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 2 +- .../ja/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 13 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 2 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 10 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 18 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 24 +- .../tutorials/export/exporting_for_android.po | 19 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 38 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 15 +- .../tutorials/export/feature_tags.po | 9 +- .../ja/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/ja/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 15 +- .../ja/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 17 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../ja/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 42 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../ja/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/ja/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/ja/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 17 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 2 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 9 +- .../migrating/upgrading_to_godot_4.2.po | 9 +- .../migrating/upgrading_to_godot_4.3.po | 9 +- .../migrating/upgrading_to_godot_4.po | 2 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 2 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 9 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 13 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 2 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 2 +- .../tutorials/performance/using_servers.po | 21 +- .../animating_thousands_of_fish.po | 2 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 15 +- .../tutorials/physics/collision_shapes_3d.po | 13 +- .../ja/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 12 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 2 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 9 +- .../platform/web/customizing_html5_shell.po | 2 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 2 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../ja/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 2 +- .../rendering/multiple_resolutions.po | 10 +- .../tutorials/rendering/renderers.po | 51 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 9 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 39 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 12 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 31 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 2 +- .../scripting/gdscript/gdscript_advanced.po | 30 +- .../scripting/gdscript/gdscript_basics.po | 32 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 34 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 11 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 8 +- .../scripting/gdscript/warning_system.po | 14 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 18 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 16 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 13 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 13 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 12 +- .../ja/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 155 -- .../shader_reference/canvas_item_shader.po | 188 +- .../shaders/shader_reference/fog_shader.po | 18 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 114 +- .../shader_reference/shader_functions.po | 201 +++ .../shader_reference/shader_preprocessor.po | 2 +- .../shader_reference/shading_language.po | 1108 ++---------- .../shaders/shader_reference/sky_shader.po | 43 +- .../shader_reference/spatial_shader.po | 343 +--- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 16 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 255 +-- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 67 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 39 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 2 +- .../po/ja/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/ja/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 50 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/ko/LC_MESSAGES/about/docs_changelog.po | 42 +- sphinx/po/ko/LC_MESSAGES/about/faq.po | 26 +- .../po/ko/LC_MESSAGES/about/introduction.po | 2 +- .../ko/LC_MESSAGES/about/list_of_features.po | 155 +- .../po/ko/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 96 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/ko/LC_MESSAGES/community/channels.po | 2 +- .../po/ko/LC_MESSAGES/community/tutorials.po | 5 +- .../best_practices_for_engine_contributors.po | 2 +- .../development/code_style_guidelines.po | 2 +- .../compiling/compiling_for_android.po | 2 +- .../compiling/compiling_for_ios.po | 2 +- .../compiling/compiling_for_linuxbsd.po | 2 +- .../compiling/compiling_for_macos.po | 2 +- .../compiling/compiling_for_web.po | 2 +- .../compiling/compiling_for_windows.po | 2 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 2 +- .../compiling/optimizing_for_size.po | 2 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 2 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 5 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 2 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 2 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 2 +- .../core_and_modules/core_types.po | 2 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 2 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 5 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 2 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 2 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 2 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 2 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 2 +- .../contributing/how_to_contribute.po | 2 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 2 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 2 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 2 +- .../first_2d_game/02.player_scene.po | 20 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 13 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 5 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 10 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 11 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 2 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/ko/LC_MESSAGES/index.po | 2 +- sphinx/po/ko/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../ko/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 5 +- .../tutorials/2d/2d_sprite_animation.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 2 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 2 +- .../po/ko/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 134 ++ .../tutorials/2d/particle_systems_2d.po | 127 +- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 8 +- .../tutorials/3d/3d_rendering_limitations.po | 2 +- .../po/ko/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../ko/LC_MESSAGES/tutorials/3d/csg_tools.po | 2 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/ko/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 2 +- .../ko/LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../ko/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 126 -- .../assets_pipeline/escn_exporter/index.po | 44 +- .../assets_pipeline/escn_exporter/lights.po | 69 - .../assets_pipeline/escn_exporter/material.po | 112 -- .../assets_pipeline/escn_exporter/mesh.po | 52 - .../assets_pipeline/escn_exporter/physics.po | 100 -- .../assets_pipeline/escn_exporter/skeleton.po | 67 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 10 +- .../importing_3d_scenes/available_formats.po | 2 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 2 +- .../assets_pipeline/importing_images.po | 2 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../ko/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 2 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 2 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 2 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 17 +- .../tutorials/editor/external_editor.po | 2 +- .../ko/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 2 +- .../tutorials/editor/project_manager.po | 2 +- .../tutorials/editor/project_settings.po | 2 +- .../script_editor.po} | 6 +- .../editor/using_the_android_editor.po | 8 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 18 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 49 +- .../tutorials/export/exporting_for_android.po | 12 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 34 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 2 +- .../tutorials/export/feature_tags.po | 10 +- .../ko/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/ko/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 2 +- .../ko/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 2 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../ko/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 2 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../ko/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/ko/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/ko/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 17 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 2 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 2 +- .../migrating/upgrading_to_godot_4.2.po | 2 +- .../migrating/upgrading_to_godot_4.3.po | 2 +- .../migrating/upgrading_to_godot_4.po | 2 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 2 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 2 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 2 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 2 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 2 +- .../tutorials/performance/using_servers.po | 2 +- .../animating_thousands_of_fish.po | 2 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 2 +- .../tutorials/physics/collision_shapes_3d.po | 2 +- .../ko/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 15 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 12 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 2 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 2 +- .../platform/web/customizing_html5_shell.po | 2 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 2 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../ko/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 2 +- .../rendering/multiple_resolutions.po | 2 +- .../tutorials/rendering/renderers.po | 33 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 2 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 2 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 5 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 24 + .../gdextension/gdextension_cpp_example.po | 2 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 2 +- .../scripting/gdscript/gdscript_advanced.po | 27 +- .../scripting/gdscript/gdscript_basics.po | 32 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 2 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 2 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 2 +- .../scripting/gdscript/warning_system.po | 2 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 16 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 2 +- .../ko/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../shader_reference/canvas_item_shader.po | 2 +- .../shaders/shader_reference/fog_shader.po | 2 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 2 +- .../shader_reference/shader_functions.po} | 18 +- .../shader_reference/shader_preprocessor.po | 2 +- .../shader_reference/shading_language.po | 5 +- .../shaders/shader_reference/sky_shader.po | 2 +- .../shader_reference/spatial_shader.po | 2 +- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 2 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 2 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 23 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 2 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 2 +- .../po/ko/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/ko/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 15 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 62 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/pl/LC_MESSAGES/about/docs_changelog.po | 42 +- sphinx/po/pl/LC_MESSAGES/about/faq.po | 13 +- .../po/pl/LC_MESSAGES/about/introduction.po | 2 +- .../pl/LC_MESSAGES/about/list_of_features.po | 121 +- .../po/pl/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 2 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/pl/LC_MESSAGES/community/channels.po | 2 +- .../po/pl/LC_MESSAGES/community/tutorials.po | 5 +- .../best_practices_for_engine_contributors.po | 2 +- .../development/code_style_guidelines.po | 2 +- .../compiling/compiling_for_android.po | 2 +- .../compiling/compiling_for_ios.po | 2 +- .../compiling/compiling_for_linuxbsd.po | 2 +- .../compiling/compiling_for_macos.po | 2 +- .../compiling/compiling_for_web.po | 2 +- .../compiling/compiling_for_windows.po | 2 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 2 +- .../compiling/optimizing_for_size.po | 2 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 2 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 2 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 2 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 2 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 2 +- .../core_and_modules/core_types.po | 2 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 2 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 5 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 2 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 2 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 2 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 2 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 2 +- .../contributing/how_to_contribute.po | 2 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 6 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 2 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 2 +- .../first_2d_game/02.player_scene.po | 20 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 14 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 2 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 6 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 2 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 2 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/pl/LC_MESSAGES/index.po | 2 +- sphinx/po/pl/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../pl/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 5 +- .../tutorials/2d/2d_sprite_animation.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 2 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 2 +- .../po/pl/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 63 + .../tutorials/2d/particle_systems_2d.po | 69 +- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 11 +- .../tutorials/3d/3d_rendering_limitations.po | 2 +- .../po/pl/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../pl/LC_MESSAGES/tutorials/3d/csg_tools.po | 2 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/pl/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 2 +- .../pl/LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../pl/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../assets_pipeline/escn_exporter/index.po | 5 +- .../assets_pipeline/escn_exporter/lights.po | 25 - .../assets_pipeline/escn_exporter/material.po | 52 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 2 +- .../importing_3d_scenes/available_formats.po | 2 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 2 +- .../assets_pipeline/importing_images.po | 2 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../pl/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 2 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 2 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 2 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 8 +- .../tutorials/editor/external_editor.po | 2 +- .../pl/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 2 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 2 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 5 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../using_the_xr_editor.po} | 9 +- .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 2 +- .../tutorials/export/exporting_for_android.po | 5 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 2 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 2 +- .../tutorials/export/feature_tags.po | 2 +- .../pl/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/pl/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 5 +- .../pl/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 2 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../pl/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 2 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../pl/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/pl/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/pl/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 2 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 2 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 2 +- .../migrating/upgrading_to_godot_4.2.po | 2 +- .../migrating/upgrading_to_godot_4.3.po | 2 +- .../migrating/upgrading_to_godot_4.po | 2 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 2 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 2 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 2 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 2 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../pipeline_compilations.po} | 2 +- .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 2 +- .../tutorials/performance/using_servers.po | 2 +- .../animating_thousands_of_fish.po | 2 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 2 +- .../tutorials/physics/collision_shapes_3d.po | 2 +- .../pl/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po} | 5 +- .../advanced_physics_interpolation.po} | 6 +- .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 12 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 2 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 2 +- .../platform/web/customizing_html5_shell.po | 2 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 2 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../pl/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 2 +- .../rendering/multiple_resolutions.po | 2 +- .../tutorials/rendering/renderers.po | 36 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 2 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 2 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 5 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po} | 10 +- .../gdextension/gdextension_cpp_example.po | 2 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 2 +- .../scripting/gdscript/gdscript_advanced.po | 18 +- .../scripting/gdscript/gdscript_basics.po | 20 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 2 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 2 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 2 +- .../scripting/gdscript/warning_system.po | 2 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 17 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 2 +- .../pl/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../shader_reference/canvas_item_shader.po | 5 +- .../shaders/shader_reference/fog_shader.po | 2 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 2 +- .../shader_reference/shader_functions.po | 33 + .../shader_reference/shader_preprocessor.po | 2 +- .../shader_reference/shading_language.po | 5 +- .../shaders/shader_reference/sky_shader.po | 2 +- .../shader_reference/spatial_shader.po | 2 +- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 2 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 2 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 78 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 2 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 2 +- .../po/pl/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/pl/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../pt_BR/LC_MESSAGES/about/docs_changelog.po | 42 +- sphinx/po/pt_BR/LC_MESSAGES/about/faq.po | 29 +- .../pt_BR/LC_MESSAGES/about/introduction.po | 2 +- .../LC_MESSAGES/about/list_of_features.po | 178 +- .../pt_BR/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 109 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../pt_BR/LC_MESSAGES/community/channels.po | 2 +- .../pt_BR/LC_MESSAGES/community/tutorials.po | 5 +- .../best_practices_for_engine_contributors.po | 2 +- .../development/code_style_guidelines.po | 2 +- .../compiling/compiling_for_android.po | 2 +- .../compiling/compiling_for_ios.po | 2 +- .../compiling/compiling_for_linuxbsd.po | 2 +- .../compiling/compiling_for_macos.po | 2 +- .../compiling/compiling_for_web.po | 2 +- .../compiling/compiling_for_windows.po | 2 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 11 +- .../compiling/optimizing_for_size.po | 56 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 2 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 5 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 2 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 2 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 2 +- .../core_and_modules/core_types.po | 2 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 2 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 5 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 2 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 2 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 2 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 36 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 2 +- .../contributing/how_to_contribute.po | 2 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 2 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 14 +- .../first_2d_game/02.player_scene.po | 20 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 13 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 6 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 11 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 2 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/pt_BR/LC_MESSAGES/index.po | 2 +- sphinx/po/pt_BR/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 5 +- .../tutorials/2d/2d_sprite_animation.po | 24 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 12 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 13 +- .../pt_BR/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 224 +++ .../tutorials/2d/particle_systems_2d.po | 231 +-- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 5 +- .../tutorials/3d/3d_rendering_limitations.po | 41 +- .../pt_BR/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../LC_MESSAGES/tutorials/3d/csg_tools.po | 5 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../pt_BR/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 2 +- .../LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 138 -- .../assets_pipeline/escn_exporter/index.po | 64 +- .../assets_pipeline/escn_exporter/lights.po | 70 - .../assets_pipeline/escn_exporter/material.po | 144 -- .../assets_pipeline/escn_exporter/mesh.po | 53 - .../assets_pipeline/escn_exporter/physics.po | 110 -- .../assets_pipeline/escn_exporter/skeleton.po | 70 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 11 +- .../importing_3d_scenes/available_formats.po | 2 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 2 +- .../assets_pipeline/importing_images.po | 2 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 9 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 2 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 21 +- .../tutorials/editor/external_editor.po | 5 +- .../LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 14 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 43 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 63 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 18 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 60 +- .../tutorials/export/exporting_for_android.po | 20 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 33 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 2 +- .../tutorials/export/feature_tags.po | 12 +- .../LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../pt_BR/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 16 +- .../LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 29 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 30 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../pt_BR/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../pt_BR/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 2 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 2 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 2 +- .../migrating/upgrading_to_godot_4.2.po | 2 +- .../migrating/upgrading_to_godot_4.3.po | 2 +- .../migrating/upgrading_to_godot_4.po | 19 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 2 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 2 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 2 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 2 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 11 +- .../tutorials/performance/using_servers.po | 2 +- .../animating_thousands_of_fish.po | 2 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 2 +- .../tutorials/physics/collision_shapes_3d.po | 2 +- .../LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 12 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 13 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 2 +- .../platform/web/customizing_html5_shell.po | 2 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 8 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 2 +- .../rendering/multiple_resolutions.po | 2 +- .../tutorials/rendering/renderers.po | 42 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 2 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 2 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 5 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 2 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 2 +- .../scripting/gdscript/gdscript_advanced.po | 32 +- .../scripting/gdscript/gdscript_basics.po | 33 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 2 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 2 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 2 +- .../scripting/gdscript/warning_system.po | 2 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 16 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 2 +- .../LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 31 - .../shader_reference/canvas_item_shader.po | 2 +- .../shaders/shader_reference/fog_shader.po | 2 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 2 +- .../shader_reference/shader_functions.po | 36 + .../shader_reference/shader_preprocessor.po | 2 +- .../shader_reference/shading_language.po | 134 +- .../shaders/shader_reference/sky_shader.po | 2 +- .../shader_reference/spatial_shader.po | 14 +- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 2 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 2 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 74 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 2 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 11 +- .../pt_BR/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../pt_BR/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 14 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/ru/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/ru/LC_MESSAGES/about/faq.po | 29 +- .../po/ru/LC_MESSAGES/about/introduction.po | 2 +- .../ru/LC_MESSAGES/about/list_of_features.po | 187 +- .../po/ru/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 115 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/ru/LC_MESSAGES/community/channels.po | 2 +- .../po/ru/LC_MESSAGES/community/tutorials.po | 8 +- .../best_practices_for_engine_contributors.po | 21 +- .../development/code_style_guidelines.po | 2 +- .../compiling/compiling_for_android.po | 2 +- .../compiling/compiling_for_ios.po | 2 +- .../compiling/compiling_for_linuxbsd.po | 2 +- .../compiling/compiling_for_macos.po | 2 +- .../compiling/compiling_for_web.po | 2 +- .../compiling/compiling_for_windows.po | 2 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 2 +- .../compiling/optimizing_for_size.po | 8 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 2 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 5 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 2 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 2 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 2 +- .../core_and_modules/core_types.po | 30 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 2 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 5 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 2 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 2 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 2 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 38 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 2 +- .../contributing/how_to_contribute.po | 2 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 2 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 14 +- .../first_2d_game/02.player_scene.po | 21 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 14 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 5 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 11 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 14 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/ru/LC_MESSAGES/index.po | 2 +- sphinx/po/ru/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../ru/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 17 +- .../tutorials/2d/2d_sprite_animation.po | 23 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 11 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 14 +- .../po/ru/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 218 +++ .../tutorials/2d/particle_systems_2d.po | 234 +-- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 8 +- .../tutorials/3d/3d_rendering_limitations.po | 39 +- .../po/ru/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../ru/LC_MESSAGES/tutorials/3d/csg_tools.po | 14 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/ru/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 2 +- .../ru/LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../ru/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 141 -- .../assets_pipeline/escn_exporter/index.po | 47 +- .../assets_pipeline/escn_exporter/lights.po | 68 - .../assets_pipeline/escn_exporter/material.po | 117 -- .../assets_pipeline/escn_exporter/mesh.po | 53 - .../assets_pipeline/escn_exporter/physics.po | 102 -- .../assets_pipeline/escn_exporter/skeleton.po | 69 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 11 +- .../importing_3d_scenes/available_formats.po | 2 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 2 +- .../assets_pipeline/importing_images.po | 2 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../ru/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 9 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 2 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 2 +- .../ru/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 14 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 45 +- .../script_editor.po} | 6 +- .../editor/using_the_android_editor.po | 70 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 21 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 63 +- .../tutorials/export/exporting_for_android.po | 20 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 55 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 2 +- .../tutorials/export/feature_tags.po | 11 +- .../ru/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/ru/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 16 +- .../ru/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 24 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../ru/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 30 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../ru/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/ru/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/ru/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 19 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 2 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 9 +- .../migrating/upgrading_to_godot_4.2.po | 9 +- .../migrating/upgrading_to_godot_4.3.po | 9 +- .../migrating/upgrading_to_godot_4.po | 79 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 2 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 2 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 2 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 22 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 2 +- .../tutorials/performance/using_servers.po | 23 +- .../animating_thousands_of_fish.po | 2 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 2 +- .../tutorials/physics/collision_shapes_3d.po | 2 +- .../ru/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 15 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 12 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 13 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 2 +- .../platform/web/customizing_html5_shell.po | 2 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 2 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../ru/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 2 +- .../rendering/multiple_resolutions.po | 2 +- .../tutorials/rendering/renderers.po | 51 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 9 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 5 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 5 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 24 + .../gdextension/gdextension_cpp_example.po | 2 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 14 +- .../scripting/gdscript/gdscript_advanced.po | 33 +- .../scripting/gdscript/gdscript_basics.po | 33 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 2 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 2 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 2 +- .../scripting/gdscript/warning_system.po | 2 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 16 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 2 +- .../ru/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../shader_reference/canvas_item_shader.po | 179 +- .../shaders/shader_reference/fog_shader.po | 2 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 91 +- .../shader_reference/shader_functions.po | 221 +++ .../shader_reference/shader_preprocessor.po | 30 +- .../shader_reference/shading_language.po | 763 +------- .../shaders/shader_reference/sky_shader.po | 5 +- .../shader_reference/spatial_shader.po | 279 +-- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 2 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 2 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 73 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 2 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 2 +- .../po/ru/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/ru/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/ta/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/ta/LC_MESSAGES/about/faq.po | 27 +- .../po/ta/LC_MESSAGES/about/introduction.po | 2 +- .../ta/LC_MESSAGES/about/list_of_features.po | 179 +- .../po/ta/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 100 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/ta/LC_MESSAGES/community/channels.po | 2 +- .../po/ta/LC_MESSAGES/community/tutorials.po | 11 +- .../best_practices_for_engine_contributors.po | 32 +- .../development/code_style_guidelines.po | 29 +- .../compiling/compiling_for_android.po | 9 +- .../compiling/compiling_for_ios.po | 9 +- .../compiling/compiling_for_linuxbsd.po | 20 +- .../compiling/compiling_for_macos.po | 33 +- .../compiling/compiling_for_web.po | 22 +- .../compiling/compiling_for_windows.po | 18 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 26 +- .../compiling/optimizing_for_size.po | 74 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 9 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 46 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 10 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 16 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 11 +- .../core_and_modules/core_types.po | 33 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 17 +- .../core_and_modules/custom_platform_ports.po | 33 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 364 +--- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 21 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 13 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 12 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 24 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 35 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 19 +- .../contributing/how_to_contribute.po | 15 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 6 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 14 +- .../first_2d_game/02.player_scene.po | 20 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 13 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 5 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 11 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 13 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/ta/LC_MESSAGES/index.po | 2 +- sphinx/po/ta/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../ta/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 16 +- .../tutorials/2d/2d_sprite_animation.po | 23 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 22 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 28 +- .../po/ta/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 374 ++++ .../tutorials/2d/particle_systems_2d.po | 341 +--- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 34 +- .../tutorials/3d/3d_rendering_limitations.po | 109 +- .../po/ta/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../ta/LC_MESSAGES/tutorials/3d/csg_tools.po | 35 +- .../3d/environment_and_post_processing.po | 20 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 95 +- .../global_illumination/reflection_probes.po | 18 +- .../global_illumination/using_lightmap_gi.po | 18 +- .../3d/global_illumination/using_sdfgi.po | 9 +- .../3d/global_illumination/using_voxel_gi.po | 16 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/ta/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 64 +- .../ta/LC_MESSAGES/tutorials/3d/mesh_lod.po | 40 +- .../tutorials/3d/occlusion_culling.po | 47 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 20 +- .../ta/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 53 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 25 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 36 +- .../tutorials/3d/visibility_ranges.po | 11 +- .../tutorials/3d/volumetric_fog.po | 45 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 5 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 162 -- .../assets_pipeline/escn_exporter/index.po | 62 +- .../assets_pipeline/escn_exporter/lights.po | 69 - .../assets_pipeline/escn_exporter/material.po | 145 -- .../assets_pipeline/escn_exporter/mesh.po | 53 - .../assets_pipeline/escn_exporter/physics.po | 109 -- .../assets_pipeline/escn_exporter/skeleton.po | 79 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 11 +- .../importing_3d_scenes/available_formats.po | 59 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 15 +- .../assets_pipeline/importing_images.po | 61 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../ta/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 9 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 5 +- .../ta/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 14 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 43 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 69 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 21 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 69 +- .../tutorials/export/exporting_for_android.po | 20 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 51 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 14 +- .../tutorials/export/feature_tags.po | 21 +- .../ta/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/ta/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 15 +- .../ta/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 30 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../ta/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 42 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../ta/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/ta/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 33 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/ta/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 17 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 13 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 9 +- .../migrating/upgrading_to_godot_4.2.po | 9 +- .../migrating/upgrading_to_godot_4.3.po | 9 +- .../migrating/upgrading_to_godot_4.po | 67 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 37 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 15 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 9 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 22 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 21 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 11 +- .../tutorials/performance/using_servers.po | 22 +- .../animating_thousands_of_fish.po | 13 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 15 +- .../tutorials/physics/collision_shapes_3d.po | 13 +- .../ta/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po} | 12 +- .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 15 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 27 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 12 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 9 +- .../platform/web/customizing_html5_shell.po | 16 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 12 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 48 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../ta/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 11 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 32 +- .../rendering/multiple_resolutions.po | 9 +- .../tutorials/rendering/renderers.po | 78 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 9 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 11 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 14 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 38 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 12 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 31 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 72 +- .../scripting/gdscript/gdscript_advanced.po | 31 +- .../scripting/gdscript/gdscript_basics.po | 33 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 34 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 11 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 8 +- .../scripting/gdscript/warning_system.po | 15 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 18 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 16 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 13 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 13 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 12 +- .../ta/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 148 -- .../shader_reference/canvas_item_shader.po | 190 +- .../shaders/shader_reference/fog_shader.po | 18 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 114 +- .../shader_reference/shader_functions.po | 221 +++ .../shader_reference/shader_preprocessor.po | 29 +- .../shader_reference/shading_language.po | 1523 ++-------------- .../shaders/shader_reference/sky_shader.po | 42 +- .../shader_reference/spatial_shader.po | 350 +--- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 16 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 252 +-- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 70 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 40 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 11 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 20 +- .../tutorials/ui/gui_using_theme_editor.po | 12 +- .../po/ta/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 22 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/ta/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 15 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 16 +- .../tutorials/xr/openxr_hand_tracking.po | 5 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 64 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 22 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/tr/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/tr/LC_MESSAGES/about/faq.po | 28 +- .../po/tr/LC_MESSAGES/about/introduction.po | 2 +- .../tr/LC_MESSAGES/about/list_of_features.po | 183 +- .../po/tr/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 101 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/tr/LC_MESSAGES/community/channels.po | 2 +- .../po/tr/LC_MESSAGES/community/tutorials.po | 11 +- .../best_practices_for_engine_contributors.po | 33 +- .../development/code_style_guidelines.po | 30 +- .../compiling/compiling_for_android.po | 9 +- .../compiling/compiling_for_ios.po | 9 +- .../compiling/compiling_for_linuxbsd.po | 20 +- .../compiling/compiling_for_macos.po | 36 +- .../compiling/compiling_for_web.po | 24 +- .../compiling/compiling_for_windows.po | 18 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 27 +- .../compiling/optimizing_for_size.po | 74 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 9 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 49 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 9 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 21 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 11 +- .../core_and_modules/core_types.po | 36 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 17 +- .../core_and_modules/custom_platform_ports.po | 34 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 378 +--- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 21 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 13 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 12 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 24 +- .../documentation/docs_writing_guidelines.po | 2 +- .../editor_and_docs_localization.po | 36 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 19 +- .../contributing/how_to_contribute.po | 16 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 5 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 14 +- .../first_2d_game/02.player_scene.po | 20 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 12 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 13 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 7 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 12 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 14 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/tr/LC_MESSAGES/index.po | 2 +- sphinx/po/tr/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../tr/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 16 +- .../tutorials/2d/2d_sprite_animation.po | 25 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 24 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 29 +- .../po/tr/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 337 ++++ .../tutorials/2d/particle_systems_2d.po | 354 +--- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 11 +- .../tutorials/3d/3d_rendering_limitations.po | 2 +- .../po/tr/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../tr/LC_MESSAGES/tutorials/3d/csg_tools.po | 14 +- .../3d/environment_and_post_processing.po | 2 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 2 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 2 +- .../3d/global_illumination/using_sdfgi.po | 2 +- .../3d/global_illumination/using_voxel_gi.po | 2 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/tr/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 2 +- .../tr/LC_MESSAGES/tutorials/3d/mesh_lod.po | 2 +- .../tutorials/3d/occlusion_culling.po | 2 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 2 +- .../tr/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 2 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 2 +- .../tutorials/3d/visibility_ranges.po | 2 +- .../tutorials/3d/volumetric_fog.po | 2 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 2 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 33 - .../assets_pipeline/escn_exporter/index.po | 2 +- .../assets_pipeline/escn_exporter/lights.po | 18 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 2 +- .../importing_3d_scenes/available_formats.po | 2 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 2 +- .../assets_pipeline/importing_images.po | 2 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../tr/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 9 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 5 +- .../tr/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 14 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 44 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 71 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../using_the_xr_editor.po} | 13 +- .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 2 +- .../tutorials/export/exporting_for_android.po | 5 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 2 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 2 +- .../tutorials/export/feature_tags.po | 2 +- .../tr/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/tr/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 2 +- .../tr/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 2 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../tr/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 2 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../tr/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/tr/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/tr/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 2 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 2 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 9 +- .../migrating/upgrading_to_godot_4.2.po | 9 +- .../migrating/upgrading_to_godot_4.3.po | 9 +- .../migrating/upgrading_to_godot_4.po | 72 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 2 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 2 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 2 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 2 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 2 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../pipeline_compilations.po} | 5 +- .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 2 +- .../tutorials/performance/using_servers.po | 11 +- .../animating_thousands_of_fish.po | 2 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 2 +- .../tutorials/physics/collision_shapes_3d.po | 2 +- .../tr/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po} | 5 +- .../advanced_physics_interpolation.po} | 6 +- .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po} | 2 +- ...physics_interpolation_quick_start_guide.po | 12 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 2 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 2 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 2 +- .../platform/web/customizing_html5_shell.po | 2 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 2 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../tr/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 2 +- .../rendering/multiple_resolutions.po | 2 +- .../tutorials/rendering/renderers.po | 48 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 2 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 2 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 2 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 5 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 24 + .../gdextension/gdextension_cpp_example.po | 2 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 2 +- .../scripting/gdscript/gdscript_advanced.po | 2 +- .../scripting/gdscript/gdscript_basics.po | 2 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 2 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 2 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 2 +- .../scripting/gdscript/warning_system.po | 2 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 2 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 2 +- .../tr/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../shader_reference/canvas_item_shader.po | 2 +- .../shaders/shader_reference/fog_shader.po | 2 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 2 +- .../shader_reference/shader_functions.po | 15 + .../shader_reference/shader_preprocessor.po | 2 +- .../shader_reference/shading_language.po | 5 +- .../shaders/shader_reference/sky_shader.po | 2 +- .../shader_reference/spatial_shader.po | 2 +- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 2 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 2 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 74 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 2 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 2 +- .../tutorials/ui/gui_using_theme_editor.po | 2 +- .../po/tr/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/tr/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../po/uk/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/uk/LC_MESSAGES/about/faq.po | 28 +- .../po/uk/LC_MESSAGES/about/introduction.po | 2 +- .../uk/LC_MESSAGES/about/list_of_features.po | 185 +- .../po/uk/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 119 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../po/uk/LC_MESSAGES/community/channels.po | 2 +- .../po/uk/LC_MESSAGES/community/tutorials.po | 11 +- .../best_practices_for_engine_contributors.po | 32 +- .../development/code_style_guidelines.po | 29 +- .../compiling/compiling_for_android.po | 9 +- .../compiling/compiling_for_ios.po | 9 +- .../compiling/compiling_for_linuxbsd.po | 20 +- .../compiling/compiling_for_macos.po | 36 +- .../compiling/compiling_for_web.po | 23 +- .../compiling/compiling_for_windows.po | 18 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 26 +- .../compiling/optimizing_for_size.po | 74 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 9 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 49 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 9 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 20 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 11 +- .../core_and_modules/core_types.po | 36 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 18 +- .../core_and_modules/custom_platform_ports.po | 34 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 374 +--- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 20 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 13 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 11 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 24 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 37 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 19 +- .../contributing/how_to_contribute.po | 16 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 7 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 14 +- .../first_2d_game/02.player_scene.po | 20 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 14 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 5 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 11 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 11 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 13 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/uk/LC_MESSAGES/index.po | 2 +- sphinx/po/uk/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../uk/LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 17 +- .../tutorials/2d/2d_sprite_animation.po | 23 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 22 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 29 +- .../po/uk/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 376 ++++ .../tutorials/2d/particle_systems_2d.po | 346 +--- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 35 +- .../tutorials/3d/3d_rendering_limitations.po | 112 +- .../po/uk/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../uk/LC_MESSAGES/tutorials/3d/csg_tools.po | 35 +- .../3d/environment_and_post_processing.po | 22 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 101 +- .../global_illumination/reflection_probes.po | 18 +- .../global_illumination/using_lightmap_gi.po | 19 +- .../3d/global_illumination/using_sdfgi.po | 9 +- .../3d/global_illumination/using_voxel_gi.po | 16 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../po/uk/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 65 +- .../uk/LC_MESSAGES/tutorials/3d/mesh_lod.po | 44 +- .../tutorials/3d/occlusion_culling.po | 48 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 21 +- .../uk/LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 54 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 26 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 40 +- .../tutorials/3d/visibility_ranges.po | 11 +- .../tutorials/3d/volumetric_fog.po | 47 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 5 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 158 -- .../assets_pipeline/escn_exporter/index.po | 63 +- .../assets_pipeline/escn_exporter/lights.po | 69 - .../assets_pipeline/escn_exporter/material.po | 148 -- .../assets_pipeline/escn_exporter/mesh.po | 53 - .../assets_pipeline/escn_exporter/physics.po | 109 -- .../assets_pipeline/escn_exporter/skeleton.po | 81 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 11 +- .../importing_3d_scenes/available_formats.po | 61 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 15 +- .../assets_pipeline/importing_images.po | 59 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../uk/LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 9 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 9 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 5 +- .../uk/LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 13 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 45 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 70 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 21 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 69 +- .../tutorials/export/exporting_for_android.po | 21 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 56 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 15 +- .../tutorials/export/feature_tags.po | 22 +- .../uk/LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../po/uk/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 16 +- .../uk/LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 29 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../uk/LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 42 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../uk/LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../po/uk/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 33 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../po/uk/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 17 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 13 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 10 +- .../migrating/upgrading_to_godot_4.2.po | 10 +- .../migrating/upgrading_to_godot_4.3.po | 10 +- .../migrating/upgrading_to_godot_4.po | 73 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 38 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 15 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 8 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 26 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 22 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 11 +- .../tutorials/performance/using_servers.po | 23 +- .../animating_thousands_of_fish.po | 13 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 15 +- .../tutorials/physics/collision_shapes_3d.po | 13 +- .../uk/LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 15 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 28 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 12 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 9 +- .../platform/web/customizing_html5_shell.po | 16 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 13 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 48 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../uk/LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 11 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 33 +- .../rendering/multiple_resolutions.po | 10 +- .../tutorials/rendering/renderers.po | 80 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 9 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 11 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 14 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 37 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 12 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 33 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 80 +- .../scripting/gdscript/gdscript_advanced.po | 30 +- .../scripting/gdscript/gdscript_basics.po | 33 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 35 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 11 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 8 +- .../scripting/gdscript/warning_system.po | 14 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 18 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 16 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 14 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 13 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 13 +- .../uk/LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 155 -- .../shader_reference/canvas_item_shader.po | 190 +- .../shaders/shader_reference/fog_shader.po | 19 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 116 +- .../shader_reference/shader_functions.po | 220 +++ .../shader_reference/shader_preprocessor.po | 29 +- .../shader_reference/shading_language.po | 1552 +++------------- .../shaders/shader_reference/sky_shader.po | 44 +- .../shader_reference/spatial_shader.po | 359 +--- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 17 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 256 +-- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 73 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 41 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 11 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 20 +- .../tutorials/ui/gui_using_theme_editor.po | 12 +- .../po/uk/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 22 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../po/uk/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 15 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 16 +- .../tutorials/xr/openxr_hand_tracking.po | 5 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 66 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 21 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../zh_CN/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/zh_CN/LC_MESSAGES/about/faq.po | 24 +- .../zh_CN/LC_MESSAGES/about/introduction.po | 2 +- .../LC_MESSAGES/about/list_of_features.po | 156 +- .../zh_CN/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 89 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../zh_CN/LC_MESSAGES/community/channels.po | 2 +- .../zh_CN/LC_MESSAGES/community/tutorials.po | 11 +- .../best_practices_for_engine_contributors.po | 9 +- .../development/code_style_guidelines.po | 7 +- .../compiling/compiling_for_android.po | 8 +- .../compiling/compiling_for_ios.po | 8 +- .../compiling/compiling_for_linuxbsd.po | 8 +- .../compiling/compiling_for_macos.po | 22 +- .../compiling/compiling_for_web.po | 19 +- .../compiling/compiling_for_windows.po | 10 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 23 +- .../compiling/optimizing_for_size.po | 74 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 8 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 30 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 9 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 18 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 10 +- .../core_and_modules/core_types.po | 32 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 2 +- .../core_and_modules/custom_platform_ports.po | 22 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 143 +- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 18 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 11 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 11 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 21 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 34 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 16 +- .../contributing/how_to_contribute.po | 14 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 5 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 12 +- .../first_2d_game/02.player_scene.po | 19 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 12 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 5 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 10 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 10 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 12 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/zh_CN/LC_MESSAGES/index.po | 2 +- sphinx/po/zh_CN/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 15 +- .../tutorials/2d/2d_sprite_animation.po | 20 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 20 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 25 +- .../zh_CN/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 345 ++++ .../tutorials/2d/particle_systems_2d.po | 318 +--- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 29 +- .../tutorials/3d/3d_rendering_limitations.po | 96 +- .../zh_CN/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../LC_MESSAGES/tutorials/3d/csg_tools.po | 32 +- .../3d/environment_and_post_processing.po | 19 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 83 +- .../global_illumination/reflection_probes.po | 17 +- .../global_illumination/using_lightmap_gi.po | 16 +- .../3d/global_illumination/using_sdfgi.po | 8 +- .../3d/global_illumination/using_voxel_gi.po | 16 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../zh_CN/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 59 +- .../LC_MESSAGES/tutorials/3d/mesh_lod.po | 36 +- .../tutorials/3d/occlusion_culling.po | 39 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 19 +- .../LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 44 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 24 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 32 +- .../tutorials/3d/visibility_ranges.po | 10 +- .../tutorials/3d/volumetric_fog.po | 39 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 5 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 147 -- .../assets_pipeline/escn_exporter/index.po | 56 +- .../assets_pipeline/escn_exporter/lights.po | 62 - .../assets_pipeline/escn_exporter/material.po | 133 -- .../assets_pipeline/escn_exporter/mesh.po | 49 - .../assets_pipeline/escn_exporter/physics.po | 98 - .../assets_pipeline/escn_exporter/skeleton.po | 76 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 10 +- .../importing_3d_scenes/available_formats.po | 52 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 13 +- .../assets_pipeline/importing_images.po | 50 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 9 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 7 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 33 +- .../tutorials/editor/external_editor.po | 5 +- .../LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 12 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 40 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 64 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 21 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 62 +- .../tutorials/export/exporting_for_android.po | 18 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 47 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 13 +- .../tutorials/export/feature_tags.po | 19 +- .../LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../zh_CN/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 15 +- .../LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 25 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 38 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../zh_CN/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 31 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../zh_CN/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 15 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 12 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 9 +- .../migrating/upgrading_to_godot_4.2.po | 9 +- .../migrating/upgrading_to_godot_4.3.po | 9 +- .../migrating/upgrading_to_godot_4.po | 64 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 36 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 13 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 8 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 23 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 18 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 10 +- .../tutorials/performance/using_servers.po | 20 +- .../animating_thousands_of_fish.po | 12 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 14 +- .../tutorials/physics/collision_shapes_3d.po | 12 +- .../LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 15 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 27 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 11 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 7 +- .../platform/web/customizing_html5_shell.po | 14 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 44 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 10 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 29 +- .../rendering/multiple_resolutions.po | 2 +- .../tutorials/rendering/renderers.po | 75 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 8 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 10 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 12 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 35 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 11 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 29 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 60 +- .../scripting/gdscript/gdscript_advanced.po | 26 +- .../scripting/gdscript/gdscript_basics.po | 32 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 31 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 10 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 8 +- .../scripting/gdscript/warning_system.po | 13 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 10 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 12 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 12 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 2 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 12 +- .../LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 111 -- .../shader_reference/canvas_item_shader.po | 82 +- .../shaders/shader_reference/fog_shader.po | 8 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 37 +- .../shader_reference/shader_functions.po | 201 +++ .../shader_reference/shader_preprocessor.po | 24 +- .../shader_reference/shading_language.po | 1248 ++----------- .../shaders/shader_reference/sky_shader.po | 32 +- .../shader_reference/spatial_shader.po | 299 +--- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 15 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 125 +- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 62 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 13 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 10 +- .../tutorials/ui/gui_using_theme_editor.po | 11 +- .../zh_CN/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 20 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../zh_CN/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 2 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 45 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- .../about/complying_with_licenses.po | 2 +- .../zh_TW/LC_MESSAGES/about/docs_changelog.po | 44 +- sphinx/po/zh_TW/LC_MESSAGES/about/faq.po | 11 +- .../zh_TW/LC_MESSAGES/about/introduction.po | 2 +- .../LC_MESSAGES/about/list_of_features.po | 139 +- .../zh_TW/LC_MESSAGES/about/release_policy.po | 2 +- .../LC_MESSAGES/about/system_requirements.po | 14 +- .../community/asset_library/index.po | 2 +- .../asset_library/submitting_to_assetlib.po | 2 +- .../community/asset_library/using_assetlib.po | 2 +- .../asset_library/what_is_assetlib.po | 2 +- .../zh_TW/LC_MESSAGES/community/channels.po | 2 +- .../zh_TW/LC_MESSAGES/community/tutorials.po | 8 +- .../best_practices_for_engine_contributors.po | 29 +- .../development/code_style_guidelines.po | 14 +- .../compiling/compiling_for_android.po | 5 +- .../compiling/compiling_for_ios.po | 5 +- .../compiling/compiling_for_linuxbsd.po | 14 +- .../compiling/compiling_for_macos.po | 26 +- .../compiling/compiling_for_web.po | 5 +- .../compiling/compiling_for_windows.po | 2 +- .../compiling/compiling_with_dotnet.po | 2 +- .../compiling_with_script_encryption_key.po | 2 +- .../cross-compiling_for_ios_on_linux.po | 2 +- .../development/compiling/getting_source.po | 2 +- .../development/compiling/index.po | 2 +- .../introduction_to_the_buildsystem.po | 23 +- .../compiling/optimizing_for_size.po | 74 +- .../configuring_an_ide/android_studio.po | 2 +- .../development/configuring_an_ide/clion.po | 2 +- .../configuring_an_ide/code_blocks.po | 8 +- .../development/configuring_an_ide/index.po | 2 +- .../configuring_an_ide/kdevelop.po | 2 +- .../configuring_an_ide/qt_creator.po | 2 +- .../development/configuring_an_ide/rider.po | 45 +- .../configuring_an_ide/visual_studio.po | 2 +- .../configuring_an_ide/visual_studio_code.po | 9 +- .../development/configuring_an_ide/xcode.po | 2 +- .../core_and_modules/2d_coordinate_systems.po | 17 +- .../binding_to_external_libraries.po | 2 +- .../common_engine_methods_and_macros.po | 10 +- .../core_and_modules/core_types.po | 32 +- .../core_and_modules/custom_audiostreams.po | 2 +- .../core_and_modules/custom_godot_servers.po | 2 +- .../core_and_modules/custom_modules_in_cpp.po | 15 +- .../core_and_modules/custom_platform_ports.po | 31 +- .../custom_resource_format_loaders.po | 2 +- .../godot_architecture_diagram.po | 2 +- .../development/core_and_modules/index.po | 2 +- .../inheritance_class_tree.po | 2 +- .../internal_rendering_architecture.po | 308 +--- .../core_and_modules/object_class.po | 2 +- .../core_and_modules/scripting_development.po | 2 +- .../core_and_modules/unit_testing.po | 12 +- .../core_and_modules/variant_class.po | 2 +- .../development/cpp_usage_guidelines.po | 2 +- .../development/debugging/index.po | 2 +- .../development/debugging/macos_debug.po | 2 +- .../debugging/using_cpp_profilers.po | 2 +- .../development/debugging/using_sanitizers.po | 2 +- .../development/debugging/vulkan/index.po | 2 +- .../vulkan/vulkan_validation_layers.po | 2 +- .../development/editor/creating_icons.po | 2 +- .../development/editor/editor_style_guide.po | 2 +- .../contributing/development/editor/index.po | 2 +- .../introduction_to_editor_development.po | 2 +- .../file_formats/gdscript_grammar.po | 2 +- .../development/file_formats/index.po | 2 +- .../development/file_formats/tscn.po | 2 +- .../handling_compatibility_breakages.po | 2 +- .../contributing/development/index.po | 2 +- .../documentation/building_the_manual.po | 11 +- .../documentation/class_reference_primer.po | 2 +- .../documentation/content_guidelines.po | 2 +- .../contributing_to_the_documentation.po | 2 +- .../documentation/docs_image_guidelines.po | 13 +- .../documentation/docs_writing_guidelines.po | 5 +- .../editor_and_docs_localization.po | 34 +- .../contributing/documentation/index.po | 2 +- .../updating_the_class_reference.po | 16 +- .../contributing/how_to_contribute.po | 2 +- .../workflow/bisecting_regressions.po | 2 +- .../workflow/bug_triage_guidelines.po | 5 +- .../contributing/workflow/first_steps.po | 2 +- .../contributing/workflow/index.po | 2 +- .../workflow/pr_review_guidelines.po | 5 +- .../contributing/workflow/pr_workflow.po | 2 +- .../workflow/testing_pull_requests.po | 2 +- .../first_2d_game/01.project_setup.po | 2 +- .../first_2d_game/02.player_scene.po | 19 +- .../first_2d_game/03.coding_the_player.po | 2 +- .../first_2d_game/04.creating_the_enemy.po | 11 +- .../first_2d_game/05.the_main_game_scene.po | 2 +- .../first_2d_game/06.heads_up_display.po | 2 +- .../first_2d_game/07.finishing-up.po | 2 +- .../getting_started/first_2d_game/index.po | 2 +- .../first_3d_game/01.game_setup.po | 2 +- .../first_3d_game/02.player_input.po | 2 +- .../first_3d_game/03.player_movement_code.po | 12 +- .../first_3d_game/04.mob_scene.po | 2 +- .../first_3d_game/05.spawning_mobs.po | 2 +- .../first_3d_game/06.jump_and_squash.po | 2 +- .../first_3d_game/07.killing_player.po | 2 +- .../first_3d_game/08.score_and_replay.po | 2 +- .../first_3d_game/09.adding_animations.po | 2 +- .../first_3d_game/going_further.po | 2 +- .../getting_started/first_3d_game/index.po | 5 +- .../introduction/first_look_at_the_editor.po | 5 +- .../introduction/godot_design_philosophy.po | 2 +- .../getting_started/introduction/index.po | 2 +- .../introduction/introduction_to_godot.po | 2 +- .../introduction/key_concepts_overview.po | 10 +- .../learn_to_code_with_gdscript.po | 2 +- .../introduction/learning_new_features.po | 2 +- .../getting_started/step_by_step/index.po | 2 +- .../step_by_step/instancing.po | 10 +- .../step_by_step/nodes_and_scenes.po | 2 +- .../step_by_step/scripting_first_script.po | 2 +- .../step_by_step/scripting_languages.po | 13 +- .../step_by_step/scripting_player_input.po | 2 +- .../getting_started/step_by_step/signals.po | 2 +- sphinx/po/zh_TW/LC_MESSAGES/index.po | 2 +- sphinx/po/zh_TW/LC_MESSAGES/sphinx.po | 2 +- .../tutorials/2d/2d_antialiasing.po | 2 +- .../tutorials/2d/2d_lights_and_shadows.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_meshes.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_movement.po | 2 +- .../LC_MESSAGES/tutorials/2d/2d_parallax.po | 5 +- .../tutorials/2d/2d_sprite_animation.po | 20 +- .../LC_MESSAGES/tutorials/2d/2d_transforms.po | 21 +- .../LC_MESSAGES/tutorials/2d/canvas_layers.po | 2 +- .../tutorials/2d/custom_drawing_in_2d.po | 2 +- .../zh_TW/LC_MESSAGES/tutorials/2d/index.po | 2 +- .../tutorials/2d/introduction_to_2d.po | 2 +- .../2d/particle_process_material_2d.po | 217 +++ .../tutorials/2d/particle_systems_2d.po | 228 +-- .../tutorials/2d/using_tilemaps.po | 2 +- .../tutorials/2d/using_tilesets.po | 2 +- .../tutorials/3d/3d_antialiasing.po | 30 +- .../tutorials/3d/3d_rendering_limitations.po | 92 +- .../zh_TW/LC_MESSAGES/tutorials/3d/3d_text.po | 2 +- .../LC_MESSAGES/tutorials/3d/csg_tools.po | 14 +- .../3d/environment_and_post_processing.po | 18 +- .../faking_global_illumination.po | 2 +- .../tutorials/3d/global_illumination/index.po | 2 +- .../introduction_to_global_illumination.po | 83 +- .../global_illumination/reflection_probes.po | 2 +- .../global_illumination/using_lightmap_gi.po | 15 +- .../3d/global_illumination/using_sdfgi.po | 9 +- .../3d/global_illumination/using_voxel_gi.po | 15 +- .../tutorials/3d/high_dynamic_range.po | 2 +- .../zh_TW/LC_MESSAGES/tutorials/3d/index.po | 2 +- .../tutorials/3d/introduction_to_3d.po | 2 +- .../tutorials/3d/lights_and_shadows.po | 57 +- .../LC_MESSAGES/tutorials/3d/mesh_lod.po | 36 +- .../tutorials/3d/occlusion_culling.po | 38 +- .../tutorials/3d/particles/attractors.po | 2 +- .../tutorials/3d/particles/collision.po | 2 +- .../tutorials/3d/particles/complex_shapes.po | 2 +- .../creating_a_3d_particle_system.po | 2 +- .../tutorials/3d/particles/index.po | 2 +- .../particles/process_material_properties.po | 2 +- .../tutorials/3d/particles/properties.po | 2 +- .../tutorials/3d/particles/subemitters.po | 2 +- .../tutorials/3d/particles/trails.po | 2 +- .../tutorials/3d/particles/turbulence.po | 2 +- .../3d/physical_light_and_camera_units.po | 2 +- .../3d/procedural_geometry/arraymesh.po | 2 +- .../3d/procedural_geometry/immediatemesh.po | 2 +- .../tutorials/3d/procedural_geometry/index.po | 2 +- .../3d/procedural_geometry/meshdatatool.po | 2 +- .../3d/procedural_geometry/surfacetool.po | 2 +- .../tutorials/3d/resolution_scaling.po | 19 +- .../LC_MESSAGES/tutorials/3d/spring_arm.po | 2 +- .../tutorials/3d/standard_material_3d.po | 2 +- .../LC_MESSAGES/tutorials/3d/using_decals.po | 24 +- .../tutorials/3d/using_gridmaps.po | 2 +- .../tutorials/3d/using_multi_mesh_instance.po | 2 +- .../tutorials/3d/using_transforms.po | 2 +- .../tutorials/3d/variable_rate_shading.po | 32 +- .../tutorials/3d/visibility_ranges.po | 10 +- .../tutorials/3d/volumetric_fog.po | 39 +- .../tutorials/animation/2d_skeletons.po | 2 +- .../animation/animation_track_types.po | 5 +- .../tutorials/animation/animation_tree.po | 2 +- .../tutorials/animation/creating_movies.po | 2 +- .../tutorials/animation/cutout_animation.po | 2 +- .../LC_MESSAGES/tutorials/animation/index.po | 2 +- .../tutorials/animation/introduction.po | 2 +- .../tutorials/animation/playing_videos.po | 2 +- .../escn_exporter/animation.po | 136 -- .../assets_pipeline/escn_exporter/index.po | 54 +- .../assets_pipeline/escn_exporter/lights.po | 62 - .../assets_pipeline/escn_exporter/material.po | 129 -- .../assets_pipeline/escn_exporter/mesh.po | 49 - .../assets_pipeline/escn_exporter/physics.po | 99 -- .../assets_pipeline/escn_exporter/skeleton.po | 67 - .../assets_pipeline/exporting_3d_scenes.po | 2 +- .../assets_pipeline/import_process.po | 10 +- .../importing_3d_scenes/available_formats.po | 52 +- .../import_configuration.po | 2 +- .../importing_3d_scenes/index.po | 2 +- .../model_export_considerations.po | 2 +- .../node_type_customization.po | 2 +- .../importing_audio_samples.po | 13 +- .../assets_pipeline/importing_images.po | 50 +- .../assets_pipeline/importing_translations.po | 2 +- .../tutorials/assets_pipeline/index.po | 2 +- .../retargeting_3d_skeletons.po | 2 +- .../tutorials/audio/audio_buses.po | 2 +- .../tutorials/audio/audio_effects.po | 2 +- .../tutorials/audio/audio_streams.po | 2 +- .../LC_MESSAGES/tutorials/audio/index.po | 2 +- .../audio/recording_with_microphone.po | 2 +- .../tutorials/audio/sync_with_audio.po | 2 +- .../tutorials/audio/text_to_speech.po | 2 +- .../autoloads_versus_internal_nodes.po | 2 +- .../best_practices/data_preferences.po | 2 +- .../best_practices/godot_interfaces.po | 2 +- .../best_practices/godot_notifications.po | 2 +- .../tutorials/best_practices/index.po | 2 +- .../introduction_best_practices.po | 2 +- .../best_practices/logic_preferences.po | 7 +- .../best_practices/node_alternatives.po | 2 +- .../best_practices/project_organization.po | 2 +- .../best_practices/scene_organization.po | 2 +- .../best_practices/scenes_versus_scripts.po | 2 +- .../best_practices/version_control_systems.po | 2 +- .../best_practices/what_are_godot_classes.po | 2 +- .../tutorials/editor/command_line_tutorial.po | 5 +- .../tutorials/editor/customizing_editor.po | 2 +- .../tutorials/editor/default_key_mapping.po | 21 +- .../tutorials/editor/external_editor.po | 5 +- .../LC_MESSAGES/tutorials/editor/index.po | 2 +- .../tutorials/editor/inspector_dock.po | 2 +- .../editor/managing_editor_features.po | 12 +- .../tutorials/editor/project_manager.po | 5 +- .../tutorials/editor/project_settings.po | 40 +- .../tutorials/editor/script_editor.po | 18 + .../editor/using_the_android_editor.po | 49 +- .../tutorials/editor/using_the_web_editor.po | 2 +- .../tutorials/editor/using_the_xr_editor.po | 21 + .../tutorials/export/android_gradle_build.po | 2 +- .../changing_application_icon_for_windows.po | 61 +- .../tutorials/export/exporting_for_android.po | 19 +- .../export/exporting_for_dedicated_servers.po | 2 +- .../tutorials/export/exporting_for_ios.po | 2 +- .../tutorials/export/exporting_for_linux.po | 2 +- .../tutorials/export/exporting_for_macos.po | 2 +- .../tutorials/export/exporting_for_web.po | 39 +- .../tutorials/export/exporting_for_windows.po | 2 +- .../tutorials/export/exporting_pcks.po | 2 +- .../tutorials/export/exporting_projects.po | 13 +- .../tutorials/export/feature_tags.po | 8 +- .../LC_MESSAGES/tutorials/export/index.po | 2 +- .../tutorials/export/one-click_deploy.po | 2 +- .../tutorials/export/running_on_macos.po | 2 +- .../zh_TW/LC_MESSAGES/tutorials/i18n/index.po | 2 +- .../i18n/internationalizing_games.po | 15 +- .../LC_MESSAGES/tutorials/i18n/locales.po | 2 +- .../i18n/localization_using_gettext.po | 2 +- .../tutorials/i18n/pseudolocalization.po | 2 +- .../inputs/controllers_gamepads_joysticks.po | 25 +- .../tutorials/inputs/custom_mouse_cursor.po | 2 +- .../inputs/handling_quit_requests.po | 2 +- .../LC_MESSAGES/tutorials/inputs/index.po | 2 +- .../tutorials/inputs/input_examples.po | 2 +- .../tutorials/inputs/inputevent.po | 29 +- .../inputs/mouse_and_input_coordinates.po | 2 +- .../tutorials/io/background_loading.po | 2 +- .../tutorials/io/binary_serialization_api.po | 2 +- .../LC_MESSAGES/tutorials/io/data_paths.po | 2 +- .../zh_TW/LC_MESSAGES/tutorials/io/index.po | 2 +- .../io/runtime_file_loading_and_saving.po | 2 +- .../LC_MESSAGES/tutorials/io/saving_games.po | 2 +- .../tutorials/math/beziers_and_curves.po | 2 +- .../zh_TW/LC_MESSAGES/tutorials/math/index.po | 2 +- .../tutorials/math/interpolation.po | 15 +- .../tutorials/math/matrices_and_transforms.po | 2 +- .../math/random_number_generation.po | 12 +- .../LC_MESSAGES/tutorials/math/vector_math.po | 2 +- .../tutorials/math/vectors_advanced.po | 2 +- .../LC_MESSAGES/tutorials/migrating/index.po | 2 +- .../migrating/upgrading_to_godot_4.1.po | 9 +- .../migrating/upgrading_to_godot_4.2.po | 9 +- .../migrating/upgrading_to_godot_4.3.po | 9 +- .../migrating/upgrading_to_godot_4.po | 64 +- .../LC_MESSAGES/tutorials/navigation/index.po | 2 +- .../navigation_connecting_navmesh.po | 2 +- .../navigation/navigation_debug_tools.po | 2 +- .../navigation_different_actor_area_access.po | 2 +- .../navigation_different_actor_locomotion.po | 2 +- .../navigation_different_actor_types.po | 2 +- .../navigation/navigation_introduction_2d.po | 2 +- .../navigation/navigation_introduction_3d.po | 2 +- .../navigation_optimizing_performance.po | 2 +- .../navigation_using_navigationagents.po | 35 +- .../navigation_using_navigationlayers.po | 2 +- .../navigation_using_navigationlinks.po | 13 +- .../navigation_using_navigationmaps.po | 2 +- .../navigation_using_navigationmeshes.po | 2 +- .../navigation_using_navigationobstacles.po | 2 +- ...gation_using_navigationpathqueryobjects.po | 2 +- .../navigation_using_navigationpaths.po | 2 +- .../navigation_using_navigationregions.po | 2 +- .../navigation_using_navigationservers.po | 2 +- .../networking/high_level_multiplayer.po | 9 +- .../tutorials/networking/http_client_class.po | 2 +- .../networking/http_request_class.po | 2 +- .../LC_MESSAGES/tutorials/networking/index.po | 2 +- .../tutorials/networking/ssl_certificates.po | 2 +- .../tutorials/networking/webrtc.po | 2 +- .../tutorials/networking/websocket.po | 25 +- .../tutorials/performance/cpu_optimization.po | 2 +- .../performance/general_optimization.po | 18 +- .../tutorials/performance/gpu_optimization.po | 2 +- .../tutorials/performance/index.po | 2 +- .../performance/optimizing_3d_performance.po | 2 +- .../performance/pipeline_compilations.po | 12 + .../tutorials/performance/thread_safe_apis.po | 2 +- .../tutorials/performance/using_multimesh.po | 2 +- .../performance/using_multiple_threads.po | 10 +- .../tutorials/performance/using_servers.po | 20 +- .../animating_thousands_of_fish.po | 12 +- .../controlling_thousands_of_fish.po | 2 +- .../performance/vertex_animation/index.po | 2 +- .../tutorials/physics/collision_shapes_2d.po | 13 +- .../tutorials/physics/collision_shapes_3d.po | 12 +- .../LC_MESSAGES/tutorials/physics/index.po | 2 +- .../2d_and_3d_physics_interpolation.po | 12 + .../advanced_physics_interpolation.po | 18 + .../tutorials/physics/interpolation/index.po | 12 + .../physics_interpolation_introduction.po | 15 + ...physics_interpolation_quick_start_guide.po | 15 + .../using_physics_interpolation.po | 12 + .../physics/kinematic_character_2d.po | 2 +- .../physics/large_world_coordinates.po | 2 +- .../tutorials/physics/physics_introduction.po | 2 +- .../tutorials/physics/ragdoll_system.po | 2 +- .../tutorials/physics/ray-casting.po | 26 +- .../tutorials/physics/rigid_body.po | 2 +- .../tutorials/physics/soft_body.po | 2 +- .../physics/troubleshooting_physics_issues.po | 2 +- .../tutorials/physics/using_area_2d.po | 2 +- .../physics/using_character_body_2d.po | 2 +- .../android/android_in_app_purchases.po | 2 +- .../platform/android/android_library.po | 2 +- .../platform/android/android_plugin.po | 2 +- .../tutorials/platform/android/index.po | 2 +- .../tutorials/platform/consoles.po | 11 +- .../LC_MESSAGES/tutorials/platform/index.po | 2 +- .../tutorials/platform/ios/index.po | 2 +- .../tutorials/platform/ios/ios_plugin.po | 2 +- .../tutorials/platform/ios/plugins_for_ios.po | 7 +- .../platform/web/customizing_html5_shell.po | 9 +- .../platform/web/html5_shell_classref.po | 2 +- .../tutorials/platform/web/index.po | 2 +- .../platform/web/javascript_bridge.po | 2 +- .../tutorials/plugins/editor/3d_gizmos.po | 2 +- .../plugins/editor/import_plugins.po | 2 +- .../tutorials/plugins/editor/index.po | 2 +- .../plugins/editor/inspector_plugins.po | 2 +- .../plugins/editor/installing_plugins.po | 2 +- .../editor/making_main_screen_plugins.po | 2 +- .../plugins/editor/making_plugins.po | 44 +- .../plugins/editor/visual_shader_plugins.po | 2 +- .../LC_MESSAGES/tutorials/plugins/index.po | 2 +- .../plugins/running_code_in_the_editor.po | 2 +- .../tutorials/rendering/compositor.po | 2 +- .../LC_MESSAGES/tutorials/rendering/index.po | 2 +- .../tutorials/rendering/jitter_stutter.po | 9 +- .../rendering/multiple_resolutions.po | 9 +- .../tutorials/rendering/renderers.po | 75 + .../tutorials/rendering/viewports.po | 2 +- .../scripting/c_sharp/c_sharp_basics.po | 9 +- .../scripting/c_sharp/c_sharp_collections.po | 2 +- .../scripting/c_sharp/c_sharp_differences.po | 2 +- .../scripting/c_sharp/c_sharp_exports.po | 10 +- .../scripting/c_sharp/c_sharp_features.po | 2 +- .../c_sharp/c_sharp_global_classes.po | 2 +- .../scripting/c_sharp/c_sharp_signals.po | 2 +- .../scripting/c_sharp/c_sharp_style_guide.po | 2 +- .../scripting/c_sharp/c_sharp_variant.po | 2 +- .../scripting/c_sharp/diagnostics/GD0001.po | 2 +- .../scripting/c_sharp/diagnostics/GD0002.po | 2 +- .../scripting/c_sharp/diagnostics/GD0003.po | 2 +- .../scripting/c_sharp/diagnostics/GD0101.po | 2 +- .../scripting/c_sharp/diagnostics/GD0102.po | 2 +- .../scripting/c_sharp/diagnostics/GD0103.po | 2 +- .../scripting/c_sharp/diagnostics/GD0104.po | 2 +- .../scripting/c_sharp/diagnostics/GD0105.po | 2 +- .../scripting/c_sharp/diagnostics/GD0106.po | 2 +- .../scripting/c_sharp/diagnostics/GD0107.po | 2 +- .../scripting/c_sharp/diagnostics/GD0201.po | 2 +- .../scripting/c_sharp/diagnostics/GD0202.po | 2 +- .../scripting/c_sharp/diagnostics/GD0203.po | 2 +- .../scripting/c_sharp/diagnostics/GD0301.po | 2 +- .../scripting/c_sharp/diagnostics/GD0302.po | 2 +- .../scripting/c_sharp/diagnostics/GD0303.po | 2 +- .../scripting/c_sharp/diagnostics/GD0401.po | 2 +- .../scripting/c_sharp/diagnostics/GD0402.po | 2 +- .../scripting/c_sharp/diagnostics/index.po | 2 +- .../tutorials/scripting/c_sharp/index.po | 2 +- .../scripting/change_scenes_manually.po | 2 +- .../scripting/creating_script_templates.po | 2 +- .../scripting/cross_language_scripting.po | 2 +- .../debug/custom_performance_monitors.po | 2 +- .../scripting/debug/debugger_panel.po | 11 +- .../tutorials/scripting/debug/index.po | 2 +- .../tutorials/scripting/debug/output_panel.po | 12 + .../debug/overview_of_debugging_tools.po | 2 +- .../tutorials/scripting/debug/the_profiler.po | 2 +- .../scripting/evaluating_expressions.po | 2 +- .../tutorials/scripting/filesystem.po | 2 +- .../gdextension/gdextension_c_example.po | 27 + .../gdextension/gdextension_cpp_example.po | 29 +- .../gdextension/gdextension_docs_system.po | 2 +- .../scripting/gdextension/gdextension_file.po | 2 +- .../tutorials/scripting/gdextension/index.po | 2 +- .../gdextension/what_is_gdextension.po | 55 +- .../scripting/gdscript/gdscript_advanced.po | 25 +- .../scripting/gdscript/gdscript_basics.po | 32 +- .../gdscript_documentation_comments.po | 2 +- .../scripting/gdscript/gdscript_exports.po | 30 +- .../gdscript/gdscript_format_string.po | 2 +- .../scripting/gdscript/gdscript_styleguide.po | 10 +- .../tutorials/scripting/gdscript/index.po | 2 +- .../scripting/gdscript/static_typing.po | 2 +- .../scripting/gdscript/warning_system.po | 2 +- .../LC_MESSAGES/tutorials/scripting/groups.po | 2 +- .../scripting/how_to_read_the_godot_api.po | 2 +- .../scripting/idle_and_physics_processing.po | 2 +- .../LC_MESSAGES/tutorials/scripting/index.po | 2 +- .../scripting/instancing_with_signals.po | 2 +- .../scripting/nodes_and_scene_instances.po | 2 +- .../scripting/overridable_functions.po | 2 +- .../tutorials/scripting/pausing_games.po | 2 +- .../tutorials/scripting/resources.po | 2 +- .../tutorials/scripting/scene_tree.po | 14 +- .../tutorials/scripting/scene_unique_nodes.po | 2 +- .../scripting/singletons_autoload.po | 2 +- .../shaders/advanced_postprocessing.po | 2 +- .../tutorials/shaders/compute_shaders.po | 12 +- .../converting_glsl_to_godot_shaders.po | 2 +- .../shaders/custom_postprocessing.po | 12 +- .../LC_MESSAGES/tutorials/shaders/index.po | 2 +- .../shaders/introduction_to_shaders.po | 2 +- .../tutorials/shaders/making_trees.po | 2 +- .../shaders/screen-reading_shaders.po | 2 +- .../tutorials/shaders/shader_materials.po | 138 -- .../shader_reference/canvas_item_shader.po | 114 +- .../shaders/shader_reference/fog_shader.po | 17 +- .../shaders/shader_reference/index.po | 2 +- .../shader_reference/particle_shader.po | 66 +- .../shader_reference/shader_functions.po | 219 +++ .../shader_reference/shader_preprocessor.po | 24 +- .../shader_reference/shading_language.po | 1213 +------------ .../shaders/shader_reference/sky_shader.po | 41 +- .../shader_reference/spatial_shader.po | 298 +--- .../tutorials/shaders/shaders_style_guide.po | 2 +- .../shaders/using_viewport_as_texture.po | 2 +- .../tutorials/shaders/visual_shaders.po | 15 +- .../shaders/your_first_shader/index.po | 2 +- .../your_first_shader/your_first_2d_shader.po | 2 +- .../your_first_shader/your_first_3d_shader.po | 227 +-- .../your_second_3d_shader.po | 2 +- .../LC_MESSAGES/tutorials/troubleshooting.po | 62 +- .../tutorials/ui/bbcode_in_richtextlabel.po | 38 +- .../tutorials/ui/control_node_gallery.po | 2 +- .../tutorials/ui/custom_gui_controls.po | 2 +- .../tutorials/ui/gui_containers.po | 2 +- .../tutorials/ui/gui_navigation.po | 2 +- .../LC_MESSAGES/tutorials/ui/gui_skinning.po | 2 +- .../tutorials/ui/gui_theme_type_variations.po | 2 +- .../tutorials/ui/gui_using_fonts.po | 18 +- .../tutorials/ui/gui_using_theme_editor.po | 10 +- .../zh_TW/LC_MESSAGES/tutorials/ui/index.po | 2 +- .../tutorials/ui/size_and_anchors.po | 2 +- .../tutorials/xr/a_better_xr_start_script.po | 2 +- .../tutorials/xr/ar_passthrough.po | 2 +- .../tutorials/xr/basic_xr_locomotion.po | 2 +- .../tutorials/xr/deploying_to_android.po | 2 +- .../zh_TW/LC_MESSAGES/tutorials/xr/index.po | 2 +- .../tutorials/xr/introducing_xr_tools.po | 14 +- .../tutorials/xr/openxr_body_tracking.po | 2 +- .../tutorials/xr/openxr_composition_layers.po | 2 +- .../tutorials/xr/openxr_hand_tracking.po | 2 +- .../tutorials/xr/openxr_settings.po | 2 +- .../LC_MESSAGES/tutorials/xr/setting_up_xr.po | 48 +- .../LC_MESSAGES/tutorials/xr/xr_action_map.po | 20 +- .../LC_MESSAGES/tutorials/xr/xr_next_steps.po | 2 +- .../LC_MESSAGES/tutorials/xr/xr_room_scale.po | 2 +- 8847 files changed, 48335 insertions(+), 78761 deletions(-) create mode 100644 classes/zh_CN/class_animationnodeextension.rst create mode 100644 classes/zh_CN/class_colorpalette.rst create mode 100644 classes/zh_CN/class_editorcontextmenuplugin.rst create mode 100644 classes/zh_CN/class_editorexportplatformextension.rst create mode 100644 classes/zh_CN/class_editorexportpreset.rst create mode 100644 classes/zh_CN/class_editortoaster.rst create mode 100644 classes/zh_CN/class_externaltexture.rst create mode 100644 classes/zh_CN/class_gdscriptsyntaxhighlighter.rst create mode 100644 classes/zh_CN/class_gltfobjectmodelproperty.rst create mode 100644 classes/zh_CN/class_gridmapeditorplugin.rst create mode 100644 classes/zh_CN/class_javaobject.rst create mode 100644 classes/zh_CN/class_lookatmodifier3d.rst create mode 100644 classes/zh_CN/class_openxractionbindingmodifier.rst create mode 100644 classes/zh_CN/class_openxranalogthresholdmodifier.rst create mode 100644 classes/zh_CN/class_openxrbindingmodifier.rst create mode 100644 classes/zh_CN/class_openxrbindingmodifiereditor.rst create mode 100644 classes/zh_CN/class_openxrdpadbindingmodifier.rst create mode 100644 classes/zh_CN/class_openxrhapticbase.rst create mode 100644 classes/zh_CN/class_openxrhapticvibration.rst create mode 100644 classes/zh_CN/class_openxrinteractionprofileeditor.rst create mode 100644 classes/zh_CN/class_openxrinteractionprofileeditorbase.rst create mode 100644 classes/zh_CN/class_openxripbindingmodifier.rst create mode 100644 classes/zh_CN/class_openxrvisibilitymask.rst create mode 100644 classes/zh_CN/class_retargetmodifier3d.rst create mode 100644 classes/zh_CN/class_shaderincludedb.rst create mode 100644 classes/zh_CN/class_springbonecollision3d.rst create mode 100644 classes/zh_CN/class_springbonecollisioncapsule3d.rst create mode 100644 classes/zh_CN/class_springbonecollisionplane3d.rst create mode 100644 classes/zh_CN/class_springbonecollisionsphere3d.rst create mode 100644 classes/zh_CN/class_springbonesimulator3d.rst create mode 100644 classes/zh_CN/class_subtweentweener.rst create mode 100644 classes/zh_CN/class_translationdomain.rst create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/physics/interpolation/index.po rename sphinx/po/cs/LC_MESSAGES/tutorials/{shaders/shader_materials.po => physics/interpolation/physics_interpolation_introduction.po} (88%) create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po create mode 100644 sphinx/po/cs/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/de/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/es/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/fr/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/ga/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/it/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po rename sphinx/po/it/LC_MESSAGES/tutorials/{shaders/shader_materials.po => editor/script_editor.po} (79%) rename sphinx/po/it/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/skeleton.po => editor/using_the_xr_editor.po} (79%) rename sphinx/po/it/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/material.po => performance/pipeline_compilations.po} (79%) create mode 100644 sphinx/po/it/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po rename sphinx/po/it/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/animation.po => physics/interpolation/advanced_physics_interpolation.po} (71%) create mode 100644 sphinx/po/it/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/it/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/it/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/it/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/it/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/it/LC_MESSAGES/tutorials/scripting/debug/output_panel.po rename sphinx/po/it/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/mesh.po => scripting/gdextension/gdextension_c_example.po} (70%) create mode 100644 sphinx/po/it/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/ja/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po rename sphinx/po/ko/LC_MESSAGES/tutorials/{shaders/shader_materials.po => editor/script_editor.po} (76%) create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/ko/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po rename sphinx/po/{it/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po => ko/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po} (61%) create mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po create mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/editor/script_editor.po rename sphinx/po/pl/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/animation.po => editor/using_the_xr_editor.po} (69%) rename sphinx/po/pl/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/physics.po => performance/pipeline_compilations.po} (87%) rename sphinx/po/pl/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/mesh.po => physics/interpolation/2d_and_3d_physics_interpolation.po} (81%) rename sphinx/po/pl/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/skeleton.po => physics/interpolation/advanced_physics_interpolation.po} (80%) create mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/scripting/debug/output_panel.po rename sphinx/po/pl/LC_MESSAGES/tutorials/{shaders/shader_materials.po => scripting/gdextension/gdextension_c_example.po} (67%) create mode 100644 sphinx/po/pl/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/pt_BR/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po rename sphinx/po/ru/LC_MESSAGES/tutorials/{shaders/shader_materials.po => editor/script_editor.po} (77%) create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po create mode 100644 sphinx/po/ru/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po rename sphinx/po/{it/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po => ta/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po} (61%) create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/ta/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po create mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/editor/script_editor.po rename sphinx/po/tr/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/physics.po => editor/using_the_xr_editor.po} (51%) rename sphinx/po/tr/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/mesh.po => performance/pipeline_compilations.po} (81%) rename sphinx/po/tr/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/skeleton.po => physics/interpolation/2d_and_3d_physics_interpolation.po} (79%) rename sphinx/po/tr/LC_MESSAGES/tutorials/{assets_pipeline/escn_exporter/material.po => physics/interpolation/advanced_physics_interpolation.po} (79%) create mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/physics/interpolation/index.po rename sphinx/po/tr/LC_MESSAGES/tutorials/{shaders/shader_materials.po => physics/interpolation/physics_interpolation_introduction.po} (88%) create mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po create mode 100644 sphinx/po/tr/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/uk/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/zh_CN/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/2d/particle_process_material_2d.po delete mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/animation.po delete mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/lights.po delete mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/material.po delete mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/mesh.po delete mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/physics.po delete mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/assets_pipeline/escn_exporter/skeleton.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/editor/script_editor.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/editor/using_the_xr_editor.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/performance/pipeline_compilations.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/physics/interpolation/2d_and_3d_physics_interpolation.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/physics/interpolation/advanced_physics_interpolation.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/physics/interpolation/index.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_introduction.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/physics/interpolation/physics_interpolation_quick_start_guide.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/physics/interpolation/using_physics_interpolation.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/rendering/renderers.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/scripting/debug/output_panel.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/scripting/gdextension/gdextension_c_example.po delete mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/shaders/shader_materials.po create mode 100644 sphinx/po/zh_TW/LC_MESSAGES/tutorials/shaders/shader_reference/shader_functions.po diff --git a/classes/zh_CN/class_@gdscript.rst b/classes/zh_CN/class_@gdscript.rst index 6cb2e6d6fd..7563fb839a 100644 --- a/classes/zh_CN/class_@gdscript.rst +++ b/classes/zh_CN/class_@gdscript.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/gdscript/doc_classes/@GDScript.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/gdscript/doc_classes/@GDScript.xml. .. _class_@GDScript: @@ -17,9 +17,9 @@ 描述 ---- -GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 +A list of utility functions and annotations accessible from any script written in GDScript. -全局函数和常量的列表见 :ref:`@GlobalScope`\ 。 +For the list of global functions and constants that can be accessed in any scripting language, see :ref:`@GlobalScope`. .. rst-class:: classref-introduction-group @@ -43,7 +43,7 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`char`\ (\ char\: :ref:`int`\ ) | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`convert`\ (\ what\: :ref:`Variant`, type\: :ref:`int`\ ) | + | :ref:`Variant` | :ref:`convert`\ (\ what\: :ref:`Variant`, type\: :ref:`Variant.Type`\ ) | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Object` | :ref:`dict_to_inst`\ (\ dictionary\: :ref:`Dictionary`\ ) | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -691,9 +691,9 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 **@export_subgroup**\ (\ name\: :ref:`String`, prefix\: :ref:`String` = ""\ ) :ref:`🔗` -为接下来的导出属性定义一个新的子分组,有助于在检查器面板中组织属性。子分组的运作方式与分组类似,不过需要依赖于一个父级分组。见 :ref:`@export_group`\ 。 +Define a new subgroup for the following exported properties. This helps to organize properties in the Inspector dock. Subgroups work exactly like groups, except they need a parent group to exist. See :ref:`@export_group`. -另见 :ref:`@GlobalScope.PROPERTY_USAGE_SUBGROUP`\ 。 +See also :ref:`@GlobalScope.PROPERTY_USAGE_SUBGROUP`. :: @@ -705,7 +705,67 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 @export var car_label = "Speedy" @export var car_number = 3 -\ **注意:**\ 子分组不能嵌套,仅提供一层额外的分组深度。新的分组会结束前一个分组,类似地,后续的子分组也会打断之前的子分组。 +\ **Note:** Subgroups cannot be nested, but you can use the slash separator (``/``) to achieve the desired effect: + +:: + + @export_group("Car Properties") + @export_subgroup("Wheels", "wheel_") + @export_subgroup("Wheels/Front", "front_wheel_") + @export var front_wheel_strength = 10 + @export var front_wheel_mobility = 5 + @export_subgroup("Wheels/Rear", "rear_wheel_") + @export var rear_wheel_strength = 8 + @export var rear_wheel_mobility = 3 + @export_subgroup("Wheels", "wheel_") + @export var wheel_material: PhysicsMaterial + +.. rst-class:: classref-item-separator + +---- + +.. _class_@GDScript_annotation_@export_tool_button: + +.. rst-class:: classref-annotation + +**@export_tool_button**\ (\ text\: :ref:`String`, icon\: :ref:`String` = ""\ ) :ref:`🔗` + +Export a :ref:`Callable` property as a clickable button with the label ``text``. When the button is pressed, the callable is called. + +If ``icon`` is specified, it is used to fetch an icon for the button via :ref:`Control.get_theme_icon`, from the ``"EditorIcons"`` theme type. If ``icon`` is omitted, the default ``"Callable"`` icon is used instead. + +Consider using the :ref:`EditorUndoRedoManager` to allow the action to be reverted safely. + +See also :ref:`@GlobalScope.PROPERTY_HINT_TOOL_BUTTON`. + +:: + + @tool + extends Sprite2D + + @export_tool_button("Hello") var hello_action = hello + @export_tool_button("Randomize the color!", "ColorRect") + var randomize_color_action = randomize_color + + func hello(): + print("Hello world!") + + func randomize_color(): + var undo_redo = EditorInterface.get_editor_undo_redo() + undo_redo.create_action("Randomized Sprite2D Color") + undo_redo.add_do_property(self, &"self_modulate", Color(randf(), randf(), randf())) + undo_redo.add_undo_property(self, &"self_modulate", self_modulate) + undo_redo.commit_action() + +\ **Note:** The property is exported without the :ref:`@GlobalScope.PROPERTY_USAGE_STORAGE` flag because a :ref:`Callable` cannot be properly serialized and stored in a file. + +\ **Note:** In an exported project neither :ref:`EditorInterface` nor :ref:`EditorUndoRedoManager` exist, which may cause some scripts to break. To prevent this, you can use :ref:`Engine.get_singleton` and omit the static type from the variable declaration: + +:: + + var undo_redo = Engine.get_singleton(&"EditorInterface").get_editor_undo_redo() + +\ **Note:** Avoid storing lambda callables in member variables of :ref:`RefCounted`-based classes (e.g. resources), as this can lead to memory leaks. Use only method callables and optionally :ref:`Callable.bind` or :ref:`Callable.unbind`. .. rst-class:: classref-item-separator @@ -717,17 +777,17 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 **@icon**\ (\ icon_path\: :ref:`String`\ ) :ref:`🔗` -为当前脚本添加自定义图标。\ ``icon_path`` 所指向的图标会在“场景”面板中该类的所有节点上显示,也会显示在各种编辑器对话框当中。 +Add a custom icon to the current script. The icon specified at ``icon_path`` is displayed in the Scene dock for every node of that class, as well as in various editor dialogs. :: @icon("res://path/to/class/icon.svg") -\ **注意:**\ 只有脚本可以带有自定义图标,不支持内部类。 +\ **Note:** Only the script can have a custom icon. Inner classes are not supported. -\ **注意:**\ 由于注解描述的是它们的对象,因此 :ref:`@icon` 注解必须放在类定义语句和继承语句之前。 +\ **Note:** As annotations describe their subject, the :ref:`@icon` annotation must be placed before the class definition and inheritance. -\ **注意:**\ 与其他注解不同,\ :ref:`@icon` 注解的参数必须是字符串字面量(不支持常量表达式)。 +\ **Note:** Unlike most other annotations, the argument of the :ref:`@icon` annotation must be a string literal (constant expressions are not supported). .. rst-class:: classref-item-separator @@ -739,11 +799,11 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 **@onready**\ (\ ) :ref:`🔗` -标记后续属性会在 :ref:`Node` 就绪时赋值。节点初始化(\ :ref:`Object._init`\ )时不会立即对这些属性赋值,而是会在即将调用 :ref:`Node._ready` 之前进行计算与储存。 +Mark the following property as assigned when the :ref:`Node` is ready. Values for these properties are not assigned immediately when the node is initialized (:ref:`Object._init`), and instead are computed and stored right before :ref:`Node._ready`. :: - @onready var character_name: Label = $Label + @onready var character_name = $Label .. rst-class:: classref-item-separator @@ -823,15 +883,57 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 **@warning_ignore**\ (\ warning\: :ref:`String`, ...\ ) |vararg| :ref:`🔗` -将后续语句标记为忽略指定的 ``warning`` 警告。见\ :doc:`《GDScript 警告系统》 <../tutorials/scripting/gdscript/warning_system>`\ 。 +Mark the following statement to ignore the specified ``warning``. See :doc:`GDScript warning system <../tutorials/scripting/gdscript/warning_system>`. :: func test(): - print("你好") + print("hello") return @warning_ignore("unreachable_code") - print("无法到达") + print("unreachable") + +See also :ref:`@warning_ignore_start` and :ref:`@warning_ignore_restore`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_@GDScript_annotation_@warning_ignore_restore: + +.. rst-class:: classref-annotation + +**@warning_ignore_restore**\ (\ warning\: :ref:`String`, ...\ ) |vararg| :ref:`🔗` + +Stops ignoring the listed warning types after :ref:`@warning_ignore_start`. Ignoring the specified warning types will be reset to Project Settings. This annotation can be omitted to ignore the warning types until the end of the file. + +\ **Note:** Unlike most other annotations, arguments of the :ref:`@warning_ignore_restore` annotation must be string literals (constant expressions are not supported). + +.. rst-class:: classref-item-separator + +---- + +.. _class_@GDScript_annotation_@warning_ignore_start: + +.. rst-class:: classref-annotation + +**@warning_ignore_start**\ (\ warning\: :ref:`String`, ...\ ) |vararg| :ref:`🔗` + +Starts ignoring the listed warning types until the end of the file or the :ref:`@warning_ignore_restore` annotation with the given warning type. + +:: + + func test(): + var a = 1 # Warning (if enabled in the Project Settings). + @warning_ignore_start("unused_variable") + var b = 2 # No warning. + var c = 3 # No warning. + @warning_ignore_restore("unused_variable") + var d = 4 # Warning (if enabled in the Project Settings). + +\ **Note:** To suppress a single warning, use :ref:`@warning_ignore` instead. + +\ **Note:** Unlike most other annotations, arguments of the :ref:`@warning_ignore_start` annotation must be string literals (constant expressions are not supported). .. rst-class:: classref-section-separator @@ -848,6 +950,8 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 :ref:`Color` **Color8**\ (\ r8\: :ref:`int`, g8\: :ref:`int`, b8\: :ref:`int`, a8\: :ref:`int` = 255\ ) :ref:`🔗` +**已弃用:** Use :ref:`Color.from_rgba8` instead. + 返回一个由整数红通道(\ ``r8``\ )、整数绿通道(\ ``g8``\ )、整数蓝通道(\ ``b8``\ )和可选的整数 Alpha 通道(\ ``a8``\ )构造的 :ref:`Color`\ ,每个通道的最终值都会除以 ``255.0``\ 。如果你需要精确匹配 :ref:`Image` 中的颜色值,\ :ref:`Color8` 比标准的 :ref:`Color` 构造函数更有用。 :: @@ -895,13 +999,13 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 :ref:`String` **char**\ (\ char\: :ref:`int`\ ) :ref:`🔗` -返回给定的 Unicode 码位(与ASCII码兼容)的单字符字符串(作为一个\ :ref:`String`\ )。 +Returns a single character (as a :ref:`String`) of the given Unicode code point (which is compatible with ASCII code). :: - a = char(65) # a 是“A” - a = char(65 + 32) # a 是“a” - a = char(8364) # a 是“€” + var upper = char(65) # upper is "A" + var lower = char(65 + 32) # lower is "a" + var euro = char(8364) # euro is "€" .. rst-class:: classref-item-separator @@ -911,7 +1015,7 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 .. rst-class:: classref-method -:ref:`Variant` **convert**\ (\ what\: :ref:`Variant`, type\: :ref:`int`\ ) :ref:`🔗` +:ref:`Variant` **convert**\ (\ what\: :ref:`Variant`, type\: :ref:`Variant.Type`\ ) :ref:`🔗` **已弃用:** Use :ref:`@GlobalScope.type_convert` instead. @@ -936,6 +1040,8 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 :ref:`Object` **dict_to_inst**\ (\ dictionary\: :ref:`Dictionary`\ ) :ref:`🔗` +**已弃用:** Consider using :ref:`JSON.to_native` or :ref:`Object.get_property_list` instead. + 将一个 ``dictionary`` (用 :ref:`inst_to_dict` 创建的)转换回为一个 Object 实例。在反序列化时可能会很有用。 .. rst-class:: classref-item-separator @@ -981,9 +1087,9 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 :ref:`Dictionary` **inst_to_dict**\ (\ instance\: :ref:`Object`\ ) :ref:`🔗` -将传入的 ``instance`` 转换为字典,并将该字典返回,可用于序列化。 +**已弃用:** Consider using :ref:`JSON.from_native` or :ref:`Object.get_property_list` instead. -\ **注意:**\ 不能用于序列化附加了内置脚本的对象,也不能用于序列化在内置脚本中分配的对象。 +Returns the passed ``instance`` converted to a Dictionary. Can be useful for serializing. :: @@ -993,13 +1099,17 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 print(d.keys()) print(d.values()) -输出: +Prints out: .. code:: text [@subpath, @path, foo] [, res://test.gd, bar] +\ **Note:** This function can only be used to serialize objects with an attached :ref:`GDScript` stored in a separate file. Objects without an attached script, with a script written in another language, or with a built-in script are not supported. + +\ **Note:** This function is not recursive, which means that nested objects will not be represented as dictionaries. Also, properties passed by reference (:ref:`Object`, :ref:`Dictionary`, :ref:`Array`, and packed arrays) are copied by reference, not duplicated. + .. rst-class:: classref-item-separator ---- @@ -1010,17 +1120,17 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 :ref:`bool` **is_instance_of**\ (\ value\: :ref:`Variant`, type\: :ref:`Variant`\ ) :ref:`🔗` -如果 ``value`` 为 ``type`` 类型的实例,则返回 ``true``\ 。\ ``type`` 的值必须为下列值之一: +Returns ``true`` if ``value`` is an instance of ``type``. The ``type`` value must be one of the following: -- :ref:`Variant.Type` 枚举常量,如 :ref:`@GlobalScope.TYPE_INT`\ 。 +- A constant from the :ref:`Variant.Type` enumeration, for example :ref:`@GlobalScope.TYPE_INT`. -- :ref:`ClassDB` 中存在的派生自 :ref:`Object` 的类,如 :ref:`Node`\ 。 +- An :ref:`Object`-derived class which exists in :ref:`ClassDB`, for example :ref:`Node`. -- :ref:`Script`\ (可以用任何类,包括内部类)。 +- A :ref:`Script` (you can use any class, including inner one). -\ ``type`` 可以不是常量,这一点与 ``is`` 的右操作数不同,\ ``is`` 运算符支持的功能更多(例如类型化数组)。如果你不需要动态类型检查,请使用该运算符,不要使用此方法。 +Unlike the right operand of the ``is`` operator, ``type`` can be a non-constant value. The ``is`` operator supports more features (such as typed arrays). Use the operator instead of this method if you do not need dynamic type checking. -示例: +\ **Examples:**\ :: @@ -1029,9 +1139,9 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 print(is_instance_of(a, MyClass)) print(is_instance_of(a, MyClass.InnerClass)) -\ **注意:**\ 如果 ``value`` 和/或 ``type`` 为已释放的对象(见 :ref:`@GlobalScope.is_instance_valid`\ ),或者 ``type`` 的数值不为以上选项中的任何一项,则此方法会报运行时错误。 +\ **Note:** If ``value`` and/or ``type`` are freed objects (see :ref:`@GlobalScope.is_instance_valid`), or ``type`` is not one of the above options, this method will raise a runtime error. -另见 :ref:`@GlobalScope.typeof`\ 、\ :ref:`type_exists`\ 、\ :ref:`Array.is_same_typed`\ (以及其他 :ref:`Array` 方法)。 +See also :ref:`@GlobalScope.typeof`, :ref:`type_exists`, :ref:`Array.is_same_typed` (and other :ref:`Array` methods). .. rst-class:: classref-item-separator @@ -1043,15 +1153,15 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 :ref:`int` **len**\ (\ var\: :ref:`Variant`\ ) :ref:`🔗` -返回给定 Variant ``var`` 的长度,该长度可以是 :ref:`String` 或 :ref:`StringName` 的字符数,也可以是任意数组类型的元素数或 :ref:`Dictionary` 的大小等。对于所有其他 Variant 类型,都会生成运行时错误并停止执行。 +Returns the length of the given Variant ``var``. The length can be the character count of a :ref:`String` or :ref:`StringName`, the element count of any array type, or the size of a :ref:`Dictionary`. For every other Variant type, a run-time error is generated and execution is stopped. :: - a = [1, 2, 3, 4] - len(a) # 返回 4 + var a = [1, 2, 3, 4] + len(a) # Returns 4 - b = "Hello!" - len(b) # 返回 6 + var b = "Hello!" + len(b) # Returns 6 .. rst-class:: classref-item-separator @@ -1154,28 +1264,28 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 :ref:`Array` **range**\ (\ ...\ ) |vararg| :ref:`🔗` -返回具有给定范围的数组。\ :ref:`range` 可以通过三种方式调用: +Returns an array with the given range. :ref:`range` can be called in three ways: -\ ``range(n: int)``\ :从 0 开始,每次加 1,在到达 ``n`` *之前*\ 停止。\ **不包含**\ 参数 ``n``\ 。 +\ ``range(n: int)``: Starts from 0, increases by steps of 1, and stops *before* ``n``. The argument ``n`` is **exclusive**. -\ ``range(b: int, n: int)``\ :从 ``b`` 开始,每次加 1,在到达 ``n`` *之前*\ 停止。\ **包含**\ 参数 ``b``\ ,\ **不包含**\ 参数 ``n``\ 。 +\ ``range(b: int, n: int)``: Starts from ``b``, increases by steps of 1, and stops *before* ``n``. The arguments ``b`` and ``n`` are **inclusive** and **exclusive**, respectively. -\ ``range(b: int, n: int, s: int)``\ :从 ``b`` 开始,以 ``s`` 为步长递增/递减,在到达 ``n`` *之前*\ 停止。\ **包含**\ 参数 ``b``\ ,\ **不包含**\ 参数 ``n``\ 。参数 ``s`` **可以**\ 为负数,但不能为 ``0``\ 。如果 ``s`` 为 ``0``\ ,则会输出一条错误消息。 +\ ``range(b: int, n: int, s: int)``: Starts from ``b``, increases/decreases by steps of ``s``, and stops *before* ``n``. The arguments ``b`` and ``n`` are **inclusive** and **exclusive**, respectively. The argument ``s`` **can** be negative, but not ``0``. If ``s`` is ``0``, an error message is printed. -\ :ref:`range` 会先将所有参数转换为 :ref:`int` 再进行处理。 +\ :ref:`range` converts all arguments to :ref:`int` before processing. -\ **注意:**\ 如果没有满足条件的值,则返回空数组(例如 ``range(2, 5, -1)`` 和 ``range(5, 5, 1)``\ )。 +\ **Note:** Returns an empty array if no value meets the value constraint (e.g. ``range(2, 5, -1)`` or ``range(5, 5, 1)``). -示例: +\ **Examples:**\ :: - print(range(4)) # 输出 [0, 1, 2, 3] - print(range(2, 5)) # 输出 [2, 3, 4] - print(range(0, 6, 2)) # 输出 [0, 2, 4] - print(range(4, 1, -1)) # 输出 [4, 3, 2] + print(range(4)) # Prints [0, 1, 2, 3] + print(range(2, 5)) # Prints [2, 3, 4] + print(range(0, 6, 2)) # Prints [0, 2, 4] + print(range(4, 1, -1)) # Prints [4, 3, 2] -要反向遍历 :ref:`Array`\ ,请使用: +To iterate over an :ref:`Array` backwards, use: :: @@ -1183,7 +1293,7 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 for i in range(array.size() - 1, -1, -1): print(array[i]) -输出: +Output: .. code:: text @@ -1191,14 +1301,14 @@ GDScript 专用的实用函数及注解列表,可在任何脚本中访问。 6 3 -要遍历 :ref:`float`\ ,请在循环中进行转换。 +To iterate over :ref:`float`, convert them in the loop. :: for i in range (3, 0, -1): print(i / 10.0) -输出: +Output: .. code:: text diff --git a/classes/zh_CN/class_@globalscope.rst b/classes/zh_CN/class_@globalscope.rst index cd39816c0d..3eca352724 100644 --- a/classes/zh_CN/class_@globalscope.rst +++ b/classes/zh_CN/class_@globalscope.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/@GlobalScope.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/@GlobalScope.xml. .. _class_@GlobalScope: @@ -17,11 +17,11 @@ 描述 ---- -全局范围的枚举常量和内置函数的列表。这是所有驻留在全局的,关于错误代码、键码、属性提示等的常量的集合。 +A list of global scope enumerated constants and built-in functions. This is all that resides in the globals, constants regarding error codes, keycodes, property hints, etc. -单例也被记录在这里,因为它们可以从任何地方被访问。 +Singletons are also documented here, since they can be accessed from anywhere. -对于可以在任何脚本中访问的与 GDScript 相关的条目,请参阅 :ref:`@GDScript`\ 。 +For the entries that can only be accessed from scripts written in GDScript, see :ref:`@GDScript`. .. note:: @@ -1425,7 +1425,7 @@ Help 键。 :ref:`Key` **KEY_BACK** = ``4194376`` -媒体返回键。不要与 Android 设备上的返回键相混淆。 +Back key. .. _class_@GlobalScope_constant_KEY_FORWARD: @@ -1433,7 +1433,7 @@ Help 键。 :ref:`Key` **KEY_FORWARD** = ``4194377`` -媒体前进键。 +Forward key. .. _class_@GlobalScope_constant_KEY_STOP: @@ -1449,7 +1449,7 @@ Help 键。 :ref:`Key` **KEY_REFRESH** = ``4194379`` -媒体刷新键。 +Refresh key. .. _class_@GlobalScope_constant_KEY_VOLUMEDOWN: @@ -1753,7 +1753,7 @@ Mac 键盘上的“かな”键。 :ref:`Key` **KEY_EXCLAM** = ``33`` -! 键。 +Exclamation mark (``!``) key. .. _class_@GlobalScope_constant_KEY_QUOTEDBL: @@ -1761,7 +1761,7 @@ Mac 键盘上的“かな”键。 :ref:`Key` **KEY_QUOTEDBL** = ``34`` -" 键。 +Double quotation mark (``"``) key. .. _class_@GlobalScope_constant_KEY_NUMBERSIGN: @@ -1769,7 +1769,7 @@ Mac 键盘上的“かな”键。 :ref:`Key` **KEY_NUMBERSIGN** = ``35`` -# 键。 +Number sign or *hash* (``#``) key. .. _class_@GlobalScope_constant_KEY_DOLLAR: @@ -1777,7 +1777,7 @@ Mac 键盘上的“かな”键。 :ref:`Key` **KEY_DOLLAR** = ``36`` -$ 键。 +Dollar sign (``$``) key. .. _class_@GlobalScope_constant_KEY_PERCENT: @@ -1785,7 +1785,7 @@ $ 键。 :ref:`Key` **KEY_PERCENT** = ``37`` -% 键。 +Percent sign (``%``) key. .. _class_@GlobalScope_constant_KEY_AMPERSAND: @@ -1793,7 +1793,7 @@ $ 键。 :ref:`Key` **KEY_AMPERSAND** = ``38`` -& 键。 +Ampersand (``&``) key. .. _class_@GlobalScope_constant_KEY_APOSTROPHE: @@ -1801,7 +1801,7 @@ $ 键。 :ref:`Key` **KEY_APOSTROPHE** = ``39`` -' 键。 +Apostrophe (``'``) key. .. _class_@GlobalScope_constant_KEY_PARENLEFT: @@ -1809,7 +1809,7 @@ $ 键。 :ref:`Key` **KEY_PARENLEFT** = ``40`` -( 键。 +Left parenthesis (``(``) key. .. _class_@GlobalScope_constant_KEY_PARENRIGHT: @@ -1817,7 +1817,7 @@ $ 键。 :ref:`Key` **KEY_PARENRIGHT** = ``41`` -) 键。 +Right parenthesis (``)``) key. .. _class_@GlobalScope_constant_KEY_ASTERISK: @@ -1825,7 +1825,7 @@ $ 键。 :ref:`Key` **KEY_ASTERISK** = ``42`` -\* 键。 +Asterisk (``*``) key. .. _class_@GlobalScope_constant_KEY_PLUS: @@ -1833,7 +1833,7 @@ $ 键。 :ref:`Key` **KEY_PLUS** = ``43`` -+ 键。 +Plus (``+``) key. .. _class_@GlobalScope_constant_KEY_COMMA: @@ -1841,7 +1841,7 @@ $ 键。 :ref:`Key` **KEY_COMMA** = ``44`` -, 键。 +Comma (``,``) key. .. _class_@GlobalScope_constant_KEY_MINUS: @@ -1849,7 +1849,7 @@ $ 键。 :ref:`Key` **KEY_MINUS** = ``45`` -- 键。 +Minus (``-``) key. .. _class_@GlobalScope_constant_KEY_PERIOD: @@ -1857,7 +1857,7 @@ $ 键。 :ref:`Key` **KEY_PERIOD** = ``46`` -. 键。 +Period (``.``) key. .. _class_@GlobalScope_constant_KEY_SLASH: @@ -1865,7 +1865,7 @@ $ 键。 :ref:`Key` **KEY_SLASH** = ``47`` -/ 键。 +Slash (``/``) key. .. _class_@GlobalScope_constant_KEY_0: @@ -1953,7 +1953,7 @@ $ 键。 :ref:`Key` **KEY_COLON** = ``58`` -: 键。 +Colon (``:``) key. .. _class_@GlobalScope_constant_KEY_SEMICOLON: @@ -1961,7 +1961,7 @@ $ 键。 :ref:`Key` **KEY_SEMICOLON** = ``59`` -; 键。 +Semicolon (``;``) key. .. _class_@GlobalScope_constant_KEY_LESS: @@ -1969,7 +1969,7 @@ $ 键。 :ref:`Key` **KEY_LESS** = ``60`` -< 键。 +Less-than sign (``<``) key. .. _class_@GlobalScope_constant_KEY_EQUAL: @@ -1977,7 +1977,7 @@ $ 键。 :ref:`Key` **KEY_EQUAL** = ``61`` -= 键。 +Equal sign (``=``) key. .. _class_@GlobalScope_constant_KEY_GREATER: @@ -1985,7 +1985,7 @@ $ 键。 :ref:`Key` **KEY_GREATER** = ``62`` -> 键。 +Greater-than sign (``>``) key. .. _class_@GlobalScope_constant_KEY_QUESTION: @@ -1993,7 +1993,7 @@ $ 键。 :ref:`Key` **KEY_QUESTION** = ``63`` -? 键。 +Question mark (``?``) key. .. _class_@GlobalScope_constant_KEY_AT: @@ -2001,7 +2001,7 @@ $ 键。 :ref:`Key` **KEY_AT** = ``64`` -@ 键。 +At sign (``@``) key. .. _class_@GlobalScope_constant_KEY_A: @@ -2217,7 +2217,7 @@ Z 键。 :ref:`Key` **KEY_BRACKETLEFT** = ``91`` -[ 键。 +Left bracket (``[lb]``) key. .. _class_@GlobalScope_constant_KEY_BACKSLASH: @@ -2225,7 +2225,7 @@ Z 键。 :ref:`Key` **KEY_BACKSLASH** = ``92`` -\\ 键。 +Backslash (``\``) key. .. _class_@GlobalScope_constant_KEY_BRACKETRIGHT: @@ -2233,7 +2233,7 @@ Z 键。 :ref:`Key` **KEY_BRACKETRIGHT** = ``93`` -] 键。 +Right bracket (``[rb]``) key. .. _class_@GlobalScope_constant_KEY_ASCIICIRCUM: @@ -2241,7 +2241,7 @@ Z 键。 :ref:`Key` **KEY_ASCIICIRCUM** = ``94`` -^ 键。 +Caret (``^``) key. .. _class_@GlobalScope_constant_KEY_UNDERSCORE: @@ -2249,7 +2249,7 @@ Z 键。 :ref:`Key` **KEY_UNDERSCORE** = ``95`` -\_ 键。 +Underscore (``_``) key. .. _class_@GlobalScope_constant_KEY_QUOTELEFT: @@ -2257,7 +2257,7 @@ Z 键。 :ref:`Key` **KEY_QUOTELEFT** = ``96`` -` 键。 +Backtick (`````) key. .. _class_@GlobalScope_constant_KEY_BRACELEFT: @@ -2265,7 +2265,7 @@ Z 键。 :ref:`Key` **KEY_BRACELEFT** = ``123`` -{ 键。 +Left brace (``{``) key. .. _class_@GlobalScope_constant_KEY_BAR: @@ -2273,7 +2273,7 @@ Z 键。 :ref:`Key` **KEY_BAR** = ``124`` -| 键。 +Vertical bar or *pipe* (``|``) key. .. _class_@GlobalScope_constant_KEY_BRACERIGHT: @@ -2281,7 +2281,7 @@ Z 键。 :ref:`Key` **KEY_BRACERIGHT** = ``125`` -} 键。 +Right brace (``}``) key. .. _class_@GlobalScope_constant_KEY_ASCIITILDE: @@ -2289,7 +2289,7 @@ Z 键。 :ref:`Key` **KEY_ASCIITILDE** = ``126`` -~ 键。 +Tilde (``~``) key. .. _class_@GlobalScope_constant_KEY_YEN: @@ -2297,7 +2297,7 @@ Z 键。 :ref:`Key` **KEY_YEN** = ``165`` -¥ 键。 +Yen symbol (``¥``) key. .. _class_@GlobalScope_constant_KEY_SECTION: @@ -2305,7 +2305,7 @@ Z 键。 :ref:`Key` **KEY_SECTION** = ``167`` -§ 键。 +Section sign (``§``) key. .. rst-class:: classref-item-separator @@ -2329,7 +2329,7 @@ flags **KeyModifierMask**: :ref:`🔗` .. rst-class:: classref-enumeration-constant -:ref:`KeyModifierMask` **KEY_MODIFIER_MASK** = ``532676608`` +:ref:`KeyModifierMask` **KEY_MODIFIER_MASK** = ``2130706432`` 修饰键掩码。 @@ -3043,11 +3043,9 @@ enum **Error**: :ref:`🔗` :ref:`Error` **OK** = ``0`` -返回 :ref:`Error` 的方法会在没有错误发生时返回 :ref:`OK`\ 。 +Methods that return :ref:`Error` return :ref:`OK` when no error occurred. -由于 :ref:`OK` 的值为 0,并且所有其他错误常数都是正整数,因此返回值也可以用于布尔检查。 - -\ **示例:**\ +Since :ref:`OK` has value ``0``, and all other error constants are positive integers, it can also be used in boolean checks. :: @@ -3055,11 +3053,11 @@ enum **Error**: :ref:`🔗` if error != OK: printerr("Failure!") - # 或者,等价于: + # Or, alternatively: if error: printerr("Still failing!") -\ **注意:**\ 许多函数不返回错误代码,但会将错误信息打印到标准输出。 +\ **Note:** Many functions do not return an error code, but will print error messages to standard output. .. _class_@GlobalScope_constant_FAILED: @@ -3669,74 +3667,74 @@ enum **PropertyHint**: :ref:`🔗` :ref:`PropertyHint` **PROPERTY_HINT_TYPE_STRING** = ``23`` -如果属性为 :ref:`String`\ ,则提示该属性代表特定的类型(类)。这样就能使用创建对话框选择类型。该属性中存放的是所选类型,是一个字符串。 +If a property is :ref:`String`, hints that the property represents a particular type (class). This allows to select a type from the create dialog. The property will store the selected type as a string. -如果属性为 :ref:`Array`\ ,则提示编辑器如何显示其中的元素。\ ``hint_string`` 必须使用 ``":"`` 和 ``"/"`` 对内嵌的类型进行编码。 +If a property is :ref:`Array`, hints the editor how to show elements. The ``hint_string`` must encode nested types using ``":"`` and ``"/"``. .. tabs:: .. code-tab:: gdscript - # elem_type 数组。 + # Array of elem_type. hint_string = "%d:" % [elem_type] hint_string = "%d/%d:%s" % [elem_type, elem_hint, elem_hint_string] - # elem_type 二维数组(elem_type 数组的数组)。 + # Two-dimensional array of elem_type (array of arrays of elem_type). hint_string = "%d:%d:" % [TYPE_ARRAY, elem_type] hint_string = "%d:%d/%d:%s" % [TYPE_ARRAY, elem_type, elem_hint, elem_hint_string] - # elem_type 三维数组(elem_type 数组的数组的数组)。 + # Three-dimensional array of elem_type (array of arrays of arrays of elem_type). hint_string = "%d:%d:%d:" % [TYPE_ARRAY, TYPE_ARRAY, elem_type] hint_string = "%d:%d:%d/%d:%s" % [TYPE_ARRAY, TYPE_ARRAY, elem_type, elem_hint, elem_hint_string] .. code-tab:: csharp - // elem_type 数组。 + // Array of elemType. hintString = $"{elemType:D}:"; hintString = $"{elemType:}/{elemHint:D}:{elemHintString}"; - // elem_type 二维数组(elem_type 数组的数组)。 + // Two-dimensional array of elemType (array of arrays of elemType). hintString = $"{Variant.Type.Array:D}:{elemType:D}:"; hintString = $"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}"; - // elem_type 三维数组(elem_type 数组的数组的数组)。 + // Three-dimensional array of elemType (array of arrays of arrays of elemType). hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:"; hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}"; -示例: +\ **Examples:**\ .. tabs:: .. code-tab:: gdscript - hint_string = "%d:" % [TYPE_INT] # 整数数组。 - hint_string = "%d/%d:1,10,1" % [TYPE_INT, PROPERTY_HINT_RANGE] # 整数数组(范围为 1 到 10)。 - hint_string = "%d/%d:Zero,One,Two" % [TYPE_INT, PROPERTY_HINT_ENUM] # 整数数组(枚举)。 - hint_string = "%d/%d:Zero,One,Three:3,Six:6" % [TYPE_INT, PROPERTY_HINT_ENUM] # 整数数组(枚举)。 - hint_string = "%d/%d:*.png" % [TYPE_STRING, PROPERTY_HINT_FILE] # 字符串数组(文件路径)。 - hint_string = "%d/%d:Texture2D" % [TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # 纹理数组。 + hint_string = "%d:" % [TYPE_INT] # Array of integers. + hint_string = "%d/%d:1,10,1" % [TYPE_INT, PROPERTY_HINT_RANGE] # Array of integers (in range from 1 to 10). + hint_string = "%d/%d:Zero,One,Two" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum). + hint_string = "%d/%d:Zero,One,Three:3,Six:6" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum). + hint_string = "%d/%d:*.png" % [TYPE_STRING, PROPERTY_HINT_FILE] # Array of strings (file paths). + hint_string = "%d/%d:Texture2D" % [TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Array of textures. - hint_string = "%d:%d:" % [TYPE_ARRAY, TYPE_FLOAT] # 浮点数二维数组。 - hint_string = "%d:%d/%d:" % [TYPE_ARRAY, TYPE_STRING, PROPERTY_HINT_MULTILINE_TEXT] # 多行字符串二维数组。 - hint_string = "%d:%d/%d:-1,1,0.1" % [TYPE_ARRAY, TYPE_FLOAT, PROPERTY_HINT_RANGE] # 浮点数二维数组(范围为 -1 到 1)。 - hint_string = "%d:%d/%d:Texture2D" % [TYPE_ARRAY, TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # 纹理二维数组。 + hint_string = "%d:%d:" % [TYPE_ARRAY, TYPE_FLOAT] # Two-dimensional array of floats. + hint_string = "%d:%d/%d:" % [TYPE_ARRAY, TYPE_STRING, PROPERTY_HINT_MULTILINE_TEXT] # Two-dimensional array of multiline strings. + hint_string = "%d:%d/%d:-1,1,0.1" % [TYPE_ARRAY, TYPE_FLOAT, PROPERTY_HINT_RANGE] # Two-dimensional array of floats (in range from -1 to 1). + hint_string = "%d:%d/%d:Texture2D" % [TYPE_ARRAY, TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Two-dimensional array of textures. .. code-tab:: csharp - hintString = $"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1"; // 整数数组(范围为 1 到 10)。 - hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Two"; // 整数数组(枚举)。 - hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6"; // 整数数组(枚举)。 - hintString = $"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png"; // 字符串数组(文件路径)。 - hintString = $"{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // 纹理数组。 + hintString = $"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1"; // Array of integers (in range from 1 to 10). + hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Two"; // Array of integers (an enum). + hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6"; // Array of integers (an enum). + hintString = $"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png"; // Array of strings (file paths). + hintString = $"{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Array of textures. - hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}:"; // 浮点数二维数组。 - hintString = $"{Variant.Type.Array:D}:{Variant.Type.String:D}/{PropertyHint.MultilineText:D}:"; // 多行字符串二维数组。 - hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}/{PropertyHint.Range:D}:-1,1,0.1"; // 浮点数二维数组(范围为 -1 到 1)。 - hintString = $"{Variant.Type.Array:D}:{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // 纹理二维数组。 + hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}:"; // Two-dimensional array of floats. + hintString = $"{Variant.Type.Array:D}:{Variant.Type.String:D}/{PropertyHint.MultilineText:D}:"; // Two-dimensional array of multiline strings. + hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}/{PropertyHint.Range:D}:-1,1,0.1"; // Two-dimensional array of floats (in range from -1 to 1). + hintString = $"{Variant.Type.Array:D}:{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Two-dimensional array of textures. -\ **注意:**\ 后缀冒号是必须的,否则无法正确识别内置类型。 +\ **Note:** The trailing colon is required for properly detecting built-in types. .. _class_@GlobalScope_constant_PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE: @@ -3806,6 +3804,14 @@ enum **PropertyHint**: :ref:`🔗` 提示属性是一个 :ref:`Array`\ ,其存储类型在提示字符串中指定。 +.. _class_@GlobalScope_constant_PROPERTY_HINT_DICTIONARY_TYPE: + +.. rst-class:: classref-enumeration-constant + +:ref:`PropertyHint` **PROPERTY_HINT_DICTIONARY_TYPE** = ``38`` + +Hints that a property is a :ref:`Dictionary` with the stored types specified in the hint string. + .. _class_@GlobalScope_constant_PROPERTY_HINT_LOCALE_ID: .. rst-class:: classref-enumeration-constant @@ -3846,11 +3852,34 @@ enum **PropertyHint**: :ref:`🔗` 提示字符串属性为密码,每一个字符都会被替换为秘密字符。 +.. _class_@GlobalScope_constant_PROPERTY_HINT_TOOL_BUTTON: + +.. rst-class:: classref-enumeration-constant + +:ref:`PropertyHint` **PROPERTY_HINT_TOOL_BUTTON** = ``39`` + +Hints that a :ref:`Callable` property should be displayed as a clickable button. When the button is pressed, the callable is called. The hint string specifies the button text and optionally an icon from the ``"EditorIcons"`` theme type. + +.. code:: text + + "Click me!" - A button with the text "Click me!" and the default "Callable" icon. + "Click me!,ColorRect" - A button with the text "Click me!" and the "ColorRect" icon. + +\ **Note:** A :ref:`Callable` cannot be properly serialized and stored in a file, so it is recommended to use :ref:`PROPERTY_USAGE_EDITOR` instead of :ref:`PROPERTY_USAGE_DEFAULT`. + +.. _class_@GlobalScope_constant_PROPERTY_HINT_ONESHOT: + +.. rst-class:: classref-enumeration-constant + +:ref:`PropertyHint` **PROPERTY_HINT_ONESHOT** = ``40`` + +Hints that a property will be changed on its own after setting, such as :ref:`AudioStreamPlayer.playing` or :ref:`GPUParticles3D.emitting`. + .. _class_@GlobalScope_constant_PROPERTY_HINT_MAX: .. rst-class:: classref-enumeration-constant -:ref:`PropertyHint` **PROPERTY_HINT_MAX** = ``38`` +:ref:`PropertyHint` **PROPERTY_HINT_MAX** = ``42`` 代表 :ref:`PropertyHint` 枚举的大小。 @@ -3966,7 +3995,7 @@ flags **PropertyUsageFlags**: :ref:`🔗` :ref:`PropertyUsageFlags` **PROPERTY_USAGE_SCRIPT_VARIABLE** = ``4096`` -该属性是一个脚本变量,应该被序列化并保存在场景文件中。 +The property is a script variable. :ref:`PROPERTY_USAGE_SCRIPT_VARIABLE` can be used to distinguish between exported script variables from built-in variables (which don't have this usage flag). By default, :ref:`PROPERTY_USAGE_SCRIPT_VARIABLE` is **not** applied to variables that are created by overriding :ref:`Object._get_property_list` in a script. .. _class_@GlobalScope_constant_PROPERTY_USAGE_STORE_IF_NULL: @@ -4000,7 +4029,7 @@ flags **PropertyUsageFlags**: :ref:`🔗` :ref:`PropertyUsageFlags` **PROPERTY_USAGE_CLASS_IS_ENUM** = ``65536`` -该属性是一个枚举,即它仅从其关联的枚举中获取被命名的整数常量。 +The property is a variable of enum type, i.e. it only takes named integer constants from its associated enumeration. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NIL_IS_VARIANT: @@ -5322,7 +5351,7 @@ enum **Variant.Operator**: :ref:`🔗` :ref:`float` **angle_difference**\ (\ from\: :ref:`float`, to\: :ref:`float`\ ) :ref:`🔗` -返回两个角度之间的差,范围为 ``[-PI, +PI]`` 。当 ``from`` 和 ``to`` 相反时,如果 ``from`` 小于 ``to``\ ,则返回 ``-PI`` ,否则返回 ``PI`` 。 +Returns the difference between the two angles (in radians), in the range of ``[-PI, +PI]``. When ``from`` and ``to`` are opposite, returns ``-PI`` if ``from`` is smaller than ``to``, or ``PI`` otherwise. .. rst-class:: classref-item-separator @@ -5707,21 +5736,21 @@ enum **Variant.Operator**: :ref:`🔗` :ref:`float` **ease**\ (\ x\: :ref:`float`, curve\: :ref:`float`\ ) :ref:`🔗` -基于用 ``curve`` 定义的缓动函数返回 ``x`` “缓动后”的值,该缓动函数是基于指数的缓动。\ ``curve`` 可以是任意浮点数,具体数值会导致以下行为: +Returns an "eased" value of ``x`` based on an easing function defined with ``curve``. This easing function is based on an exponent. The ``curve`` can be any floating-point number, with specific values leading to the following behaviors: .. code:: text - - 低于 -1.0(开区间):缓入缓出 - - -1.0:线性 - - 在 -1.0 和 0.0 之间(开区间):缓出缓入 - - 0.0:恒定 - - 在 0.0 到 1.0 之间(开区间):缓出 - - 1.0:线性 - - 大于 1.0(开区间):缓入 + - Lower than -1.0 (exclusive): Ease in-out + - -1.0: Linear + - Between -1.0 and 0.0 (exclusive): Ease out-in + - 0.0: Constant + - Between 0.0 to 1.0 (exclusive): Ease out + - 1.0: Linear + - Greater than 1.0 (exclusive): Ease in -\ `ease() 曲线值速查表 `__\ +\ `ease() curve values cheatsheet `__\ -另见 :ref:`smoothstep`\ 。如果你需要执行更高级的过渡,请使用 :ref:`Tween.interpolate_value`\ 。 +See also :ref:`smoothstep`. If you need to perform more advanced transitions, use :ref:`Tween.interpolate_value`. .. rst-class:: classref-item-separator @@ -5733,14 +5762,14 @@ enum **Variant.Operator**: :ref:`🔗` :ref:`String` **error_string**\ (\ error\: :ref:`int`\ ) :ref:`🔗` -为给定的 :ref:`Error` 代码返回一个人类可读的名称。 +Returns a human-readable name for the given :ref:`Error` code. :: - print(OK) # 输出 0 - print(error_string(OK)) # 输出 OK - print(error_string(ERR_BUSY)) # 输出 Busy - print(error_string(ERR_OUT_OF_MEMORY)) # 输出 Out of memory + print(OK) # Prints 0 + print(error_string(OK)) # Prints "OK" + print(error_string(ERR_BUSY)) # Prints "Busy" + print(error_string(ERR_OUT_OF_MEMORY)) # Prints "Out of memory" .. rst-class:: classref-item-separator @@ -5898,31 +5927,31 @@ enum **Variant.Operator**: :ref:`🔗` :ref:`Object` **instance_from_id**\ (\ instance_id\: :ref:`int`\ ) :ref:`🔗` -返回 ``instance_id`` 所对应的 :ref:`Object`\ 。所有对象都有唯一的实例 ID。参见 :ref:`Object.get_instance_id`\ 。 +Returns the :ref:`Object` that corresponds to ``instance_id``. All Objects have a unique instance ID. See also :ref:`Object.get_instance_id`. .. tabs:: .. code-tab:: gdscript - var foo = "bar" + var drink = "water" func _ready(): var id = get_instance_id() - var inst = instance_from_id(id) - print(inst.foo) # 输出 bar + var instance = instance_from_id(id) + print(instance.foo) # Prints "water" .. code-tab:: csharp public partial class MyNode : Node { - public string Foo { get; set; } = "bar"; + public string Drink { get; set; } = "water"; public override void _Ready() { ulong id = GetInstanceId(); - var inst = (MyNode)InstanceFromId(Id); - GD.Print(inst.Foo); // 输出 bar + var instance = (MyNode)InstanceFromId(Id); + GD.Print(instance.Drink); // Prints "water" } } @@ -6084,17 +6113,17 @@ enum **Variant.Operator**: :ref:`🔗` :ref:`Variant` **lerp**\ (\ from\: :ref:`Variant`, to\: :ref:`Variant`, weight\: :ref:`Variant`\ ) :ref:`🔗` -通过 ``weight`` 中定义的因子在两个值之间进行线性插值。要执行插值,\ ``weight`` 应介于 ``0.0`` 和 ``1.0`` 之间(包含)。但是,超出此范围的值也是允许的,并可用于执行\ *外推*\ 。如果不需要,请在该函数的结果上使用 :ref:`clamp`\ 。 +Linearly interpolates between two values by the factor defined in ``weight``. To perform interpolation, ``weight`` should be between ``0.0`` and ``1.0`` (inclusive). However, values outside this range are allowed and can be used to perform *extrapolation*. If this is not desired, use :ref:`clampf` to limit ``weight``. -\ ``from`` 和 ``to`` 必须是同一类型。支持的类型:\ :ref:`int`\ 、\ :ref:`float`\ 、\ :ref:`Vector2`\ 、\ :ref:`Vector3`\ 、\ :ref:`Vector4`\ 、\ :ref:`Color`\ 、\ :ref:`Quaternion`\ 、\ :ref:`Basis`\ 。 +Both ``from`` and ``to`` must be the same type. Supported types: :ref:`int`, :ref:`float`, :ref:`Vector2`, :ref:`Vector3`, :ref:`Vector4`, :ref:`Color`, :ref:`Quaternion`, :ref:`Basis`, :ref:`Transform2D`, :ref:`Transform3D`. :: - lerp(0, 4, 0.75) # 返回 3.0 + lerp(0, 4, 0.75) # Returns 3.0 -另请参阅执行本操作的逆操作的 :ref:`inverse_lerp`\ 。要使用 :ref:`lerp` 执行缓动插值,请将其与 :ref:`ease` 或 :ref:`smoothstep` 结合使用。另见 :ref:`remap`\ ,可将一系列连续的值映射到另一个值。 +See also :ref:`inverse_lerp` which performs the reverse of this operation. To perform eased interpolation with :ref:`lerp`, combine it with :ref:`ease` or :ref:`smoothstep`. See also :ref:`remap` to map a continuous series of values to another. -\ **注意:**\ 为了更好的类型安全,请使用 :ref:`lerpf`\ 、\ :ref:`Vector2.lerp`\ 、\ :ref:`Vector3.lerp`\ 、\ :ref:`Vector4.lerp`\ 、\ :ref:`Color.lerp`\ 、\ :ref:`Quaternion.slerp` 或 :ref:`Basis.slerp`\ 。 +\ **Note:** For better type safety, use :ref:`lerpf`, :ref:`Vector2.lerp`, :ref:`Vector3.lerp`, :ref:`Vector4.lerp`, :ref:`Color.lerp`, :ref:`Quaternion.slerp`, :ref:`Basis.slerp`, :ref:`Transform2D.interpolate_with`, or :ref:`Transform3D.interpolate_with`. .. rst-class:: classref-item-separator @@ -6150,15 +6179,12 @@ enum **Variant.Operator**: :ref:`🔗` :ref:`float` **linear_to_db**\ (\ lin\: :ref:`float`\ ) :ref:`🔗` -从线性能量转换为分贝(音频)。这可用于实现按预期运行的音量滑块(因为音量不是线性的)。 +Converts from linear energy to decibels (audio). Since volume is not normally linear, this can be used to implement volume sliders that behave as expected. -\ **示例:**\ +\ **Example:** Change the Master bus's volume through a :ref:`Slider` node, which ranges from ``0.0`` to ``1.0``: :: - # “Slider”引用的是 HSlider、VSlider 等继承自 Range 的节点。 - # 必须将其范围配置为 0 到 1。 - # 如果只想修改特定总线的音量,请修改总线名称。 AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), linear_to_db($Slider.value)) .. rst-class:: classref-item-separator @@ -6414,7 +6440,7 @@ enum **Variant.Operator**: :ref:`🔗` |void| **print**\ (\ ...\ ) |vararg| :ref:`🔗` -以尽可能最佳的方式将一个或多个任意类型的参数转换为字符串,并将其打印到控制台。 +Converts one or more arguments of any type to string in the best way possible and prints them to the console. .. tabs:: @@ -6422,16 +6448,16 @@ enum **Variant.Operator**: :ref:`🔗` .. code-tab:: gdscript var a = [1, 2, 3] - print("a", "b", a) # 输出 ab[1, 2, 3] + print("a", "b", a) # Prints "ab[1, 2, 3]" .. code-tab:: csharp - var a = new Godot.Collections.Array { 1, 2, 3 }; - GD.Print("a", "b", a); // 输出 ab[1, 2, 3] + Godot.Collections.Array a = [1, 2, 3]; + GD.Print("a", "b", a); // Prints "ab[1, 2, 3]" -\ **注意:**\ 请考虑使用 :ref:`push_error` 和 :ref:`push_warning` 来打印错误和警告消息,而不是 :ref:`print` 或 :ref:`print_rich`\ 。这将它们与用于调试目的的打印消息区分开来,同时还会在打印错误或警告时显示堆栈跟踪。 +\ **Note:** Consider using :ref:`push_error` and :ref:`push_warning` to print error and warning messages instead of :ref:`print` or :ref:`print_rich`. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed. See also :ref:`Engine.print_to_stdout` and :ref:`ProjectSettings.application/run/disable_stdout`. .. rst-class:: classref-item-separator @@ -6443,34 +6469,32 @@ enum **Variant.Operator**: :ref:`🔗` |void| **print_rich**\ (\ ...\ ) |vararg| :ref:`🔗` -以尽可能最佳的方式将一个或多个任意类型的参数转换为字符串,并将其打印到控制台。 +Converts one or more arguments of any type to string in the best way possible and prints them to the console. -支持以下 BBCode 标签: ``b``\ 、\ ``i``\ 、\ ``u``\ 、\ ``s``\ 、\ ``indent``\ 、\ ``code``\ 、\ ``url``\ 、\ ``center``\ 、\ ``right``\ 、\ ``color``\ 、\ ``bgcolor``\ 、\ ``fgcolor``\ 。 +The following BBCode tags are supported: ``b``, ``i``, ``u``, ``s``, ``indent``, ``code``, ``url``, ``center``, ``right``, ``color``, ``bgcolor``, ``fgcolor``. -颜色标签仅支持以下颜色名称:\ ``black``\ 、\ ``red``\ 、\ ``green``\ 、\ ``yellow``\ 、\ ``blue``\ 、\ ``magenta``\ 、\ ``pink``\ 、\ ``purple``\ 、\ ``cyan``\ 、\ ``white``\ 、\ ``orange``\ 、\ ``gray``\ 。不支持十六进制颜色代码。 +URL tags only support URLs wrapped by a URL tag, not URLs with a different title. -URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 URL。 - -当打印到标准输出时,支持的 BBCode 子集被转换为 ANSI 转义码以供终端仿真器显示。对 ANSI 转义码的支持可能因终端仿真器而异,尤其是斜体和删除线。在标准输出中,\ ``code`` 会使用较弱的文本表示,但字体不变。不支持的标签在标准输出中会原样保留。 +When printing to standard output, the supported subset of BBCode is converted to ANSI escape codes for the terminal emulator to display. Support for ANSI escape codes varies across terminal emulators, especially for italic and strikethrough. In standard output, ``code`` is represented with faint text but without any font change. Unsupported tags are left as-is in standard output. .. tabs:: .. code-tab:: gdscript - print_rich("[color=green][b]Hello world![/b][/color]") # 输出绿色的粗体“Hello world!” + print_rich("[color=green][b]Hello world![/b][/color]") # Prints "Hello world!", in green with a bold font. .. code-tab:: csharp - GD.PrintRich("[color=green][b]Hello world![/b][/color]"); // 输出绿色的粗体“Hello world!” + GD.PrintRich("[color=green][b]Hello world![/b][/color]"); // Prints "Hello world!", in green with a bold font. -\ **注意:**\ 请考虑使用 :ref:`push_error` 和 :ref:`push_warning` 来打印错误和警告消息,而不是 :ref:`print` 或 :ref:`print_rich`\ 。这将它们与用于调试目的的打印消息区分开来,同时还会在打印错误或警告时显示堆栈跟踪。 +\ **Note:** Consider using :ref:`push_error` and :ref:`push_warning` to print error and warning messages instead of :ref:`print` or :ref:`print_rich`. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed. -\ **注意:**\ 在 Windows 中,只有 Windows 10 及后续版本能够在标准输出中正确显示 ANSI 转义码。 +\ **Note:** On Windows, only Windows 10 and later correctly displays ANSI escape codes in standard output. -\ **注意:**\ 在编辑器中显示的输出支持可点击的 ``[url=address]文本[/url]`` 标签。点击时, ``[url]`` 标签的 ``address`` 值由 :ref:`OS.shell_open` 处理。 +\ **Note:** Output displayed in the editor supports clickable ``[url=address]text[/url]`` tags. The ``[url]`` tag's ``address`` value is handled by :ref:`OS.shell_open` when clicked. .. rst-class:: classref-item-separator @@ -6519,26 +6543,26 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 |void| **printraw**\ (\ ...\ ) |vararg| :ref:`🔗` -以尽可能最佳的方式将一个或多个参数作为字符串输出到操作系统终端。与 :ref:`print` 不同的是,最后不会自动添加换行符。 +Prints one or more arguments to strings in the best way possible to the OS terminal. Unlike :ref:`print`, no newline is automatically added at the end. -\ **注意:**\ 操作系统终端与编辑器的“输出”面板\ *不同*\ 。从终端运行 Godot 时可以看到发送至操作系统终端的输出。在 Windows 上,需要用到 ``console.exe`` 可执行文件。 +\ **Note:** The OS terminal is *not* the same as the editor's Output dock. The output sent to the OS terminal can be seen when running Godot from a terminal. On Windows, this requires using the ``console.exe`` executable. .. tabs:: .. code-tab:: gdscript + # Prints "ABC" to terminal. printraw("A") printraw("B") printraw("C") - # 输出 ABC 到终端 .. code-tab:: csharp + // Prints "ABC" to terminal. GD.PrintRaw("A"); GD.PrintRaw("B"); GD.PrintRaw("C"); - // 输出 ABC 到终端 @@ -6552,18 +6576,18 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 |void| **prints**\ (\ ...\ ) |vararg| :ref:`🔗` -将一个或多个参数打印到控制台,每个参数之间有一个空格。 +Prints one or more arguments to the console with a space between each argument. .. tabs:: .. code-tab:: gdscript - prints("A", "B", "C") # 输出 A B C + prints("A", "B", "C") # Prints "A B C" .. code-tab:: csharp - GD.PrintS("A", "B", "C"); // 输出 A B C + GD.PrintS("A", "B", "C"); // Prints "A B C" @@ -6577,18 +6601,18 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 |void| **printt**\ (\ ...\ ) |vararg| :ref:`🔗` -将一个或多个参数打印到控制台,每个参数之间有一个制表符。 +Prints one or more arguments to the console with a tab between each argument. .. tabs:: .. code-tab:: gdscript - printt("A", "B", "C") # 输出 A B C + printt("A", "B", "C") # Prints "A B C" .. code-tab:: csharp - GD.PrintT("A", "B", "C"); // 输出 A B C + GD.PrintT("A", "B", "C"); // Prints "A B C" @@ -6602,22 +6626,22 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 |void| **push_error**\ (\ ...\ ) |vararg| :ref:`🔗` -将错误消息推送到 Godot 的内置调试器和 OS 终端。 +Pushes an error message to Godot's built-in debugger and to the OS terminal. .. tabs:: .. code-tab:: gdscript - push_error("test error") # 向调试器和终端打印 “test error” 作为错误调用 + push_error("test error") # Prints "test error" to debugger and terminal as an error. .. code-tab:: csharp - GD.PushError("test error"); // 向调试器和终端打印 “test error” 作为错误调用 + GD.PushError("test error"); // Prints "test error" to debugger and terminal as an error. -\ **注意:**\ 该函数不会暂停项目执行。要在调试版本中打印错误消息并暂停项目执行,请改用 ``assert(false, "test error")``\ 。 +\ **Note:** This function does not pause project execution. To print an error message and pause project execution in debug builds, use ``assert(false, "test error")`` instead. .. rst-class:: classref-item-separator @@ -6629,18 +6653,18 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 |void| **push_warning**\ (\ ...\ ) |vararg| :ref:`🔗` -将警告消息推送到 Godot 的内置调试器和 OS 终端。 +Pushes a warning message to Godot's built-in debugger and to the OS terminal. .. tabs:: .. code-tab:: gdscript - push_warning("test warning") # 以警告的形式向调试器和终端输出 “test warning” + push_warning("test warning") # Prints "test warning" to debugger and terminal as a warning. .. code-tab:: csharp - GD.PushWarning("test warning"); // 以警告的形式向调试器和终端输出 “test warning” + GD.PushWarning("test warning"); // Prints "test warning" to debugger and terminal as a warning. @@ -6672,16 +6696,16 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 :ref:`PackedInt64Array` **rand_from_seed**\ (\ seed\: :ref:`int`\ ) :ref:`🔗` -给定一个 ``seed``\ ,返回一个大小为 ``2`` 的 :ref:`PackedInt64Array`\ ,其中第一个元素是随机化的 :ref:`int` 值,第二个元素与 ``seed`` 相同。传入相同的 ``seed`` 会一致地返回相同的数组。 +Given a ``seed``, returns a :ref:`PackedInt64Array` of size ``2``, where its first element is the randomized :ref:`int` value, and the second element is the same as ``seed``. Passing the same ``seed`` consistently returns the same array. -\ **注意:**\ 这里的“种子”是指伪随机数发生器的内部状态,目前实现为一个 64 位整数。 +\ **Note:** "Seed" here refers to the internal state of the pseudo random number generator, currently implemented as a 64 bit integer. :: var a = rand_from_seed(4) - print(a[0]) # 输出 2879024997 - print(a[1]) # 输出 4 + print(a[0]) # Prints 2879024997 + print(a[1]) # Prints 4 .. rst-class:: classref-item-separator @@ -7020,13 +7044,13 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 :ref:`int` **signi**\ (\ x\: :ref:`int`\ ) :ref:`🔗` -如果 ``x`` 为负,则返回 ``-1``\ ;如果 ``x`` 为正,则返回 ``1``\ ;如果 ``x`` 为零,则返回 ``0``\ 。 +Returns ``-1`` if ``x`` is negative, ``1`` if ``x`` is positive, and ``0`` if ``x`` is zero. :: - signi(-6) # 返回 -1 - signi(0) # 返回 0 - signi(6) # 返回 1 + signi(-6) # Returns -1 + signi(0) # Returns 0 + signi(6) # Returns 1 .. rst-class:: classref-item-separator @@ -7072,22 +7096,26 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 :ref:`float` **smoothstep**\ (\ from\: :ref:`float`, to\: :ref:`float`, x\: :ref:`float`\ ) :ref:`🔗` -返回 ``x`` 在 ``0`` 和 ``1`` 之间平滑插值的结果,基于 ``x`` 相对于边 ``from`` 和 ``to`` 的位置。 +Returns a smooth cubic Hermite interpolation between ``0`` and ``1``. -如果 ``x <= from``\ ,则返回值为 ``0``\ ;如果 ``x >= to``\ ,则返回值为 ``1``\ 。如果 ``x`` 位于 ``from`` 和 ``to`` 之间,则返回值遵循一条将 ``x`` 映射到 ``0`` 和 ``1`` 之间的 S 形曲线。 +For positive ranges (when ``from <= to``) the return value is ``0`` when ``x <= from``, and ``1`` when ``x >= to``. If ``x`` lies between ``from`` and ``to``, the return value follows an S-shaped curve that smoothly transitions from ``0`` to ``1``. -这条 S 形曲线是三次 Hermite 插值器,由 ``f(y) = 3*y^2 - 2*y^3`` 给出,其中 ``y = (x-from) / (to-from)``\ 。 +For negative ranges (when ``from > to``) the function is mirrored and returns ``1`` when ``x <= to`` and ``0`` when ``x >= from``. + +This S-shaped curve is the cubic Hermite interpolator, given by ``f(y) = 3*y^2 - 2*y^3`` where ``y = (x-from) / (to-from)``. :: - smoothstep(0, 2, -5.0) # 返回 0.0 - smoothstep(0, 2, 0.5) # 返回 0.15625 - smoothstep(0, 2, 1.0) # 返回 0.5 - smoothstep(0, 2, 2.0) # 返回 1.0 + smoothstep(0, 2, -5.0) # Returns 0.0 + smoothstep(0, 2, 0.5) # Returns 0.15625 + smoothstep(0, 2, 1.0) # Returns 0.5 + smoothstep(0, 2, 2.0) # Returns 1.0 -与曲线值为 ``-1.6521`` 的 :ref:`ease` 相比,\ :ref:`smoothstep` 返回最平滑的曲线,导数没有突然变化。如果需要执行更高级的过渡,请使用 :ref:`Tween` 或 :ref:`AnimationPlayer`\ 。 +Compared to :ref:`ease` with a curve value of ``-1.6521``, :ref:`smoothstep` returns the smoothest possible curve with no sudden changes in the derivative. If you need to perform more advanced transitions, use :ref:`Tween` or :ref:`AnimationPlayer`. -\ `smoothstep() 与 ease(x, -1.6521) 返回值的比较 `__ +\ `Comparison between smoothstep() and ease(x, -1.6521) return values `__\ + +\ `Smoothstep() return values with positive, zero, and negative ranges `__ .. rst-class:: classref-item-separator @@ -7305,15 +7333,15 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 :ref:`String` **type_string**\ (\ type\: :ref:`int`\ ) :ref:`🔗` -返回类型 ``type`` 的人类可读名称,参数使用 :ref:`Variant.Type` 的值。 +Returns a human-readable name of the given ``type``, using the :ref:`Variant.Type` values. :: - print(TYPE_INT) # 输出 2。 - print(type_string(TYPE_INT)) # 输出“int”。 - print(type_string(TYPE_STRING)) # 输出“String”。 + print(TYPE_INT) # Prints 2 + print(type_string(TYPE_INT)) # Prints "int" + print(type_string(TYPE_STRING)) # Prints "String" -另见 :ref:`typeof`\ 。 +See also :ref:`typeof`. .. rst-class:: classref-item-separator @@ -7325,19 +7353,19 @@ URL 标签仅支持在 URL 标签中包含 URL,不支持使用不同标题的 :ref:`int` **typeof**\ (\ variable\: :ref:`Variant`\ ) :ref:`🔗` -返回变量 ``variable`` 的内部类型,使用的是 :ref:`Variant.Type` 中的值。 +Returns the internal type of the given ``variable``, using the :ref:`Variant.Type` values. :: var json = JSON.new() json.parse('["a", "b", "c"]') var result = json.get_data() - if typeof(result) == TYPE_ARRAY: - print(result[0]) # 输出 a + if result is Array: + print(result[0]) # Prints "a" else: - print("出乎意料的结果") + print("Unexpected result!") -另见 :ref:`type_string`\ 。 +See also :ref:`type_string`. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_aabb.rst b/classes/zh_CN/class_aabb.rst index 641cd9793b..699963b125 100644 --- a/classes/zh_CN/class_aabb.rst +++ b/classes/zh_CN/class_aabb.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AABB.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AABB.xml. .. _class_AABB: @@ -103,7 +103,7 @@ AABB +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_shortest_axis_size`\ (\ ) |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector3` | :ref:`get_support`\ (\ dir\: :ref:`Vector3`\ ) |const| | + | :ref:`Vector3` | :ref:`get_support`\ (\ direction\: :ref:`Vector3`\ ) |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_volume`\ (\ ) |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -163,7 +163,7 @@ AABB :ref:`Vector3` **end** = ``Vector3(0, 0, 0)`` :ref:`🔗` -终点。通常是边界框的前方右上角,等价于 ``position + size``\ 。设置该点会影响 :ref:`size`\ 。 +The ending point. This is usually the corner on the top-right and back of the bounding box, and is equivalent to ``position + size``. Setting this point affects the :ref:`size`. .. rst-class:: classref-item-separator @@ -175,7 +175,7 @@ AABB :ref:`Vector3` **position** = ``Vector3(0, 0, 0)`` :ref:`🔗` -原点。通常是边界框的背面左下角。 +The origin point. This is usually the corner on the bottom-left and forward of the bounding box. .. rst-class:: classref-item-separator @@ -187,9 +187,9 @@ AABB :ref:`Vector3` **size** = ``Vector3(0, 0, 0)`` :ref:`🔗` -边界框的宽度、高度、深度,相对于 :ref:`position`\ 。设置该值会影响终点 :ref:`end`\ 。 +The bounding box's width, height, and depth starting from :ref:`position`. Setting this value also affects the :ref:`end` point. -\ **注意:**\ 建议将宽度、高度、深度设置为非负数,因为 Godot 中的大多数方法假设 :ref:`position` 为背面的左下角、\ :ref:`end` 为正面的右上角。要获取等价且大小非负的边界框,请使用 :ref:`abs`\ 。 +\ **Note:** It's recommended setting the width, height, and depth to non-negative values. This is because most methods in Godot assume that the :ref:`position` is the bottom-left-forward corner, and the :ref:`end` is the top-right-back corner. To get an equivalent bounding box with non-negative size, use :ref:`abs`. .. rst-class:: classref-section-separator @@ -243,7 +243,7 @@ AABB :ref:`AABB` **abs**\ (\ ) |const| :ref:`🔗` -返回一个与该边界框等效的 **AABB**\ ,其宽度、高度和深度被修改为非负值。 +Returns an **AABB** equivalent to this bounding box, with its width, height, and depth modified to be non-negative values. .. tabs:: @@ -252,19 +252,19 @@ AABB var box = AABB(Vector3(5, 0, 5), Vector3(-20, -10, -5)) var absolute = box.abs() - print(absolute.position) # 打印 (-15, -10, 0) - print(absolute.size) # 打印 (20, 10, 5) + print(absolute.position) # Prints (-15.0, -10.0, 0.0) + print(absolute.size) # Prints (20.0, 10.0, 5.0) .. code-tab:: csharp var box = new Aabb(new Vector3(5, 0, 5), new Vector3(-20, -10, -5)); var absolute = box.Abs(); - GD.Print(absolute.Position); // 打印 (-15, -10, 0) - GD.Print(absolute.Size); // 打印 (20, 10, 5) + GD.Print(absolute.Position); // Prints (-15, -10, 0) + GD.Print(absolute.Size); // Prints (20, 10, 5) -\ **注意:**\ 当 :ref:`size` 为负时,建议使用该方法,因为 Godot 中的大多数其他方法都假设 :ref:`size` 的分量大于 ``0``\ 。 +\ **Note:** It's recommended to use this method when :ref:`size` is negative, as most other methods in Godot assume that the :ref:`size`'s components are greater than ``0``. .. rst-class:: classref-item-separator @@ -313,7 +313,7 @@ AABB :ref:`AABB` **expand**\ (\ to_point\: :ref:`Vector3`\ ) |const| :ref:`🔗` -返回该边界框的副本,如有必要,该边界框被扩展为将边与给定的 ``to_point`` 对齐。 +Returns a copy of this bounding box expanded to align the edges with the given ``to_point``, if necessary. .. tabs:: @@ -323,24 +323,24 @@ AABB var box = AABB(Vector3(0, 0, 0), Vector3(5, 2, 5)) box = box.expand(Vector3(10, 0, 0)) - print(box.position) # 打印 (0, 0, 0) - print(box.size) # 打印 (10, 2, 5) + print(box.position) # Prints (0.0, 0.0, 0.0) + print(box.size) # Prints (10.0, 2.0, 5.0) box = box.expand(Vector3(-5, 0, 5)) - print(box.position) # 打印 (-5, 0, 0) - print(box.size) # 打印 (15, 2, 5) + print(box.position) # Prints (-5.0, 0.0, 0.0) + print(box.size) # Prints (15.0, 2.0, 5.0) .. code-tab:: csharp var box = new Aabb(new Vector3(0, 0, 0), new Vector3(5, 2, 5)); box = box.Expand(new Vector3(10, 0, 0)); - GD.Print(box.Position); // 打印 (0, 0, 0) - GD.Print(box.Size); // 打印 (10, 2, 5) + GD.Print(box.Position); // Prints (0, 0, 0) + GD.Print(box.Size); // Prints (10, 2, 5) box = box.Expand(new Vector3(-5, 0, 5)); - GD.Print(box.Position); // 打印 (-5, 0, 0) - GD.Print(box.Size); // 打印 (15, 2, 5) + GD.Print(box.Position); // Prints (-5, 0, 0) + GD.Print(box.Size); // Prints (15, 2, 5) @@ -378,7 +378,7 @@ AABB :ref:`Vector3` **get_longest_axis**\ (\ ) |const| :ref:`🔗` -返回该边界框的 :ref:`size` 的最长归一化轴,作为 :ref:`Vector3`\ (\ :ref:`Vector3.RIGHT`\ 、\ :ref:`Vector3.UP` 或 :ref:`Vector3.BACK`\ )。 +Returns the longest normalized axis of this bounding box's :ref:`size`, as a :ref:`Vector3` (:ref:`Vector3.RIGHT`, :ref:`Vector3.UP`, or :ref:`Vector3.BACK`). .. tabs:: @@ -387,21 +387,21 @@ AABB var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8)) - print(box.get_longest_axis()) # 打印 (0, 0, 1) - print(box.get_longest_axis_index()) # 打印 2 - print(box.get_longest_axis_size()) # 打印 8 + print(box.get_longest_axis()) # Prints (0.0, 0.0, 1.0) + print(box.get_longest_axis_index()) # Prints 2 + print(box.get_longest_axis_size()) # Prints 8.0 .. code-tab:: csharp var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8)); - GD.Print(box.GetLongestAxis()); // 打印 (0, 0, 1) - GD.Print(box.GetLongestAxisIndex()); // 打印 2 - GD.Print(box.GetLongestAxisSize()); // 打印 8 + GD.Print(box.GetLongestAxis()); // Prints (0, 0, 1) + GD.Print(box.GetLongestAxisIndex()); // Prints Z + GD.Print(box.GetLongestAxisSize()); // Prints 8 -另见 :ref:`get_longest_axis_index` 和 :ref:`get_longest_axis_size`\ 。 +See also :ref:`get_longest_axis_index` and :ref:`get_longest_axis_size`. .. rst-class:: classref-item-separator @@ -441,7 +441,7 @@ AABB :ref:`Vector3` **get_shortest_axis**\ (\ ) |const| :ref:`🔗` -返回该边界框的 :ref:`size` 的最短归一化轴,作为 :ref:`Vector3`\ (\ :ref:`Vector3.RIGHT`\ 、\ :ref:`Vector3.UP` 或 :ref:`Vector3.BACK`\ )。 +Returns the shortest normalized axis of this bounding box's :ref:`size`, as a :ref:`Vector3` (:ref:`Vector3.RIGHT`, :ref:`Vector3.UP`, or :ref:`Vector3.BACK`). .. tabs:: @@ -450,21 +450,21 @@ AABB var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8)) - print(box.get_shortest_axis()) # 打印 (1, 0, 0) - print(box.get_shortest_axis_index()) # 打印 0 - print(box.get_shortest_axis_size()) # 打印 2 + print(box.get_shortest_axis()) # Prints (1.0, 0.0, 0.0) + print(box.get_shortest_axis_index()) # Prints 0 + print(box.get_shortest_axis_size()) # Prints 2.0 .. code-tab:: csharp var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8)); - GD.Print(box.GetShortestAxis()); // 打印 (1, 0, 0) - GD.Print(box.GetShortestAxisIndex()); // 打印 0 - GD.Print(box.GetShortestAxisSize()); // 打印 2 + GD.Print(box.GetShortestAxis()); // Prints (1, 0, 0) + GD.Print(box.GetShortestAxisIndex()); // Prints X + GD.Print(box.GetShortestAxisSize()); // Prints 2 -另见 :ref:`get_shortest_axis_index` 和 :ref:`get_shortest_axis_size`\ 。 +See also :ref:`get_shortest_axis_index` and :ref:`get_shortest_axis_size`. .. rst-class:: classref-item-separator @@ -502,7 +502,7 @@ AABB .. rst-class:: classref-method -:ref:`Vector3` **get_support**\ (\ dir\: :ref:`Vector3`\ ) |const| :ref:`🔗` +:ref:`Vector3` **get_support**\ (\ direction\: :ref:`Vector3`\ ) |const| :ref:`🔗` 返回给定方向上最远的边界框的顶点位置。该点在碰撞检测算法中通常被称为支撑点。 @@ -528,7 +528,7 @@ AABB :ref:`AABB` **grow**\ (\ by\: :ref:`float`\ ) |const| :ref:`🔗` -返回该边界框的副本,该边界框在所有边上扩展给定量 ``by``\ 。负数会缩小该框。 +Returns a copy of this bounding box extended on all sides by the given amount ``by``. A negative amount shrinks the box instead. .. tabs:: @@ -536,22 +536,22 @@ AABB .. code-tab:: gdscript var a = AABB(Vector3(4, 4, 4), Vector3(8, 8, 8)).grow(4) - print(a.position) # 打印 (0, 0, 0) - print(a.size) # 打印 (16, 16, 16) + print(a.position) # Prints (0.0, 0.0, 0.0) + print(a.size) # Prints (16.0, 16.0, 16.0) var b = AABB(Vector3(0, 0, 0), Vector3(8, 4, 2)).grow(2) - print(b.position) # 打印 (-2, -2, -2) - print(b.size) # 打印 (12, 8, 6) + print(b.position) # Prints (-2.0, -2.0, -2.0) + print(b.size) # Prints (12.0, 8.0, 6.0) .. code-tab:: csharp var a = new Aabb(new Vector3(4, 4, 4), new Vector3(8, 8, 8)).Grow(4); - GD.Print(a.Position); // 打印 (0, 0, 0) - GD.Print(a.Size); // 打印 (16, 16, 16) + GD.Print(a.Position); // Prints (0, 0, 0) + GD.Print(a.Size); // Prints (16, 16, 16) var b = new Aabb(new Vector3(0, 0, 0), new Vector3(8, 4, 2)).Grow(2); - GD.Print(b.Position); // 打印 (-2, -2, -2) - GD.Print(b.Size); // 打印 (12, 8, 6) + GD.Print(b.Position); // Prints (-2, -2, -2) + GD.Print(b.Size); // Prints (12, 8, 6) @@ -603,7 +603,7 @@ AABB :ref:`AABB` **intersection**\ (\ with\: :ref:`AABB`\ ) |const| :ref:`🔗` -返回该边界框与 ``with`` 之间的交集。如果框不相交,则返回空的 **AABB**\ 。如果框在边相交,则返回没有体积的平 **AABB**\ (请参阅 :ref:`has_surface` 和 :ref:`has_volume`\ )。 +Returns the intersection between this bounding box and ``with``. If the boxes do not intersect, returns an empty **AABB**. If the boxes intersect at the edge, returns a flat **AABB** with no volume (see :ref:`has_surface` and :ref:`has_volume`). .. tabs:: @@ -614,8 +614,8 @@ AABB var box2 = AABB(Vector3(2, 0, 2), Vector3(8, 4, 4)) var intersection = box1.intersection(box2) - print(intersection.position) # 打印 (2, 0, 2) - print(intersection.size) # 打印 (3, 2, 4) + print(intersection.position) # Prints (2.0, 0.0, 2.0) + print(intersection.size) # Prints (3.0, 2.0, 4.0) .. code-tab:: csharp @@ -623,12 +623,12 @@ AABB var box2 = new Aabb(new Vector3(2, 0, 2), new Vector3(8, 4, 4)); var intersection = box1.Intersection(box2); - GD.Print(intersection.Position); // 打印 (2, 0, 2) - GD.Print(intersection.Size); // 打印 (3, 2, 4) + GD.Print(intersection.Position); // Prints (2, 0, 2) + GD.Print(intersection.Size); // Prints (3, 2, 4) -\ **注意:**\ 如果你只需要知道两个边界框是否相交,请改用 :ref:`intersects`\ 。 +\ **Note:** If you only need to know whether two bounding boxes are intersecting, use :ref:`intersects`, instead. .. rst-class:: classref-item-separator @@ -692,7 +692,7 @@ AABB :ref:`bool` **is_equal_approx**\ (\ aabb\: :ref:`AABB`\ ) |const| :ref:`🔗` -如果该边界框和 ``aabb`` 近似相等,则返回 ``true``\ ,判断方法是通过在 :ref:`position` 和 :ref:`size` 上调用 :ref:`Vector3.is_equal_approx`\ 。 +Returns ``true`` if this bounding box and ``aabb`` are approximately equal, by calling :ref:`Vector3.is_equal_approx` on the :ref:`position` and the :ref:`size`. .. rst-class:: classref-item-separator @@ -704,7 +704,7 @@ AABB :ref:`bool` **is_finite**\ (\ ) |const| :ref:`🔗` -如果该边界框的值是有限的,则返回 ``true``\ ,判断方法是通过在 :ref:`position` 和 :ref:`size` 上调用 :ref:`Vector3.is_finite`\ 。 +Returns ``true`` if this bounding box's values are finite, by calling :ref:`Vector3.is_finite` on the :ref:`position` and the :ref:`size`. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_acceptdialog.rst b/classes/zh_CN/class_acceptdialog.rst index cb0b4a5b71..59227898f2 100644 --- a/classes/zh_CN/class_acceptdialog.rst +++ b/classes/zh_CN/class_acceptdialog.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AcceptDialog.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AcceptDialog.xml. .. _class_AcceptDialog: diff --git a/classes/zh_CN/class_aescontext.rst b/classes/zh_CN/class_aescontext.rst index b6e2d033ec..a4e74aa331 100644 --- a/classes/zh_CN/class_aescontext.rst +++ b/classes/zh_CN/class_aescontext.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AESContext.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AESContext.xml. .. _class_AESContext: diff --git a/classes/zh_CN/class_animatablebody2d.rst b/classes/zh_CN/class_animatablebody2d.rst index 9873934e55..a892036900 100644 --- a/classes/zh_CN/class_animatablebody2d.rst +++ b/classes/zh_CN/class_animatablebody2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimatableBody2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatableBody2D.xml. .. _class_AnimatableBody2D: diff --git a/classes/zh_CN/class_animatablebody3d.rst b/classes/zh_CN/class_animatablebody3d.rst index dc3c308ff5..f05863eb19 100644 --- a/classes/zh_CN/class_animatablebody3d.rst +++ b/classes/zh_CN/class_animatablebody3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimatableBody3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatableBody3D.xml. .. _class_AnimatableBody3D: diff --git a/classes/zh_CN/class_animatedsprite2d.rst b/classes/zh_CN/class_animatedsprite2d.rst index 97fe2484bb..4e5909ab0d 100644 --- a/classes/zh_CN/class_animatedsprite2d.rst +++ b/classes/zh_CN/class_animatedsprite2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimatedSprite2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatedSprite2D.xml. .. _class_AnimatedSprite2D: @@ -413,18 +413,15 @@ AnimatedSprite2D |void| **set_frame_and_progress**\ (\ frame\: :ref:`int`, progress\: :ref:`float`\ ) :ref:`🔗` -设置 :ref:`frame` 时会隐式将 :ref:`frame_progress` 重置为 ``0.0``\ ,但这个方法可以避免。 +Sets :ref:`frame` the :ref:`frame_progress` to the given values. Unlike setting :ref:`frame`, this method does not reset the :ref:`frame_progress` to ``0.0`` implicitly. -如果你想要把当前的 :ref:`frame_progress` 带到其他 :ref:`frame` 中,就会非常有用。 - -\ **示例:**\ +\ **Example:** Change the animation while keeping the same :ref:`frame` and :ref:`frame_progress`: .. tabs:: .. code-tab:: gdscript - # 更改动画的同时保留帧索引和进度。 var current_frame = animated_sprite.get_frame() var current_progress = animated_sprite.get_frame_progress() animated_sprite.play("walk_another_skin") diff --git a/classes/zh_CN/class_animatedsprite3d.rst b/classes/zh_CN/class_animatedsprite3d.rst index 3f798b47ff..d2044e2bdc 100644 --- a/classes/zh_CN/class_animatedsprite3d.rst +++ b/classes/zh_CN/class_animatedsprite3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimatedSprite3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatedSprite3D.xml. .. _class_AnimatedSprite3D: @@ -333,18 +333,15 @@ AnimatedSprite3D |void| **set_frame_and_progress**\ (\ frame\: :ref:`int`, progress\: :ref:`float`\ ) :ref:`🔗` -设置 :ref:`frame` 时会隐式将 :ref:`frame_progress` 重置为 ``0.0``\ ,但这个方法可以避免。 +Sets :ref:`frame` the :ref:`frame_progress` to the given values. Unlike setting :ref:`frame`, this method does not reset the :ref:`frame_progress` to ``0.0`` implicitly. -如果你想要把当前的 :ref:`frame_progress` 带到其他 :ref:`frame` 中,就会非常有用。 - -\ **示例:**\ +\ **Example:** Change the animation while keeping the same :ref:`frame` and :ref:`frame_progress`: .. tabs:: .. code-tab:: gdscript - # 更改动画的同时保留帧索引和进度。 var current_frame = animated_sprite.get_frame() var current_progress = animated_sprite.get_frame_progress() animated_sprite.play("walk_another_skin") diff --git a/classes/zh_CN/class_animatedtexture.rst b/classes/zh_CN/class_animatedtexture.rst index c6652eb695..3ca020b2e5 100644 --- a/classes/zh_CN/class_animatedtexture.rst +++ b/classes/zh_CN/class_animatedtexture.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimatedTexture.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimatedTexture.xml. .. _class_AnimatedTexture: diff --git a/classes/zh_CN/class_animation.rst b/classes/zh_CN/class_animation.rst index bc7c9cceba..9597c6fca7 100644 --- a/classes/zh_CN/class_animation.rst +++ b/classes/zh_CN/class_animation.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Animation.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Animation.xml. .. _class_Animation: @@ -85,6 +85,8 @@ Animation .. table:: :widths: auto + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`add_marker`\ (\ name\: :ref:`StringName`, time\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_track`\ (\ type\: :ref:`TrackType`, at_position\: :ref:`int` = -1\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -140,16 +142,34 @@ Animation +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find_track`\ (\ path\: :ref:`NodePath`, type\: :ref:`TrackType`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`get_marker_at_time`\ (\ time\: :ref:`float`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_marker_color`\ (\ name\: :ref:`StringName`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_marker_names`\ (\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_marker_time`\ (\ name\: :ref:`StringName`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`get_next_marker`\ (\ time\: :ref:`float`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`get_prev_marker`\ (\ time\: :ref:`float`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_track_count`\ (\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_marker`\ (\ name\: :ref:`StringName`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`method_track_get_name`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`method_track_get_params`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`optimize`\ (\ allowed_velocity_err\: :ref:`float` = 0.01, allowed_angular_err\: :ref:`float` = 0.01, precision\: :ref:`int` = 3\ ) | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`position_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, position\: :ref:`Vector3`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`position_track_interpolate`\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`remove_marker`\ (\ name\: :ref:`StringName`\ ) | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_track`\ (\ track_idx\: :ref:`int`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rotation_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, rotation\: :ref:`Quaternion`\ ) | @@ -160,6 +180,8 @@ Animation +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`scale_track_interpolate`\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_marker_color`\ (\ name\: :ref:`StringName`, color\: :ref:`Color`\ ) | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`track_find_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, find_mode\: :ref:`FindMode` = 0, limit\: :ref:`bool` = false, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`track_get_interpolation_loop_wrap`\ (\ track_idx\: :ref:`int`\ ) |const| | @@ -581,6 +603,18 @@ enum **FindMode**: :ref:`🔗` 方法说明 -------- +.. _class_Animation_method_add_marker: + +.. rst-class:: classref-method + +|void| **add_marker**\ (\ name\: :ref:`StringName`, time\: :ref:`float`\ ) :ref:`🔗` + +Adds a marker to this Animation. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_add_track: .. rst-class:: classref-method @@ -915,6 +949,78 @@ enum **FindMode**: :ref:`🔗` ---- +.. _class_Animation_method_get_marker_at_time: + +.. rst-class:: classref-method + +:ref:`StringName` **get_marker_at_time**\ (\ time\: :ref:`float`\ ) |const| :ref:`🔗` + +Returns the name of the marker located at the given time. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_marker_color: + +.. rst-class:: classref-method + +:ref:`Color` **get_marker_color**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`🔗` + +Returns the given marker's color. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_marker_names: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **get_marker_names**\ (\ ) |const| :ref:`🔗` + +Returns every marker in this Animation, sorted ascending by time. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_marker_time: + +.. rst-class:: classref-method + +:ref:`float` **get_marker_time**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`🔗` + +Returns the given marker's time. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_next_marker: + +.. rst-class:: classref-method + +:ref:`StringName` **get_next_marker**\ (\ time\: :ref:`float`\ ) |const| :ref:`🔗` + +Returns the closest marker that comes after the given time. If no such marker exists, an empty string is returned. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_prev_marker: + +.. rst-class:: classref-method + +:ref:`StringName` **get_prev_marker**\ (\ time\: :ref:`float`\ ) |const| :ref:`🔗` + +Returns the closest marker that comes before the given time. If no such marker exists, an empty string is returned. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_get_track_count: .. rst-class:: classref-method @@ -927,6 +1033,18 @@ enum **FindMode**: :ref:`🔗` ---- +.. _class_Animation_method_has_marker: + +.. rst-class:: classref-method + +:ref:`bool` **has_marker**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`🔗` + +Returns ``true`` if this Animation contains a marker with the given name. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_method_track_get_name: .. rst-class:: classref-method @@ -951,6 +1069,18 @@ enum **FindMode**: :ref:`🔗` ---- +.. _class_Animation_method_optimize: + +.. rst-class:: classref-method + +|void| **optimize**\ (\ allowed_velocity_err\: :ref:`float` = 0.01, allowed_angular_err\: :ref:`float` = 0.01, precision\: :ref:`int` = 3\ ) :ref:`🔗` + +Optimize the animation and all its tracks in-place. This will preserve only as many keys as are necessary to keep the animation within the specified bounds. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_position_track_insert_key: .. rst-class:: classref-method @@ -975,6 +1105,18 @@ enum **FindMode**: :ref:`🔗` ---- +.. _class_Animation_method_remove_marker: + +.. rst-class:: classref-method + +|void| **remove_marker**\ (\ name\: :ref:`StringName`\ ) :ref:`🔗` + +Removes the marker with the given name from this Animation. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_remove_track: .. rst-class:: classref-method @@ -1035,6 +1177,18 @@ enum **FindMode**: :ref:`🔗` ---- +.. _class_Animation_method_set_marker_color: + +.. rst-class:: classref-method + +|void| **set_marker_color**\ (\ name\: :ref:`StringName`, color\: :ref:`Color`\ ) :ref:`🔗` + +Sets the given marker's color. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_track_find_key: .. rst-class:: classref-method diff --git a/classes/zh_CN/class_animationlibrary.rst b/classes/zh_CN/class_animationlibrary.rst index e550533729..ac4f8fa89e 100644 --- a/classes/zh_CN/class_animationlibrary.rst +++ b/classes/zh_CN/class_animationlibrary.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationLibrary.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationLibrary.xml. .. _class_AnimationLibrary: @@ -43,6 +43,8 @@ AnimationLibrary +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`StringName`\] | :ref:`get_animation_list`\ (\ ) |const| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_animation_list_size`\ (\ ) |const| | + +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_animation`\ (\ name\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_animation`\ (\ name\: :ref:`StringName`\ ) | @@ -150,6 +152,18 @@ AnimationLibrary ---- +.. _class_AnimationLibrary_method_get_animation_list_size: + +.. rst-class:: classref-method + +:ref:`int` **get_animation_list_size**\ (\ ) |const| :ref:`🔗` + +Returns the key count for the :ref:`Animation`\ s stored in the library. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationLibrary_method_has_animation: .. rst-class:: classref-method diff --git a/classes/zh_CN/class_animationmixer.rst b/classes/zh_CN/class_animationmixer.rst index 9a506a645b..9aedd800af 100644 --- a/classes/zh_CN/class_animationmixer.rst +++ b/classes/zh_CN/class_animationmixer.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationMixer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationMixer.xml. .. _class_AnimationMixer: @@ -55,6 +55,8 @@ AnimationMixer +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+--------------------+ | :ref:`bool` | :ref:`reset_on_save` | ``true`` | +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+--------------------+ + | :ref:`bool` | :ref:`root_motion_local` | | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+--------------------+ | :ref:`NodePath` | :ref:`root_motion_track` | ``NodePath("")`` | +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+--------------------+ | :ref:`NodePath` | :ref:`root_node` | ``NodePath("..")`` | @@ -300,9 +302,33 @@ enum **AnimationCallbackModeDiscrete**: :ref:`🔗` **ANIMATION_CALLBACK_MODE_DISCRETE_FORCE_CONTINUOUS** = ``2`` -在和 :ref:`Animation.INTERPOLATION_NEAREST` 混合时,始终将 :ref:`Animation.UPDATE_DISCRETE` 轨道值视为 :ref:`Animation.UPDATE_CONTINUOUS`\ 。这是 :ref:`AnimationTree` 的默认行为。 +Always treat the :ref:`Animation.UPDATE_DISCRETE` track value as :ref:`Animation.UPDATE_CONTINUOUS` with :ref:`Animation.INTERPOLATION_NEAREST`. This is the default behavior for :ref:`AnimationTree`. -如果值轨道具有非数字类型键值,则在和 :ref:`Animation.UPDATE_DISCRETE` 混合时,会在内部转换为使用 :ref:`ANIMATION_CALLBACK_MODE_DISCRETE_RECESSIVE`\ 。 +If a value track has un-interpolatable type key values, it is internally converted to use :ref:`ANIMATION_CALLBACK_MODE_DISCRETE_RECESSIVE` with :ref:`Animation.UPDATE_DISCRETE`. + +Un-interpolatable type list: + +- :ref:`@GlobalScope.TYPE_NIL`\ + +- :ref:`@GlobalScope.TYPE_NODE_PATH`\ + +- :ref:`@GlobalScope.TYPE_RID`\ + +- :ref:`@GlobalScope.TYPE_OBJECT`\ + +- :ref:`@GlobalScope.TYPE_CALLABLE`\ + +- :ref:`@GlobalScope.TYPE_SIGNAL`\ + +- :ref:`@GlobalScope.TYPE_DICTIONARY`\ + +- :ref:`@GlobalScope.TYPE_PACKED_BYTE_ARRAY`\ + +\ :ref:`@GlobalScope.TYPE_BOOL` and :ref:`@GlobalScope.TYPE_INT` are treated as :ref:`@GlobalScope.TYPE_FLOAT` during blending and rounded when the result is retrieved. + +It is same for arrays and vectors with them such as :ref:`@GlobalScope.TYPE_PACKED_INT32_ARRAY` or :ref:`@GlobalScope.TYPE_VECTOR2I`, they are treated as :ref:`@GlobalScope.TYPE_PACKED_FLOAT32_ARRAY` or :ref:`@GlobalScope.TYPE_VECTOR2`. Also note that for arrays, the size is also interpolated. + +\ :ref:`@GlobalScope.TYPE_STRING` and :ref:`@GlobalScope.TYPE_STRING_NAME` are interpolated between character codes and lengths, but note that there is a difference in algorithm between interpolation between keys and interpolation by blending. .. rst-class:: classref-section-separator @@ -450,6 +476,23 @@ enum **AnimationCallbackModeDiscrete**: :ref:`🔗` **root_motion_local** :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_root_motion_local**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_root_motion_local**\ (\ ) + +If ``true``, :ref:`get_root_motion_position` value is extracted as a local translation value before blending. In other words, it is treated like the translation is done after the rotation. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationMixer_property_root_motion_track: .. rst-class:: classref-property @@ -647,32 +690,32 @@ AnimationMixer 默认拥有一个全局库,键名为空字符串。要向这 :ref:`Vector3` **get_root_motion_position**\ (\ ) |const| :ref:`🔗` -将具有 :ref:`root_motion_track` 的位置的运动增量,检索为一个可以在其他地方使用的 :ref:`Vector3`\ 。 +Retrieve the motion delta of position with the :ref:`root_motion_track` as a :ref:`Vector3` that can be used elsewhere. -如果 :ref:`root_motion_track` 不是 :ref:`Animation.TYPE_POSITION_3D` 类型轨道的路径,则返回 ``Vector3(0, 0, 0)``\ 。 +If :ref:`root_motion_track` is not a path to a track of type :ref:`Animation.TYPE_POSITION_3D`, returns ``Vector3(0, 0, 0)``. -另见 :ref:`root_motion_track` 和 :ref:`RootMotionView`\ 。 +See also :ref:`root_motion_track` and :ref:`RootMotionView`. -最基本的示例是将位置应用于 :ref:`CharacterBody3D`\ : +The most basic example is applying position to :ref:`CharacterBody3D`: .. tabs:: .. code-tab:: gdscript - var current_rotation: Quaternion + var current_rotation func _process(delta): if Input.is_action_just_pressed("animate"): current_rotation = get_quaternion() state_machine.travel("Animate") - var velocity: Vector3 = current_rotation * animation_tree.get_root_motion_position() / delta + var velocity = current_rotation * animation_tree.get_root_motion_position() / delta set_velocity(velocity) move_and_slide() -通过将其与 :ref:`get_root_motion_rotation_accumulator` 结合使用,你可以更正确地应用根运动位置来考虑节点的旋转。 +By using this in combination with :ref:`get_root_motion_rotation_accumulator`, you can apply the root motion position more correctly to account for the rotation of the node. .. tabs:: @@ -683,7 +726,26 @@ AnimationMixer 默认拥有一个全局库,键名为空字符串。要向这 if Input.is_action_just_pressed("animate"): state_machine.travel("Animate") set_quaternion(get_quaternion() * animation_tree.get_root_motion_rotation()) - var velocity: Vector3 = (animation_tree.get_root_motion_rotation_accumulator().inverse() * get_quaternion()) * animation_tree.get_root_motion_position() / delta + var velocity = (animation_tree.get_root_motion_rotation_accumulator().inverse() * get_quaternion()) * animation_tree.get_root_motion_position() / delta + set_velocity(velocity) + move_and_slide() + + + +If :ref:`root_motion_local` is ``true``, return the pre-multiplied translation value with the inverted rotation. + +In this case, the code can be written as follows: + + +.. tabs:: + + .. code-tab:: gdscript + + func _process(delta): + if Input.is_action_just_pressed("animate"): + state_machine.travel("Animate") + set_quaternion(get_quaternion() * animation_tree.get_root_motion_rotation()) + var velocity = get_quaternion() * animation_tree.get_root_motion_position() / delta set_velocity(velocity) move_and_slide() @@ -699,30 +761,30 @@ AnimationMixer 默认拥有一个全局库,键名为空字符串。要向这 :ref:`Vector3` **get_root_motion_position_accumulator**\ (\ ) |const| :ref:`🔗` -检索具有 :ref:`root_motion_track` 的位置轨道的混合值,返回的是可以在其他地方使用的 :ref:`Vector3`\ 。 +Retrieve the blended value of the position tracks with the :ref:`root_motion_track` as a :ref:`Vector3` that can be used elsewhere. -在想要遵循动画的初始动画帧值的情况下很有用。 +This is useful in cases where you want to respect the initial key values of the animation. -例如,如果前一帧播放的是一个只有单个动画帧 ``Vector3(0, 0, 0)`` 的动画,然后下一帧播放的是一个只有单个动画帧\ ``Vector3(1, 0, 1)`` 的动画,它们之间的差异可以这样计算: +For example, if an animation with only one key ``Vector3(0, 0, 0)`` is played in the previous frame and then an animation with only one key ``Vector3(1, 0, 1)`` is played in the next frame, the difference can be calculated as follows: .. tabs:: .. code-tab:: gdscript - var prev_root_motion_position_accumulator: Vector3 + var prev_root_motion_position_accumulator func _process(delta): if Input.is_action_just_pressed("animate"): state_machine.travel("Animate") - var current_root_motion_position_accumulator: Vector3 = animation_tree.get_root_motion_position_accumulator() - var difference: Vector3 = current_root_motion_position_accumulator - prev_root_motion_position_accumulator + var current_root_motion_position_accumulator = animation_tree.get_root_motion_position_accumulator() + var difference = current_root_motion_position_accumulator - prev_root_motion_position_accumulator prev_root_motion_position_accumulator = current_root_motion_position_accumulator transform.origin += difference -不过,如果动画是循环播放的,就可能会发生预料之外的不连续变化,所以这只对一些简单的情况有用。 +However, if the animation loops, an unintended discrete change may occur, so this is only useful for some simple use cases. .. rst-class:: classref-item-separator @@ -764,32 +826,32 @@ AnimationMixer 默认拥有一个全局库,键名为空字符串。要向这 :ref:`Quaternion` **get_root_motion_rotation_accumulator**\ (\ ) |const| :ref:`🔗` -检索带有 :ref:`root_motion_track` 的旋转轨道的混合值,作为一个 :ref:`Quaternion`\ ,可以在其他地方使用。 +Retrieve the blended value of the rotation tracks with the :ref:`root_motion_track` as a :ref:`Quaternion` that can be used elsewhere. -这里必须正确地结合根运动位置,并且要考虑到旋转。参考 :ref:`get_root_motion_position`\ 。 +This is necessary to apply the root motion position correctly, taking rotation into account. See also :ref:`get_root_motion_position`. -并且,当你想重视动画的初始动画帧的值时,这会很有用。 +Also, this is useful in cases where you want to respect the initial key values of the animation. -比如说,如果一个动画在上一帧只播放一个 ``Quaternion(0, 0, 0, 1)`` 动画帧,并且一个动画在下一帧只播放了一个动画帧的 ``Quaternion(0, 0.707, 0, 0.707)`` 时,它们相差的值可以这样求出: +For example, if an animation with only one key ``Quaternion(0, 0, 0, 1)`` is played in the previous frame and then an animation with only one key ``Quaternion(0, 0.707, 0, 0.707)`` is played in the next frame, the difference can be calculated as follows: .. tabs:: .. code-tab:: gdscript - var prev_root_motion_rotation_accumulator: Quaternion + var prev_root_motion_rotation_accumulator func _process(delta): if Input.is_action_just_pressed("animate"): state_machine.travel("Animate") - var current_root_motion_rotation_accumulator: Quaternion = animation_tree.get_root_motion_rotation_accumulator() - var difference: Quaternion = prev_root_motion_rotation_accumulator.inverse() * current_root_motion_rotation_accumulator + var current_root_motion_rotation_accumulator = animation_tree.get_root_motion_rotation_accumulator() + var difference = prev_root_motion_rotation_accumulator.inverse() * current_root_motion_rotation_accumulator prev_root_motion_rotation_accumulator = current_root_motion_rotation_accumulator transform.basis *= Basis(difference) -然而,当一个动画循环时,可能会得到一个意料之外的变化,所以这个只在一些简单情况下才有用。 +However, if the animation loops, an unintended discrete change may occur, so this is only useful for some simple use cases. .. rst-class:: classref-item-separator @@ -801,21 +863,21 @@ AnimationMixer 默认拥有一个全局库,键名为空字符串。要向这 :ref:`Vector3` **get_root_motion_scale**\ (\ ) |const| :ref:`🔗` -获取 :ref:`root_motion_track` 的缩放运动增量,类型为 :ref:`Vector3`\ ,可以在其他地方使用。 +Retrieve the motion delta of scale with the :ref:`root_motion_track` as a :ref:`Vector3` that can be used elsewhere. -如果 :ref:`root_motion_track` 不是类型为 :ref:`Animation.TYPE_SCALE_3D` 的轨道的路径,则返回 ``Vector3(0, 0, 0)`` 。 +If :ref:`root_motion_track` is not a path to a track of type :ref:`Animation.TYPE_SCALE_3D`, returns ``Vector3(0, 0, 0)``. -另见 :ref:`root_motion_track` 和 :ref:`RootMotionView`\ 。 +See also :ref:`root_motion_track` and :ref:`RootMotionView`. -最基本的例子是对 :ref:`CharacterBody3D` 应用缩放。 +The most basic example is applying scale to :ref:`CharacterBody3D`: .. tabs:: .. code-tab:: gdscript - var current_scale: Vector3 = Vector3(1, 1, 1) - var scale_accum: Vector3 = Vector3(1, 1, 1) + var current_scale = Vector3(1, 1, 1) + var scale_accum = Vector3(1, 1, 1) func _process(delta): if Input.is_action_just_pressed("animate"): @@ -837,28 +899,28 @@ AnimationMixer 默认拥有一个全局库,键名为空字符串。要向这 :ref:`Vector3` **get_root_motion_scale_accumulator**\ (\ ) |const| :ref:`🔗` -检索带有 :ref:`root_motion_track` 的缩放轨道的混合值,作为一个 :ref:`Vector3`\ ,可以在其他地方使用。 +Retrieve the blended value of the scale tracks with the :ref:`root_motion_track` as a :ref:`Vector3` that can be used elsewhere. -例如,如果一个动画在前一帧只播放了一个动画帧 ``Vector3(1, 1, 1)``\ ,并且一个动画在后一帧只播放了一个动画帧 ``Vector3(2, 2, 2)``\ ,他们之间相差的值可以这样求出: +For example, if an animation with only one key ``Vector3(1, 1, 1)`` is played in the previous frame and then an animation with only one key ``Vector3(2, 2, 2)`` is played in the next frame, the difference can be calculated as follows: .. tabs:: .. code-tab:: gdscript - var prev_root_motion_scale_accumulator: Vector3 + var prev_root_motion_scale_accumulator func _process(delta): if Input.is_action_just_pressed("animate"): state_machine.travel("Animate") - var current_root_motion_scale_accumulator: Vector3 = animation_tree.get_root_motion_scale_accumulator() - var difference: Vector3 = current_root_motion_scale_accumulator - prev_root_motion_scale_accumulator + var current_root_motion_scale_accumulator = animation_tree.get_root_motion_scale_accumulator() + var difference = current_root_motion_scale_accumulator - prev_root_motion_scale_accumulator prev_root_motion_scale_accumulator = current_root_motion_scale_accumulator transform.basis = transform.basis.scaled(difference) -然而,当一个动画循环时,可能会得到一个意料之外的变化,所以这个只在一些简单情况下才有用。 +However, if the animation loops, an unintended discrete change may occur, so this is only useful for some simple use cases. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_animationnode.rst b/classes/zh_CN/class_animationnode.rst index e73ef1fade..2c36e92316 100644 --- a/classes/zh_CN/class_animationnode.rst +++ b/classes/zh_CN/class_animationnode.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNode.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNode.xml. .. _class_AnimationNode: @@ -12,7 +12,7 @@ AnimationNode **继承:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -**派生:** :ref:`AnimationNodeOutput`, :ref:`AnimationNodeSync`, :ref:`AnimationNodeTimeScale`, :ref:`AnimationNodeTimeSeek`, :ref:`AnimationRootNode` +**派生:** :ref:`AnimationNodeExtension`, :ref:`AnimationNodeOutput`, :ref:`AnimationNodeSync`, :ref:`AnimationNodeTimeScale`, :ref:`AnimationNodeTimeSeek`, :ref:`AnimationRootNode` :ref:`AnimationTree` 节点的基类。与场景节点无关。 @@ -77,7 +77,7 @@ AnimationNode +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_is_parameter_read_only`\ (\ parameter\: :ref:`StringName`\ ) |virtual| |const| | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_process`\ (\ time\: :ref:`float`, seek\: :ref:`bool`, is_external_seeking\: :ref:`bool`, test_only\: :ref:`bool`\ ) |virtual| |const| | + | :ref:`float` | :ref:`_process`\ (\ time\: :ref:`float`, seek\: :ref:`bool`, is_external_seeking\: :ref:`bool`, test_only\: :ref:`bool`\ ) |virtual| | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`add_input`\ (\ name\: :ref:`String`\ ) | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -95,8 +95,12 @@ AnimationNode +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_parameter`\ (\ name\: :ref:`StringName`\ ) |const| | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_processing_animation_tree_instance_id`\ (\ ) |const| | + +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_path_filtered`\ (\ path\: :ref:`NodePath`\ ) |const| | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_process_testing`\ (\ ) |const| | + +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_input`\ (\ index\: :ref:`int`\ ) | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_filter_path`\ (\ path\: :ref:`NodePath`, enable\: :ref:`bool`\ ) | @@ -313,7 +317,7 @@ enum **FilterAction**: :ref:`🔗` .. rst-class:: classref-method -:ref:`float` **_process**\ (\ time\: :ref:`float`, seek\: :ref:`bool`, is_external_seeking\: :ref:`bool`, test_only\: :ref:`bool`\ ) |virtual| |const| :ref:`🔗` +:ref:`float` **_process**\ (\ time\: :ref:`float`, seek\: :ref:`bool`, is_external_seeking\: :ref:`bool`, test_only\: :ref:`bool`\ ) |virtual| :ref:`🔗` **已弃用:** Currently this is mostly useless as there is a lack of many APIs to extend AnimationNode by GDScript. It is planned that a more flexible API using structures will be provided in the future. @@ -425,13 +429,39 @@ enum **FilterAction**: :ref:`🔗` ---- +.. _class_AnimationNode_method_get_processing_animation_tree_instance_id: + +.. rst-class:: classref-method + +:ref:`int` **get_processing_animation_tree_instance_id**\ (\ ) |const| :ref:`🔗` + +Returns the object id of the :ref:`AnimationTree` that owns this node. + +\ **Note:** This method should only be called from within the :ref:`AnimationNodeExtension._process_animation_node` method, and will return an invalid id otherwise. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationNode_method_is_path_filtered: .. rst-class:: classref-method :ref:`bool` **is_path_filtered**\ (\ path\: :ref:`NodePath`\ ) |const| :ref:`🔗` -返回给定路径是否被过滤。 +Returns ``true`` if the given path is filtered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationNode_method_is_process_testing: + +.. rst-class:: classref-method + +:ref:`bool` **is_process_testing**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` if this animation node is being processed in test-only mode. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_animationnodeadd2.rst b/classes/zh_CN/class_animationnodeadd2.rst index 044e1973d4..8bfbf07cb4 100644 --- a/classes/zh_CN/class_animationnodeadd2.rst +++ b/classes/zh_CN/class_animationnodeadd2.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeAdd2.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeAdd2.xml. .. _class_AnimationNodeAdd2: diff --git a/classes/zh_CN/class_animationnodeadd3.rst b/classes/zh_CN/class_animationnodeadd3.rst index 086e62f2ea..e3ff2fddb1 100644 --- a/classes/zh_CN/class_animationnodeadd3.rst +++ b/classes/zh_CN/class_animationnodeadd3.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeAdd3.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeAdd3.xml. .. _class_AnimationNodeAdd3: diff --git a/classes/zh_CN/class_animationnodeanimation.rst b/classes/zh_CN/class_animationnodeanimation.rst index cdecac0a6d..c783f5307f 100644 --- a/classes/zh_CN/class_animationnodeanimation.rst +++ b/classes/zh_CN/class_animationnodeanimation.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeAnimation.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeAnimation.xml. .. _class_AnimationNodeAnimation: @@ -40,6 +40,8 @@ AnimationNodeAnimation .. table:: :widths: auto + +-------------------------------------------------------+---------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`advance_on_start` | ``false`` | +-------------------------------------------------------+---------------------------------------------------------------------------------------+-----------+ | :ref:`StringName` | :ref:`animation` | ``&""`` | +-------------------------------------------------------+---------------------------------------------------------------------------------------+-----------+ @@ -96,6 +98,25 @@ enum **PlayMode**: :ref:`🔗` 属性说明 -------- +.. _class_AnimationNodeAnimation_property_advance_on_start: + +.. rst-class:: classref-property + +:ref:`bool` **advance_on_start** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_advance_on_start**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_advance_on_start**\ (\ ) + +If ``true``, on receiving a request to play an animation from the start, the first frame is not drawn, but only processed, and playback starts from the next frame. + +See also the notes of :ref:`AnimationPlayer.play`. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationNodeAnimation_property_animation: .. rst-class:: classref-property diff --git a/classes/zh_CN/class_animationnodeblend2.rst b/classes/zh_CN/class_animationnodeblend2.rst index 4977ae49fb..6ff8367789 100644 --- a/classes/zh_CN/class_animationnodeblend2.rst +++ b/classes/zh_CN/class_animationnodeblend2.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeBlend2.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlend2.xml. .. _class_AnimationNodeBlend2: diff --git a/classes/zh_CN/class_animationnodeblend3.rst b/classes/zh_CN/class_animationnodeblend3.rst index b31daca65f..cc09edb2d4 100644 --- a/classes/zh_CN/class_animationnodeblend3.rst +++ b/classes/zh_CN/class_animationnodeblend3.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeBlend3.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlend3.xml. .. _class_AnimationNodeBlend3: diff --git a/classes/zh_CN/class_animationnodeblendspace1d.rst b/classes/zh_CN/class_animationnodeblendspace1d.rst index 32329d25a4..7e7d913b2e 100644 --- a/classes/zh_CN/class_animationnodeblendspace1d.rst +++ b/classes/zh_CN/class_animationnodeblendspace1d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeBlendSpace1D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlendSpace1D.xml. .. _class_AnimationNodeBlendSpace1D: diff --git a/classes/zh_CN/class_animationnodeblendspace2d.rst b/classes/zh_CN/class_animationnodeblendspace2d.rst index e9839c085e..28562e2f9a 100644 --- a/classes/zh_CN/class_animationnodeblendspace2d.rst +++ b/classes/zh_CN/class_animationnodeblendspace2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeBlendSpace2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlendSpace2D.xml. .. _class_AnimationNodeBlendSpace2D: diff --git a/classes/zh_CN/class_animationnodeblendtree.rst b/classes/zh_CN/class_animationnodeblendtree.rst index 6ff9d4e813..81ae6b48b8 100644 --- a/classes/zh_CN/class_animationnodeblendtree.rst +++ b/classes/zh_CN/class_animationnodeblendtree.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeBlendTree.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeBlendTree.xml. .. _class_AnimationNodeBlendTree: diff --git a/classes/zh_CN/class_animationnodeextension.rst b/classes/zh_CN/class_animationnodeextension.rst new file mode 100644 index 0000000000..6d030464bf --- /dev/null +++ b/classes/zh_CN/class_animationnodeextension.rst @@ -0,0 +1,94 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeExtension.xml. + +.. _class_AnimationNodeExtension: + +AnimationNodeExtension +====================== + +**实验性:** This class may be changed or removed in future versions. + +**继承:** :ref:`AnimationNode` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` + +Base class for extending :ref:`AnimationRootNode`\ s from GDScript, C#, or C++. + +.. rst-class:: classref-introduction-group + +描述 +---- + +**AnimationNodeExtension** exposes the APIs of :ref:`AnimationRootNode` to allow users to extend it from GDScript, C#, or C++. This class is not meant to be used directly, but to be extended by other classes. It is used to create custom nodes for the :ref:`AnimationTree` system. + +.. rst-class:: classref-reftable-group + +方法 +---- + +.. table:: + :widths: auto + + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedFloat32Array` | :ref:`_process_animation_node`\ (\ playback_info\: :ref:`PackedFloat64Array`, test_only\: :ref:`bool`\ ) |virtual| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_remaining_time`\ (\ node_info\: :ref:`PackedFloat32Array`, break_loop\: :ref:`bool`\ ) |static| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_looping`\ (\ node_info\: :ref:`PackedFloat32Array`\ ) |static| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +方法说明 +-------- + +.. _class_AnimationNodeExtension_private_method__process_animation_node: + +.. rst-class:: classref-method + +:ref:`PackedFloat32Array` **_process_animation_node**\ (\ playback_info\: :ref:`PackedFloat64Array`, test_only\: :ref:`bool`\ ) |virtual| :ref:`🔗` + +A version of the :ref:`AnimationNode._process` method that is meant to be overridden by custom nodes. It returns a :ref:`PackedFloat32Array` with the processed animation data. + +The :ref:`PackedFloat64Array` parameter contains the playback information, containing the following values encoded as floating point numbers (in order): playback time and delta, start and end times, whether a seek was requested (encoded as a float greater than ``0``), whether the seek request was externally requested (encoded as a float greater than ``0``), the current :ref:`LoopedFlag` (encoded as a float), and the current blend weight. + +The function must return a :ref:`PackedFloat32Array` of the node's time info, containing the following values (in order): animation length, time position, delta, :ref:`LoopMode` (encoded as a float), whether the animation is about to end (encoded as a float greater than ``0``) and whether the animation is infinite (encoded as a float greater than ``0``). All values must be included in the returned array. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationNodeExtension_method_get_remaining_time: + +.. rst-class:: classref-method + +:ref:`float` **get_remaining_time**\ (\ node_info\: :ref:`PackedFloat32Array`, break_loop\: :ref:`bool`\ ) |static| :ref:`🔗` + +Returns the animation's remaining time for the given node info. For looping animations, it will only return the remaining time if ``break_loop`` is ``true``, a large integer value will be returned otherwise. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationNodeExtension_method_is_looping: + +.. rst-class:: classref-method + +:ref:`bool` **is_looping**\ (\ node_info\: :ref:`PackedFloat32Array`\ ) |static| :ref:`🔗` + +Returns ``true`` if the animation for the given ``node_info`` is looping. + +.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` +.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` +.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)` +.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)` +.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)` +.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)` +.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)` +.. |void| replace:: :abbr:`void (无返回值。)` diff --git a/classes/zh_CN/class_animationnodeoneshot.rst b/classes/zh_CN/class_animationnodeoneshot.rst index 0eb47415b1..041e0ccfc0 100644 --- a/classes/zh_CN/class_animationnodeoneshot.rst +++ b/classes/zh_CN/class_animationnodeoneshot.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeOneShot.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeOneShot.xml. .. _class_AnimationNodeOneShot: @@ -272,7 +272,7 @@ enum **MixMode**: :ref:`🔗` - |void| **set_fadein_curve**\ (\ value\: :ref:`Curve`\ ) - :ref:`Curve` **get_fadein_curve**\ (\ ) -确定如何缓动动画之间的淡入淡出。如果为空,过渡将是线性的。 +Determines how cross-fading between animations is eased. If empty, the transition will be linear. Should be a unit :ref:`Curve`. .. rst-class:: classref-item-separator @@ -308,7 +308,7 @@ enum **MixMode**: :ref:`🔗` - |void| **set_fadeout_curve**\ (\ value\: :ref:`Curve`\ ) - :ref:`Curve` **get_fadeout_curve**\ (\ ) -确定如何缓动动画之间的淡入淡出。如果为空,过渡将是线性的。 +Determines how cross-fading between animations is eased. If empty, the transition will be linear. Should be a unit :ref:`Curve`. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_animationnodeoutput.rst b/classes/zh_CN/class_animationnodeoutput.rst index c0919f6b1d..fe367e1bda 100644 --- a/classes/zh_CN/class_animationnodeoutput.rst +++ b/classes/zh_CN/class_animationnodeoutput.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeOutput.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeOutput.xml. .. _class_AnimationNodeOutput: diff --git a/classes/zh_CN/class_animationnodestatemachine.rst b/classes/zh_CN/class_animationnodestatemachine.rst index b081e1fd9a..1e76a5df2d 100644 --- a/classes/zh_CN/class_animationnodestatemachine.rst +++ b/classes/zh_CN/class_animationnodestatemachine.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeStateMachine.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeStateMachine.xml. .. _class_AnimationNodeStateMachine: @@ -19,9 +19,7 @@ AnimationNodeStateMachine 描述 ---- -包含表示动画状态的多个 :ref:`AnimationRootNode`\ ,以图的形式连接。可以使用最短路径算法,将节点过渡配置为自动发生或通过代码发生。要以编程的方式控制过渡,请从 :ref:`AnimationTree` 节点获取 :ref:`AnimationNodeStateMachinePlayback` 对象。 - -\ **示例:**\ +Contains multiple :ref:`AnimationRootNode`\ s representing animation states, connected in a graph. State transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the :ref:`AnimationNodeStateMachinePlayback` object from the :ref:`AnimationTree` node to control it programmatically. .. tabs:: diff --git a/classes/zh_CN/class_animationnodestatemachineplayback.rst b/classes/zh_CN/class_animationnodestatemachineplayback.rst index 404d0056b2..0bf38b4aa6 100644 --- a/classes/zh_CN/class_animationnodestatemachineplayback.rst +++ b/classes/zh_CN/class_animationnodestatemachineplayback.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeStateMachinePlayback.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeStateMachinePlayback.xml. .. _class_AnimationNodeStateMachinePlayback: @@ -19,9 +19,7 @@ AnimationNodeStateMachinePlayback 描述 ---- -允许控制使用 :ref:`AnimationNodeStateMachine` 创建的 :ref:`AnimationTree` 状态机。使用 ``$AnimationTree.get("parameters/playback")`` 检索。 - -\ **示例:**\ +Allows control of :ref:`AnimationTree` state machines created with :ref:`AnimationNodeStateMachine`. Retrieve with ``$AnimationTree.get("parameters/playback")``. .. tabs:: diff --git a/classes/zh_CN/class_animationnodestatemachinetransition.rst b/classes/zh_CN/class_animationnodestatemachinetransition.rst index e976c33a78..369da7ace0 100644 --- a/classes/zh_CN/class_animationnodestatemachinetransition.rst +++ b/classes/zh_CN/class_animationnodestatemachinetransition.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeStateMachineTransition.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeStateMachineTransition.xml. .. _class_AnimationNodeStateMachineTransition: @@ -146,7 +146,7 @@ enum **AdvanceMode**: :ref:`🔗` **ADVANCE_MODE_AUTO** = ``2`` -如果 :ref:`advance_condition` 和 :ref:`advance_expression` 检查为真,则自动使用该过渡(如果已分配)。 +Automatically use this transition if the :ref:`advance_condition` and :ref:`advance_expression` checks are ``true`` (if assigned). .. rst-class:: classref-section-separator @@ -215,7 +215,7 @@ enum **AdvanceMode**: :ref:`🔗`\ ) - :ref:`AdvanceMode` **get_advance_mode**\ (\ ) -决定在使用 :ref:`AnimationNodeStateMachinePlayback.travel` 时该过渡是否应该被禁用/启用,或者如果 :ref:`advance_condition` 和 :ref:`advance_expression` 检查为真则自动行进(如果已分配)。 +Determines whether the transition should be disabled, enabled when using :ref:`AnimationNodeStateMachinePlayback.travel`, or traversed automatically if the :ref:`advance_condition` and :ref:`advance_expression` checks are ``true`` (if assigned). .. rst-class:: classref-item-separator @@ -300,7 +300,7 @@ enum **AdvanceMode**: :ref:`🔗`\ ) - :ref:`Curve` **get_xfade_curve**\ (\ ) -缓动曲线可以更好地控制此状态和下一个状态之间的交叉淡入淡出。 +Ease curve for better control over cross-fade between this state and the next. Should be a unit :ref:`Curve`. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_animationnodesub2.rst b/classes/zh_CN/class_animationnodesub2.rst index e262d4d4d0..a2ecb2c1e2 100644 --- a/classes/zh_CN/class_animationnodesub2.rst +++ b/classes/zh_CN/class_animationnodesub2.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeSub2.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeSub2.xml. .. _class_AnimationNodeSub2: diff --git a/classes/zh_CN/class_animationnodesync.rst b/classes/zh_CN/class_animationnodesync.rst index 8f94cd27f3..9b304aed5f 100644 --- a/classes/zh_CN/class_animationnodesync.rst +++ b/classes/zh_CN/class_animationnodesync.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeSync.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeSync.xml. .. _class_AnimationNodeSync: diff --git a/classes/zh_CN/class_animationnodetimescale.rst b/classes/zh_CN/class_animationnodetimescale.rst index 00d69eff37..84ec2d5f0f 100644 --- a/classes/zh_CN/class_animationnodetimescale.rst +++ b/classes/zh_CN/class_animationnodetimescale.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeTimeScale.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeTimeScale.xml. .. _class_AnimationNodeTimeScale: diff --git a/classes/zh_CN/class_animationnodetimeseek.rst b/classes/zh_CN/class_animationnodetimeseek.rst index 65c12e12b0..4e7bb86df7 100644 --- a/classes/zh_CN/class_animationnodetimeseek.rst +++ b/classes/zh_CN/class_animationnodetimeseek.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeTimeSeek.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeTimeSeek.xml. .. _class_AnimationNodeTimeSeek: @@ -55,6 +55,40 @@ AnimationNodeTimeSeek - :doc:`使用 AnimationTree <../tutorials/animation/animation_tree>` +.. rst-class:: classref-reftable-group + +属性 +---- + +.. table:: + :widths: auto + + +-------------------------+------------------------------------------------------------------------------+----------+ + | :ref:`bool` | :ref:`explicit_elapse` | ``true`` | + +-------------------------+------------------------------------------------------------------------------+----------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +属性说明 +-------- + +.. _class_AnimationNodeTimeSeek_property_explicit_elapse: + +.. rst-class:: classref-property + +:ref:`bool` **explicit_elapse** = ``true`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_explicit_elapse**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_explicit_elapse**\ (\ ) + +If ``true``, some processes are executed to handle keys between seeks, such as calculating root motion and finding the nearest discrete key. + .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` .. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)` diff --git a/classes/zh_CN/class_animationnodetransition.rst b/classes/zh_CN/class_animationnodetransition.rst index 60153385ae..14b7c10ff7 100644 --- a/classes/zh_CN/class_animationnodetransition.rst +++ b/classes/zh_CN/class_animationnodetransition.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationNodeTransition.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationNodeTransition.xml. .. _class_AnimationNodeTransition: @@ -163,7 +163,7 @@ AnimationNodeTransition - |void| **set_xfade_curve**\ (\ value\: :ref:`Curve`\ ) - :ref:`Curve` **get_xfade_curve**\ (\ ) -确定如何缓动动画之间的淡入淡出。如果为空,过渡将是线性的。 +Determines how cross-fading between animations is eased. If empty, the transition will be linear. Should be a unit :ref:`Curve`. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_animationplayer.rst b/classes/zh_CN/class_animationplayer.rst index 00b9b56701..424603906c 100644 --- a/classes/zh_CN/class_animationplayer.rst +++ b/classes/zh_CN/class_animationplayer.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationPlayer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationPlayer.xml. .. _class_AnimationPlayer: @@ -99,6 +99,12 @@ AnimationPlayer +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`NodePath` | :ref:`get_root`\ (\ ) |const| | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_section_end_time`\ (\ ) |const| | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_section_start_time`\ (\ ) |const| | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_section`\ (\ ) |const| | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_playing`\ (\ ) |const| | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`pause`\ (\ ) | @@ -107,10 +113,20 @@ AnimationPlayer +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`play_backwards`\ (\ name\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`play_section`\ (\ name\: :ref:`StringName` = &"", start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1, custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`play_section_backwards`\ (\ name\: :ref:`StringName` = &"", start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1, custom_blend\: :ref:`float` = -1\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`play_section_with_markers`\ (\ name\: :ref:`StringName` = &"", start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`play_section_with_markers_backwards`\ (\ name\: :ref:`StringName` = &"", start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`play_with_capture`\ (\ name\: :ref:`StringName` = &"", duration\: :ref:`float` = -1.0, custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false, trans_type\: :ref:`TransitionType` = 0, ease_type\: :ref:`EaseType` = 0\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`queue`\ (\ name\: :ref:`StringName`\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`reset_section`\ (\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`seek`\ (\ seconds\: :ref:`float`, update\: :ref:`bool` = false, update_only\: :ref:`bool` = false\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_blend_time`\ (\ animation_from\: :ref:`StringName`, animation_to\: :ref:`StringName`, sec\: :ref:`float`\ ) | @@ -121,6 +137,10 @@ AnimationPlayer +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_root`\ (\ path\: :ref:`NodePath`\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_section`\ (\ start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_section_with_markers`\ (\ start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &""\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`stop`\ (\ keep_state\: :ref:`bool` = false\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -572,6 +592,42 @@ enum **AnimationMethodCallMode**: :ref:`🔗` **get_section_end_time**\ (\ ) |const| :ref:`🔗` + +Returns the end time of the section currently being played. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_get_section_start_time: + +.. rst-class:: classref-method + +:ref:`float` **get_section_start_time**\ (\ ) |const| :ref:`🔗` + +Returns the start time of the section currently being played. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_has_section: + +.. rst-class:: classref-method + +:ref:`bool` **has_section**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` if an animation is currently playing with section. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationPlayer_method_is_playing: .. rst-class:: classref-method @@ -630,6 +686,62 @@ enum **AnimationMethodCallMode**: :ref:`🔗` = &"", start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1, custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false\ ) :ref:`🔗` + +Plays the animation with key ``name`` and the section starting from ``start_time`` and ending on ``end_time``. See also :ref:`play`. + +Setting ``start_time`` to a value outside the range of the animation means the start of the animation will be used instead, and setting ``end_time`` to a value outside the range of the animation means the end of the animation will be used instead. ``start_time`` cannot be equal to ``end_time``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_play_section_backwards: + +.. rst-class:: classref-method + +|void| **play_section_backwards**\ (\ name\: :ref:`StringName` = &"", start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1, custom_blend\: :ref:`float` = -1\ ) :ref:`🔗` + +Plays the animation with key ``name`` and the section starting from ``start_time`` and ending on ``end_time`` in reverse. + +This method is a shorthand for :ref:`play_section` with ``custom_speed = -1.0`` and ``from_end = true``, see its description for more information. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_play_section_with_markers: + +.. rst-class:: classref-method + +|void| **play_section_with_markers**\ (\ name\: :ref:`StringName` = &"", start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false\ ) :ref:`🔗` + +Plays the animation with key ``name`` and the section starting from ``start_marker`` and ending on ``end_marker``. + +If the start marker is empty, the section starts from the beginning of the animation. If the end marker is empty, the section ends on the end of the animation. See also :ref:`play`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_play_section_with_markers_backwards: + +.. rst-class:: classref-method + +|void| **play_section_with_markers_backwards**\ (\ name\: :ref:`StringName` = &"", start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1\ ) :ref:`🔗` + +Plays the animation with key ``name`` and the section starting from ``start_marker`` and ending on ``end_marker`` in reverse. + +This method is a shorthand for :ref:`play_section_with_markers` with ``custom_speed = -1.0`` and ``from_end = true``, see its description for more information. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationPlayer_method_play_with_capture: .. rst-class:: classref-method @@ -669,6 +781,18 @@ enum **AnimationMethodCallMode**: :ref:`🔗` + +Resets the current section if section is set. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationPlayer_method_seek: .. rst-class:: classref-method @@ -739,6 +863,32 @@ enum **AnimationMethodCallMode**: :ref:`🔗` = -1, end_time\: :ref:`float` = -1\ ) :ref:`🔗` + +Changes the start and end times of the section being played. The current playback position will be clamped within the new section. See also :ref:`play_section`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_set_section_with_markers: + +.. rst-class:: classref-method + +|void| **set_section_with_markers**\ (\ start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &""\ ) :ref:`🔗` + +Changes the start and end markers of the section being played. The current playback position will be clamped within the new section. See also :ref:`play_section_with_markers`. + +If the argument is empty, the section uses the beginning or end of the animation. If both are empty, it means that the section is not set. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationPlayer_method_stop: .. rst-class:: classref-method diff --git a/classes/zh_CN/class_animationrootnode.rst b/classes/zh_CN/class_animationrootnode.rst index 4fb0418acc..48d7689818 100644 --- a/classes/zh_CN/class_animationrootnode.rst +++ b/classes/zh_CN/class_animationrootnode.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationRootNode.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationRootNode.xml. .. _class_AnimationRootNode: diff --git a/classes/zh_CN/class_animationtree.rst b/classes/zh_CN/class_animationtree.rst index d0e3934218..0cae0238a8 100644 --- a/classes/zh_CN/class_animationtree.rst +++ b/classes/zh_CN/class_animationtree.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AnimationTree.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AnimationTree.xml. .. _class_AnimationTree: diff --git a/classes/zh_CN/class_area2d.rst b/classes/zh_CN/class_area2d.rst index 273d249e67..d047b26b89 100644 --- a/classes/zh_CN/class_area2d.rst +++ b/classes/zh_CN/class_area2d.rst @@ -5,8 +5,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Area2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Area2D.xml. .. _class_Area2D: @@ -142,18 +142,18 @@ Area2D **area_shape_entered**\ (\ area_rid\: :ref:`RID`, area\: :ref:`Area2D`, area_shape_index\: :ref:`int`, local_shape_index\: :ref:`int`\ ) :ref:`🔗` -当收到的 ``area`` 的 :ref:`Shape2D` 进入这个区域的形状时发出。要求 :ref:`monitoring` 被设置为 ``true`` 。 +Emitted when a :ref:`Shape2D` of the received ``area`` enters a shape of this area. Requires :ref:`monitoring` to be set to ``true``. -\ ``local_shape_index`` 和 ``area_shape_index`` 分别包含来自这个区域和另一个区域的交互形状的索引。\ ``area_rid`` 包含另一个区域的 :ref:`RID`\ 。这些值可以与 :ref:`PhysicsServer2D` 一起使用。 +\ ``local_shape_index`` and ``area_shape_index`` contain indices of the interacting shapes from this area and the other area, respectively. ``area_rid`` contains the :ref:`RID` of the other area. These values can be used with the :ref:`PhysicsServer2D`. -\ **从形状索引中获取** :ref:`CollisionShape2D`\ **节点的例子:**\ +\ **Example:** Get the :ref:`CollisionShape2D` node from the shape index: .. tabs:: .. code-tab:: gdscript - var other_shape_owner = area.shape_find_owner( area_shape_index) + var other_shape_owner = area.shape_find_owner(area_shape_index) var other_shape_node = area.shape_owner_get_owner(other_shape_owner) var local_shape_owner = shape_find_owner(local_shape_index) @@ -209,11 +209,11 @@ Area2D **body_shape_entered**\ (\ body_rid\: :ref:`RID`, body\: :ref:`Node2D`, body_shape_index\: :ref:`int`, local_shape_index\: :ref:`int`\ ) :ref:`🔗` -当收到的 ``body`` 的 :ref:`Shape2D` 进入这个区域的形状时发出。\ ``body`` 可以是一个 :ref:`PhysicsBody2D` 或一个 :ref:`TileMap`\ 。如果 :ref:`TileMap` 的 :ref:`TileSet` 配置了碰撞形状,则会被检测到。要求 :ref:`monitoring` 被设置为 ``true`` 。 +Emitted when a :ref:`Shape2D` of the received ``body`` enters a shape of this area. ``body`` can be a :ref:`PhysicsBody2D` or a :ref:`TileMap`. :ref:`TileMap`\ s are detected if their :ref:`TileSet` has collision shapes configured. Requires :ref:`monitoring` to be set to ``true``. -\ ``local_shape_index`` 和 ``body_shape_index`` 分别包含来自这个区域和交互体的交互形状的指数。\ ``body_rid`` 包含体的 :ref:`RID`\ 。这些值可以与 :ref:`PhysicsServer2D` 一起使用。 +\ ``local_shape_index`` and ``body_shape_index`` contain indices of the interacting shapes from this area and the interacting body, respectively. ``body_rid`` contains the :ref:`RID` of the body. These values can be used with the :ref:`PhysicsServer2D`. -\ **从形状索引中获取** :ref:`CollisionShape2D` **节点的例子。**\ +\ **Example:** Get the :ref:`CollisionShape2D` node from the shape index: .. tabs:: diff --git a/classes/zh_CN/class_area3d.rst b/classes/zh_CN/class_area3d.rst index 4a48f9f1c7..7ab300a366 100644 --- a/classes/zh_CN/class_area3d.rst +++ b/classes/zh_CN/class_area3d.rst @@ -5,8 +5,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Area3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Area3D.xml. .. _class_Area3D: @@ -156,18 +156,18 @@ Area3D **area_shape_entered**\ (\ area_rid\: :ref:`RID`, area\: :ref:`Area3D`, area_shape_index\: :ref:`int`, local_shape_index\: :ref:`int`\ ) :ref:`🔗` -当收到的 ``area`` 的 :ref:`Shape3D` 进入这个区域的形状时发出。要求 :ref:`monitoring` 被设置为 ``true`` 。 +Emitted when a :ref:`Shape3D` of the received ``area`` enters a shape of this area. Requires :ref:`monitoring` to be set to ``true``. -\ ``local_shape_index`` 和 ``area_shape_index`` 分别包含来自这个区域和另一个区域的交互形状的索引。\ ``area_rid`` 包含另一个区域的 :ref:`RID`\ 。这些值可以与 :ref:`PhysicsServer3D` 一起使用。 +\ ``local_shape_index`` and ``area_shape_index`` contain indices of the interacting shapes from this area and the other area, respectively. ``area_rid`` contains the :ref:`RID` of the other area. These values can be used with the :ref:`PhysicsServer3D`. -\ **从形状索引中获取** :ref:`CollisionShape3D` **节点的例子。**\ +\ **Example:** Get the :ref:`CollisionShape3D` node from the shape index: .. tabs:: .. code-tab:: gdscript - var other_shape_owner = area.shape_find_owner( area_shape_index) + var other_shape_owner = area.shape_find_owner(area_shape_index) var other_shape_node = area.shape_owner_get_owner(other_shape_owner) var local_shape_owner = shape_find_owner(local_shape_index) @@ -223,11 +223,11 @@ Area3D **body_shape_entered**\ (\ body_rid\: :ref:`RID`, body\: :ref:`Node3D`, body_shape_index\: :ref:`int`, local_shape_index\: :ref:`int`\ ) :ref:`🔗` -当接收到的物体 ``body`` 中的某个 :ref:`Shape3D` 进入此区域中的某个形状时发出。\ ``body`` 可以是 :ref:`PhysicsBody3D` 或 :ref:`GridMap`\ 。\ :ref:`GridMap` 的 :ref:`MeshLibrary` 配置有碰撞形状时才能够被检测到。要求将 :ref:`monitoring` 设置为 ``true``\ 。 +Emitted when a :ref:`Shape3D` of the received ``body`` enters a shape of this area. ``body`` can be a :ref:`PhysicsBody3D` or a :ref:`GridMap`. :ref:`GridMap`\ s are detected if their :ref:`MeshLibrary` has collision shapes configured. Requires :ref:`monitoring` to be set to ``true``. -\ ``local_shape_index`` 和 ``body_shape_index`` 分别对应此区域中以及交互物体中正在进行交互的形状的索引。\ ``body_rid`` 包含该物体的 :ref:`RID`\ 。这些值可以在 :ref:`PhysicsServer3D` 中使用。 +\ ``local_shape_index`` and ``body_shape_index`` contain indices of the interacting shapes from this area and the interacting body, respectively. ``body_rid`` contains the :ref:`RID` of the body. These values can be used with the :ref:`PhysicsServer3D`. -\ **根据形状索引获取** :ref:`CollisionShape3D` **节点的示例:**\ +\ **Example:** Get the :ref:`CollisionShape3D` node from the shape index: .. tabs:: diff --git a/classes/zh_CN/class_array.rst b/classes/zh_CN/class_array.rst index a2fe35c0a0..986ac8b179 100644 --- a/classes/zh_CN/class_array.rst +++ b/classes/zh_CN/class_array.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Array.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Array.xml. .. _class_Array: @@ -17,9 +17,7 @@ Array 描述 ---- -An array data structure that can contain a sequence of elements of any :ref:`Variant` type. Elements are accessed by a numerical index starting at 0. Negative indices are used to count from the back (-1 is the last element, -2 is the second to last, etc.). - -\ **Example:**\ +An array data structure that can contain a sequence of elements of any :ref:`Variant` type. Elements are accessed by a numerical index starting at ``0``. Negative indices are used to count from the back (``-1`` is the last element, ``-2`` is the second to last, etc.). .. tabs:: @@ -37,7 +35,7 @@ An array data structure that can contain a sequence of elements of any :ref:`Var .. code-tab:: csharp - var array = new Godot.Collections.Array{"First", 2, 3, "Last"}; + Godot.Collections.Array array = ["First", 2, 3, "Last"]; GD.Print(array[0]); // Prints "First" GD.Print(array[2]); // Prints 3 GD.Print(array[^1]); // Prints "Last" @@ -133,8 +131,12 @@ An array data structure that can contain a sequence of elements of any :ref:`Var +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ what\: :ref:`Variant`, from\: :ref:`int` = 0\ ) |const| | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`find_custom`\ (\ method\: :ref:`Callable`, from\: :ref:`int` = 0\ ) |const| | + +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`front`\ (\ ) |const| | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_typed_builtin`\ (\ ) |const| | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_typed_class_name`\ (\ ) |const| | @@ -185,6 +187,10 @@ An array data structure that can contain a sequence of elements of any :ref:`Var +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rfind`\ (\ what\: :ref:`Variant`, from\: :ref:`int` = -1\ ) |const| | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`rfind_custom`\ (\ method\: :ref:`Callable`, from\: :ref:`int` = -1\ ) |const| | + +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set`\ (\ index\: :ref:`int`, value\: :ref:`Variant`\ ) | + +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`shuffle`\ (\ ) | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`size`\ (\ ) |const| | @@ -408,9 +414,9 @@ An array data structure that can contain a sequence of elements of any :ref:`Var :ref:`bool` **all**\ (\ method\: :ref:`Callable`\ ) |const| :ref:`🔗` -对数组中的每个元素调用给定的 :ref:`Callable`\ ,如果 :ref:`Callable` 为数组中的 *所有* 元素返回 ``true``\ ,则返回 ``true``\ 。如果 :ref:`Callable` 为一个或多个数组元素返回 ``false``\ ,则此方法返回 ``false``\ 。 +Calls the given :ref:`Callable` on each element in the array and returns ``true`` if the :ref:`Callable` returns ``true`` for *all* elements in the array. If the :ref:`Callable` returns ``false`` for one array element or more, this method returns ``false``. -该 ``method`` 应采用一个 :ref:`Variant` 参数(当前数组元素)并返回一个 :ref:`bool`\ 。 +The ``method`` should take one :ref:`Variant` parameter (the current array element) and return a :ref:`bool`. .. tabs:: @@ -421,13 +427,13 @@ An array data structure that can contain a sequence of elements of any :ref:`Var return number > 5 func _ready(): - print([6, 10, 6].all(greater_than_5)) # 输出 true (3/3 元素被评估为真)。 - print([4, 10, 4].all(greater_than_5)) # 输出 false (1/3 元素被评估为真)。 - print([4, 4, 4].all(greater_than_5)) # 输出 false (0/3 元素被评估为真)。 - print([].all(greater_than_5)) # 输出 true (0/0 元素被评估为真)。 + print([6, 10, 6].all(greater_than_5)) # Prints true (3/3 elements evaluate to true). + print([4, 10, 4].all(greater_than_5)) # Prints false (1/3 elements evaluate to true). + print([4, 4, 4].all(greater_than_5)) # Prints false (0/3 elements evaluate to true). + print([].all(greater_than_5)) # Prints true (0/0 elements evaluate to true). - # 与上面的第一行相同,但使用 lambda 函数。 - print([6, 10, 6].all(func(element): return element > 5)) # 输出 true + # Same as the first line above, but using a lambda function. + print([6, 10, 6].all(func(element): return element > 5)) # Prints true .. code-tab:: csharp @@ -438,26 +444,26 @@ An array data structure that can contain a sequence of elements of any :ref:`Var public override void _Ready() { - // 输出 true (3/3 元素被评估为真)。 + // Prints True (3/3 elements evaluate to true). GD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }.All(GreaterThan5)); - // 输出 false (1/3 元素被评估为真)。 + // Prints False (1/3 elements evaluate to true). GD.Print(new Godot.Collections.Array>int< { 4, 10, 4 }.All(GreaterThan5)); - // 输出 false (0/3 元素被评估为真)。 + // Prints False (0/3 elements evaluate to true). GD.Print(new Godot.Collections.Array>int< { 4, 4, 4 }.All(GreaterThan5)); - // 输出 true (0/0 元素被评估为真)。 + // Prints True (0/0 elements evaluate to true). GD.Print(new Godot.Collections.Array>int< { }.All(GreaterThan5)); - // 与上面的第一行相同,但使用 lambda 函数。 - GD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }.All(element => element > 5)); // 输出 true + // Same as the first line above, but using a lambda function. + GD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }.All(element => element > 5)); // Prints True } -另请参见 :ref:`any`\ 、\ :ref:`filter`\ 、\ :ref:`map` 和 :ref:`reduce`\ 。 +See also :ref:`any`, :ref:`filter`, :ref:`map` and :ref:`reduce`. -\ **注意:**\ 与依赖 :ref:`filter` 返回的数组大小不同,此方法会尽可能早地返回以提高性能(尤其是对于大型数组)。 +\ **Note:** Unlike relying on the size of an array returned by :ref:`filter`, this method will return as early as possible to improve performance (especially with large arrays). -\ **注意:**\ 对于空数组,此方法 `总是 `__ 返回 ``true``\ 。 +\ **Note:** For an empty array, this method `always `__ returns ``true``. .. rst-class:: classref-item-separator @@ -639,7 +645,9 @@ An array data structure that can contain a sequence of elements of any :ref:`Var :ref:`int` **count**\ (\ value\: :ref:`Variant`\ ) |const| :ref:`🔗` -返回元素在数组中出现的次数。 +Returns the number of times an element is in the array. + +To count how many elements in an array satisfy a condition, see :ref:`reduce`. .. rst-class:: classref-item-separator @@ -683,9 +691,9 @@ An array data structure that can contain a sequence of elements of any :ref:`Var |void| **fill**\ (\ value\: :ref:`Variant`\ ) :ref:`🔗` -将该数组中的所有元素都设置为给定的 ``value``\ 。 +Assigns the given ``value`` to all elements in the array. -该方法通常与 :ref:`resize` 一起使用,用于创建给定大小的数组并对其元素进行初始化: +This method can often be combined with :ref:`resize` to create an array with a given size and initialized elements: .. tabs:: @@ -695,18 +703,18 @@ An array data structure that can contain a sequence of elements of any :ref:`Var var array = [] array.resize(5) array.fill(2) - print(array) # 输出 [2, 2, 2, 2, 2] + print(array) # Prints [2, 2, 2, 2, 2] .. code-tab:: csharp - var array = new Godot.Collections.Array(); + Godot.Collections.Array array = []; array.Resize(5); array.Fill(2); - GD.Print(array); // 输出 [2, 2, 2, 2, 2] + GD.Print(array); // Prints [2, 2, 2, 2, 2] -\ **注意:**\ 如果 ``value`` 是通过引用传递的 :ref:`Variant`\ (\ :ref:`Object` 派生类、\ **Array**\ 、\ :ref:`Dictionary` 等),则会用同一个 ``value`` 的引用填充该数组,即不会创建副本。 +\ **Note:** If ``value`` is a :ref:`Variant` passed by reference (:ref:`Object`-derived, **Array**, :ref:`Dictionary`, etc.), the array will be filled with references to the same ``value``, which are not duplicates. .. rst-class:: classref-item-separator @@ -751,6 +759,35 @@ An array data structure that can contain a sequence of elements of any :ref:`Var \ **注意:**\ 出于性能方面的考虑,搜索时会使用到 ``what`` 的 :ref:`Variant.Type`\ 。例如该方法不会认为 ``7``\ (\ :ref:`int`\ )和 ``7.0``\ (\ :ref:`float`\ )相等。 +.. rst-class:: classref-item-separator + +---- + +.. _class_Array_method_find_custom: + +.. rst-class:: classref-method + +:ref:`int` **find_custom**\ (\ method\: :ref:`Callable`, from\: :ref:`int` = 0\ ) |const| :ref:`🔗` + +Returns the index of the **first** element in the array that causes ``method`` to return ``true``, or ``-1`` if there are none. The search's start can be specified with ``from``, continuing to the end of the array. + +\ ``method`` is a callable that takes an element of the array, and returns a :ref:`bool`. + +\ **Note:** If you just want to know whether the array contains *anything* that satisfies ``method``, use :ref:`any`. + + +.. tabs:: + + .. code-tab:: gdscript + + func is_even(number): + return number % 2 == 0 + + func _ready(): + print([1, 3, 4, 7].find_custom(is_even.bind())) # Prints 2 + + + .. rst-class:: classref-item-separator ---- @@ -769,6 +806,18 @@ An array data structure that can contain a sequence of elements of any :ref:`Var ---- +.. _class_Array_method_get: + +.. rst-class:: classref-method + +:ref:`Variant` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the element at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_Array_method_get_typed_builtin: .. rst-class:: classref-method @@ -811,37 +860,37 @@ An array data structure that can contain a sequence of elements of any :ref:`Var :ref:`bool` **has**\ (\ value\: :ref:`Variant`\ ) |const| :ref:`🔗` -如果该数组包含给定的 ``value``\ ,则返回 ``true``\ 。 +Returns ``true`` if the array contains the given ``value``. .. tabs:: .. code-tab:: gdscript - print(["inside", 7].has("inside")) # 输出 true - print(["inside", 7].has("outside")) # 输出 false - print(["inside", 7].has(7)) # 输出 true - print(["inside", 7].has("7")) # 输出 false + print(["inside", 7].has("inside")) # Prints true + print(["inside", 7].has("outside")) # Prints false + print(["inside", 7].has(7)) # Prints true + print(["inside", 7].has("7")) # Prints false .. code-tab:: csharp - var arr = new Godot.Collections.Array { "inside", 7 }; - // 按照 C# 惯例,该方法重命名为 `Contains`。 - GD.Print(arr.Contains("inside")); // 输出 true - GD.Print(arr.Contains("outside")); // 输出 false - GD.Print(arr.Contains(7)); // 输出 true - GD.Print(arr.Contains("7")); // 输出 false + Godot.Collections.Array arr = ["inside", 7]; + // By C# convention, this method is renamed to `Contains`. + GD.Print(arr.Contains("inside")); // Prints True + GD.Print(arr.Contains("outside")); // Prints False + GD.Print(arr.Contains(7)); // Prints True + GD.Print(arr.Contains("7")); // Prints False -在 GDScript 中,这相当于 ``in`` 运算符: +In GDScript, this is equivalent to the ``in`` operator: :: if 4 in [2, 4, 6, 8]: - print("4 is here!") # 将被输出。 + print("4 is here!") # Will be printed. -\ **注意:**\ 出于性能原因,搜索会受到 ``value`` 的 :ref:`Variant.Type` 的影响。例如,对于该方法,\ ``7``\ (\ :ref:`int`\ )和 ``7.0``\ (\ :ref:`float`\ )不被视为相等。 +\ **Note:** For performance reasons, the search is affected by the ``value``'s :ref:`Variant.Type`. For example, ``7`` (:ref:`int`) and ``7.0`` (:ref:`float`) are not considered equal for this method. .. rst-class:: classref-item-separator @@ -1007,24 +1056,24 @@ An array data structure that can contain a sequence of elements of any :ref:`Var :ref:`Variant` **pick_random**\ (\ ) |const| :ref:`🔗` -从该数组中返回一个随机元素。如果数组为空,则生成一个错误并返回 ``null``\ 。 +Returns a random element from the array. Generates an error and returns ``null`` if the array is empty. .. tabs:: .. code-tab:: gdscript - # 可能输出 1、2、3.25、或 "Hi"。 + # May print 1, 2, 3.25, or "Hi". print([1, 2, 3.25, "Hi"].pick_random()) .. code-tab:: csharp - var array = new Godot.Collections.Array { 1, 2, 3.25f, "Hi" }; - GD.Print(array.PickRandom()); // 可能输出 1、2、3.25、或 "Hi"。 + Godot.Collections.Array array = [1, 2, 3.25f, "Hi"]; + GD.Print(array.PickRandom()); // May print 1, 2, 3.25, or "Hi". -\ **注意:**\ 与引擎中的许多类似函数(例如 :ref:`@GlobalScope.randi` 或 :ref:`shuffle`\ )一样,该方法使用通用的全局随机种子。要从该方法获得可预测的结果,请参阅 :ref:`@GlobalScope.seed`\ 。 +\ **Note:** Like many similar functions in the engine (such as :ref:`@GlobalScope.randi` or :ref:`shuffle`), this method uses a common, global random seed. To get a predictable outcome from this method, see :ref:`@GlobalScope.seed`. .. rst-class:: classref-item-separator @@ -1102,9 +1151,9 @@ An array data structure that can contain a sequence of elements of any :ref:`Var :ref:`Variant` **reduce**\ (\ method\: :ref:`Callable`, accum\: :ref:`Variant` = null\ ) |const| :ref:`🔗` -为数组中的每个元素调用给定的 :ref:`Callable`\ ,将结果累积在 ``accum`` 中,然后返回它。 +Calls the given :ref:`Callable` for each element in array, accumulates the result in ``accum``, then returns it. -\ ``method`` 接受两个参数:\ ``accum`` 的当前值,以及当前的数组元素。如果 ``accum`` 为 ``null``\ (默认值),则会从第二个元素开始迭代,将第一个元素作为 ``accum`` 的初始值。 +The ``method`` takes two arguments: the current value of ``accum`` and the current array element. If ``accum`` is ``null`` (as by default), the iteration will start from the second element, with the first one used as initial value of ``accum``. :: @@ -1112,26 +1161,39 @@ An array data structure that can contain a sequence of elements of any :ref:`Var return accum + number func _ready(): - print([1, 2, 3].reduce(sum, 0)) # 输出 6 - print([1, 2, 3].reduce(sum, 10)) # 输出 16 + print([1, 2, 3].reduce(sum, 0)) # Prints 6 + print([1, 2, 3].reduce(sum, 10)) # Prints 16 - # 与上面相同,但使用 lambda 函数。 + # Same as above, but using a lambda function. print([1, 2, 3].reduce(func(accum, number): return accum + number, 10)) -如果 :ref:`max` 不理想,也可以使用该方法来实现自定义比较器: +If :ref:`max` is not desirable, this method may also be used to implement a custom comparator: :: func _ready(): - var arr = [Vector2(5, 0), Vector2(3, 4), Vector2(1, 2)] + var arr = [Vector2i(5, 0), Vector2i(3, 4), Vector2i(1, 2)] var longest_vec = arr.reduce(func(max, vec): return vec if is_length_greater(vec, max) else max) - print(longest_vec) # 输出 Vector2(3, 4). + print(longest_vec) # Prints (3, 4) func is_length_greater(a, b): return a.length() > b.length() -另见 :ref:`map`\ 、\ :ref:`filter`\ 、\ :ref:`any`\ 、\ :ref:`all`\ 。 +This method can also be used to count how many elements in an array satisfy a certain condition, similar to :ref:`count`: + +:: + + func is_even(number): + return number % 2 == 0 + + func _ready(): + var arr = [1, 2, 3, 4, 5] + # If the current element is even, increment count, otherwise leave count the same. + var even_count = arr.reduce(func(count, next): return count + 1 if is_even(next) else count, 0) + print(even_count) # Prints 2 + +See also :ref:`map`, :ref:`filter`, :ref:`any`, and :ref:`all`. .. rst-class:: classref-item-separator @@ -1195,6 +1257,30 @@ An array data structure that can contain a sequence of elements of any :ref:`Var ---- +.. _class_Array_method_rfind_custom: + +.. rst-class:: classref-method + +:ref:`int` **rfind_custom**\ (\ method\: :ref:`Callable`, from\: :ref:`int` = -1\ ) |const| :ref:`🔗` + +Returns the index of the **last** element of the array that causes ``method`` to return ``true``, or ``-1`` if there are none. The search's start can be specified with ``from``, continuing to the beginning of the array. This method is the reverse of :ref:`find_custom`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Array_method_set: + +.. rst-class:: classref-method + +|void| **set**\ (\ index\: :ref:`int`, value\: :ref:`Variant`\ ) :ref:`🔗` + +Sets the value of the element at the given ``index`` to the given ``value``. This will not change the size of the array, it only changes the value at an index already in the array. This is the same as using the ``[]`` operator (``array[index] = value``). + +.. rst-class:: classref-item-separator + +---- + .. _class_Array_method_shuffle: .. rst-class:: classref-method @@ -1256,7 +1342,7 @@ An array data structure that can contain a sequence of elements of any :ref:`Var |void| **sort**\ (\ ) :ref:`🔗` -按升序对数组进行排序。最终顺序取决于元素之间的“小于”(\ ``>``\ )比较。 +Sorts the array in ascending order. The final order is dependent on the "less than" (``<``) comparison between elements. .. tabs:: @@ -1265,17 +1351,17 @@ An array data structure that can contain a sequence of elements of any :ref:`Var var numbers = [10, 5, 2.5, 8] numbers.sort() - print(numbers) # 输出 [2.5, 5, 8, 10] + print(numbers) # Prints [2.5, 5, 8, 10] .. code-tab:: csharp - var numbers = new Godot.Collections.Array { 10, 5, 2.5, 8 }; + Godot.Collections.Array numbers = [10, 5, 2.5, 8]; numbers.Sort(); - GD.Print(numbers); // 输出 [2.5, 5, 8, 10] + GD.Print(numbers); // Prints [2.5, 5, 8, 10] -\ **注意:**\ 使用的排序算法并不\ `稳定 `__\ 。这意味着等效元素(例如 ``2`` 和 ``2.0``\ )在调用 :ref:`sort` 时可能会改变其顺序。 +\ **Note:** The sorting algorithm used is not `stable `__. This means that equivalent elements (such as ``2`` and ``2.0``) may have their order changed when calling :ref:`sort`. .. rst-class:: classref-item-separator @@ -1348,7 +1434,7 @@ An array data structure that can contain a sequence of elements of any :ref:`Var :ref:`Array` **operator +**\ (\ right\: :ref:`Array`\ ) :ref:`🔗` -将 ``right`` 数组追加到左操作数,会创建一个新的 **Array**\ 。这也称为数组拼接。 +Appends the ``right`` array to the left operand, creating a new **Array**. This is also known as an array concatenation. .. tabs:: @@ -1357,18 +1443,18 @@ An array data structure that can contain a sequence of elements of any :ref:`Var var array1 = ["One", 2] var array2 = [3, "Four"] - print(array1 + array2) # 输出 ["One", 2, 3, "Four"] + print(array1 + array2) # Prints ["One", 2, 3, "Four"] .. code-tab:: csharp - // 请注意,C# 的原生数组类型无法进行拼接。 - var array1 = new Godot.Collections.Array{"One", 2}; - var array2 = new Godot.Collections.Array{3, "Four"}; - GD.Print(array1 + array2); // 输出 ["One", 2, 3, "Four"] + // Note that concatenation is not possible with C#'s native Array type. + Godot.Collections.Array array1 = ["One", 2]; + Godot.Collections.Array array2 = [3, "Four"]; + GD.Print(array1 + array2); // Prints ["One", 2, 3, "Four"] -\ **注意:**\ 对于已有数组,\ :ref:`append_array` 比使用 ``+=`` 运算符的拼接和赋值效率高得多。 +\ **Note:** For existing arrays, :ref:`append_array` is much more efficient than concatenation and assignment with the ``+=`` operator. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_arraymesh.rst b/classes/zh_CN/class_arraymesh.rst index e46bb13cfd..5dc5a0d3c8 100644 --- a/classes/zh_CN/class_arraymesh.rst +++ b/classes/zh_CN/class_arraymesh.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ArrayMesh.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ArrayMesh.xml. .. _class_ArrayMesh: @@ -19,9 +19,9 @@ ArrayMesh 描述 ---- -**ArrayMesh** 是用来构造 :ref:`Mesh` 的,其属性指定为数组。 +The **ArrayMesh** is used to construct a :ref:`Mesh` by specifying the attributes as arrays. -最基本的例子是创建单个三角形: +The most basic example is the creation of a single triangle: .. tabs:: @@ -33,44 +33,44 @@ ArrayMesh vertices.push_back(Vector3(1, 0, 0)) vertices.push_back(Vector3(0, 0, 1)) - # 初始化 ArrayMesh。 + # Initialize the ArrayMesh. var arr_mesh = ArrayMesh.new() var arrays = [] arrays.resize(Mesh.ARRAY_MAX) arrays[Mesh.ARRAY_VERTEX] = vertices - # 创建 Mesh。 + # Create the Mesh. arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays) var m = MeshInstance3D.new() m.mesh = arr_mesh .. code-tab:: csharp - var vertices = new Vector3[] - { + Vector3[] vertices = + [ new Vector3(0, 1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, 1), - }; + ]; - // 初始化 ArrayMesh。 + // Initialize the ArrayMesh. var arrMesh = new ArrayMesh(); - var arrays = new Godot.Collections.Array(); + Godot.Collections.Array arrays = []; arrays.Resize((int)Mesh.ArrayType.Max); arrays[(int)Mesh.ArrayType.Vertex] = vertices; - // 创建 Mesh。 + // Create the Mesh. arrMesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, arrays); var m = new MeshInstance3D(); m.Mesh = arrMesh; -这个 :ref:`MeshInstance3D` 就可以添加到要显示的 :ref:`SceneTree` 中了。 +The :ref:`MeshInstance3D` is ready to be added to the :ref:`SceneTree` to be shown. -程序几何体生成请参阅 :ref:`ImmediateMesh`\ 、\ :ref:`MeshDataTool`\ 、\ :ref:`SurfaceTool`\ 。 +See also :ref:`ImmediateMesh`, :ref:`MeshDataTool` and :ref:`SurfaceTool` for procedural geometry generation. -\ **注意:**\ Godot 对三角形图元模式的正面使用顺时针\ `环绕顺序 `__\ 。 +\ **Note:** Godot uses clockwise `winding order `__ for front faces of triangle primitive modes. .. rst-class:: classref-introduction-group @@ -134,6 +134,8 @@ ArrayMesh +---------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PrimitiveType` | :ref:`surface_get_primitive_type`\ (\ surf_idx\: :ref:`int`\ ) |const| | +---------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`surface_remove`\ (\ surf_idx\: :ref:`int`\ ) | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`surface_set_name`\ (\ surf_idx\: :ref:`int`, name\: :ref:`String`\ ) | +---------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`surface_update_attribute_region`\ (\ surf_idx\: :ref:`int`, offset\: :ref:`int`, data\: :ref:`PackedByteArray`\ ) | @@ -228,19 +230,19 @@ ArrayMesh |void| **add_surface_from_arrays**\ (\ primitive\: :ref:`PrimitiveType`, arrays\: :ref:`Array`, blend_shapes\: :ref:`Array`\[:ref:`Array`\] = [], lods\: :ref:`Dictionary` = {}, flags\: |bitfield|\[:ref:`ArrayFormat`\] = 0\ ) :ref:`🔗` -创建一个新的表面。\ :ref:`Mesh.get_surface_count` 将成为这个新表面的 ``surf_idx``\ 。 +Creates a new surface. :ref:`Mesh.get_surface_count` will become the ``surf_idx`` for this new surface. -创建表面以使用 ``primitive`` 进行渲染,它可以是 :ref:`PrimitiveType` 中定义的任何值。 +Surfaces are created to be rendered using a ``primitive``, which may be any of the values defined in :ref:`PrimitiveType`. -\ ``arrays`` 参数是数组的数组。每个 :ref:`Mesh.ARRAY_MAX` 元素都包含一个数组,其中包含此表面的一些网格数据,如 :ref:`ArrayType` 的相应成员所描述的一样;如果它未被使用,则为 ``null``\ 。例如,\ ``arrays[0]`` 是顶点数组。始终需要第一个顶点子数组;其他的是可选的。添加索引数组会将此表面置于“索引模式”,其中顶点和其他数组成为数据源,索引数组定义顶点顺序。所有子数组的长度必须与顶点数组的长度相同(或者是顶点数组长度的精确倍数,当子数组的多个元素对应于单个顶点时);或者为空,如果使用了 :ref:`Mesh.ARRAY_INDEX` 则除外。 +The ``arrays`` argument is an array of arrays. Each of the :ref:`Mesh.ARRAY_MAX` elements contains an array with some of the mesh data for this surface as described by the corresponding member of :ref:`ArrayType` or ``null`` if it is not used by the surface. For example, ``arrays[0]`` is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this surface into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array (or be an exact multiple of the vertex array's length, when multiple elements of a sub-array correspond to a single vertex) or be empty, except for :ref:`Mesh.ARRAY_INDEX` if it is used. -\ ``blend_shapes`` 参数是每个混合形状的顶点数据数组。 每个元素都是与 ``arrays`` 具有相同结构的数组,但是 :ref:`Mesh.ARRAY_VERTEX`\ 、\ :ref:`Mesh.ARRAY_NORMAL` 和 :ref:`Mesh.ARRAY_TANGENT` 这些条目,当且仅当在 ``arrays`` 被设置且所有其他条目都是 ``null`` 时,会被设置。 +The ``blend_shapes`` argument is an array of vertex data for each blend shape. Each element is an array of the same structure as ``arrays``, but :ref:`Mesh.ARRAY_VERTEX`, :ref:`Mesh.ARRAY_NORMAL`, and :ref:`Mesh.ARRAY_TANGENT` are set if and only if they are set in ``arrays`` and all other entries are ``null``. -\ ``lods`` 参数是一个带有 :ref:`float` 键和 :ref:`PackedInt32Array` 值的字典。字典中的每个条目代表了表面的一个 LOD 级别,其中值是用于 LOD 级别的 :ref:`Mesh.ARRAY_INDEX` 数组,键大致与使用 LOD 统计信息的距离成正比。即,增加 LOD 的关键点也会增加在使用 LOD 之前对象必须与相机的距离。 +The ``lods`` argument is a dictionary with :ref:`float` keys and :ref:`PackedInt32Array` values. Each entry in the dictionary represents an LOD level of the surface, where the value is the :ref:`Mesh.ARRAY_INDEX` array to use for the LOD level and the key is roughly proportional to the distance at which the LOD stats being used. I.e., increasing the key of an LOD also increases the distance that the objects has to be from the camera before the LOD is used. -\ ``flags`` 参数是根据需要按位或的:\ :ref:`ArrayCustomFormat` 的一个值左移 ``ARRAY_FORMAT_CUSTOMn_SHIFT``\ ,用于每个正在使用的自定义通道,\ :ref:`Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE`\ 、\ :ref:`Mesh.ARRAY_FLAG_USE_8_BONE_WEIGHTS` 或 :ref:`Mesh.ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY`\ 。 +The ``flags`` argument is the bitwise OR of, as required: One value of :ref:`ArrayCustomFormat` left shifted by ``ARRAY_FORMAT_CUSTOMn_SHIFT`` for each custom channel in use, :ref:`Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE`, :ref:`Mesh.ARRAY_FLAG_USE_8_BONE_WEIGHTS`, or :ref:`Mesh.ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY`. -\ **注意:**\ 使用索引时,建议只使用点、线或三角形。 +\ **Note:** When using indices, it is recommended to only use points, lines, or triangles. .. rst-class:: classref-item-separator @@ -402,6 +404,18 @@ ArrayMesh ---- +.. _class_ArrayMesh_method_surface_remove: + +.. rst-class:: classref-method + +|void| **surface_remove**\ (\ surf_idx\: :ref:`int`\ ) :ref:`🔗` + +Removes the surface at the given index from the Mesh, shifting surfaces with higher index down by one. + +.. rst-class:: classref-item-separator + +---- + .. _class_ArrayMesh_method_surface_set_name: .. rst-class:: classref-method diff --git a/classes/zh_CN/class_arrayoccluder3d.rst b/classes/zh_CN/class_arrayoccluder3d.rst index bba3e5a7a9..0ac6b284c8 100644 --- a/classes/zh_CN/class_arrayoccluder3d.rst +++ b/classes/zh_CN/class_arrayoccluder3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ArrayOccluder3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ArrayOccluder3D.xml. .. _class_ArrayOccluder3D: diff --git a/classes/zh_CN/class_aspectratiocontainer.rst b/classes/zh_CN/class_aspectratiocontainer.rst index 605e374170..743c71f37d 100644 --- a/classes/zh_CN/class_aspectratiocontainer.rst +++ b/classes/zh_CN/class_aspectratiocontainer.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AspectRatioContainer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AspectRatioContainer.xml. .. _class_AspectRatioContainer: diff --git a/classes/zh_CN/class_astar2d.rst b/classes/zh_CN/class_astar2d.rst index a7afb1782e..9c674b7fac 100644 --- a/classes/zh_CN/class_astar2d.rst +++ b/classes/zh_CN/class_astar2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AStar2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AStar2D.xml. .. _class_AStar2D: @@ -34,7 +34,7 @@ A\* 算法的一种实现,用于在 2D 空间中的连通图上找到两个顶 +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_compute_cost`\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| | + | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_point`\ (\ id\: :ref:`int`, position\: :ref:`Vector2`, weight_scale\: :ref:`float` = 1.0\ ) | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -110,7 +110,7 @@ A\* 算法的一种实现,用于在 2D 空间中的连通图上找到两个顶 .. rst-class:: classref-method -:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` +:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` 估算某个点和路径终点之间的成本时调用。 @@ -285,9 +285,11 @@ A\* 算法的一种实现,用于在 2D 空间中的连通图上找到两个顶 :ref:`PackedInt64Array` **get_id_path**\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`, allow_partial_path\: :ref:`bool` = false\ ) :ref:`🔗` -返回一个数组,其中包含构成由 AStar2D 在给定点之间找到的路径的点的 ID。数组从路径的起点到终点进行排序。 +Returns an array with the IDs of the points that form the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path. -如果没有能够到达目标的有效路径,并且 ``allow_partial_path`` 为\ ``true``\ ,则返回能够到达的最接近目标点的路径。 +If there is no valid path to the target, and ``allow_partial_path`` is ``true``, returns a path to the point closest to the target that can be reached. + +\ **Note:** When ``allow_partial_path`` is ``true`` and ``to_id`` is disabled the search may take an unusually long time to finish. .. tabs:: @@ -296,7 +298,7 @@ A\* 算法的一种实现,用于在 2D 空间中的连通图上找到两个顶 var astar = AStar2D.new() astar.add_point(1, Vector2(0, 0)) - astar.add_point(2, Vector2(0, 1), 1) # 默认权重为 1 + astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1 astar.add_point(3, Vector2(1, 1)) astar.add_point(4, Vector2(2, 0)) @@ -305,13 +307,13 @@ A\* 算法的一种实现,用于在 2D 空间中的连通图上找到两个顶 astar.connect_points(4, 3, false) astar.connect_points(1, 4, false) - var res = astar.get_id_path(1, 3) # 返回 [1, 2, 3] + var res = astar.get_id_path(1, 3) # Returns [1, 2, 3] .. code-tab:: csharp var astar = new AStar2D(); astar.AddPoint(1, new Vector2(0, 0)); - astar.AddPoint(2, new Vector2(0, 1), 1); // 默认权重为 1 + astar.AddPoint(2, new Vector2(0, 1), 1); // Default weight is 1 astar.AddPoint(3, new Vector2(1, 1)); astar.AddPoint(4, new Vector2(2, 0)); @@ -319,11 +321,11 @@ A\* 算法的一种实现,用于在 2D 空间中的连通图上找到两个顶 astar.ConnectPoints(2, 3, false); astar.ConnectPoints(4, 3, false); astar.ConnectPoints(1, 4, false); - long[] res = astar.GetIdPath(1, 3); // 返回 [1, 2, 3] + long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3] -如果将第2个点的权重更改为 3,则结果将改为 ``[1, 4, 3]``\ ,因为现在即使距离更长,通过第 4 点也比通过第 2 点“更容易”。 +If you change the 2nd point's weight to 3, then the result will be ``[1, 4, 3]`` instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2. .. rst-class:: classref-item-separator @@ -414,11 +416,13 @@ A\* 算法的一种实现,用于在 2D 空间中的连通图上找到两个顶 :ref:`PackedVector2Array` **get_point_path**\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`, allow_partial_path\: :ref:`bool` = false\ ) :ref:`🔗` -返回一个数组,其中包含 AStar2D 在给定点之间找到的路径中的点。数组从路径的起点到终点进行排序。 +Returns an array with the points that are in the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path. -如果没有通往目标的有效路径并且 ``allow_partial_path`` 为 ``true``\ ,则会返回通往距离目标最近的可达点的路径。 +If there is no valid path to the target, and ``allow_partial_path`` is ``true``, returns a path to the point closest to the target that can be reached. -\ **注意:**\ 该方法不是线程安全的。如果从 :ref:`Thread` 调用,它将返回一个空的 :ref:`PackedVector2Array` 并打印一条错误消息。 +\ **Note:** This method is not thread-safe. If called from a :ref:`Thread`, it will return an empty array and will print an error message. + +Additionally, when ``allow_partial_path`` is ``true`` and ``to_id`` is disabled the search may take an unusually long time to finish. .. rst-class:: classref-item-separator @@ -490,7 +494,7 @@ A\* 算法的一种实现,用于在 2D 空间中的连通图上找到两个顶 |void| **reserve_space**\ (\ num_nodes\: :ref:`int`\ ) :ref:`🔗` -在内部为 ``num_nodes`` 个点保留空间,如果你想要一次性添加大量的点且数量已知,例如网格,那么就会很有用。新容量必须大于或等于旧容量。 +Reserves space internally for ``num_nodes`` points. Useful if you're adding a known large number of points at once, such as points on a grid. The new capacity must be greater or equal to the old capacity. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_astar3d.rst b/classes/zh_CN/class_astar3d.rst index b5b2e18e76..655da29258 100644 --- a/classes/zh_CN/class_astar3d.rst +++ b/classes/zh_CN/class_astar3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AStar3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AStar3D.xml. .. _class_AStar3D: @@ -19,46 +19,60 @@ A\* 的一种实现,用于寻找 3D 空间中连接图中的两个顶点之间 描述 ---- -A\*(A 星)是一种计算机算法,用于寻路和图遍历,即穿过一组给定的边(线段),在顶点(点)之间绘制短路径的过程。由于其性能和准确性,它被广泛使用。Godot 的 A\* 实现默认使用 3D 空间中的点和欧几里德距离。 +A\* (A star) is a computer algorithm used in pathfinding and graph traversal, the process of plotting short paths among vertices (points), passing through a given set of edges (segments). It enjoys widespread use due to its performance and accuracy. Godot's A\* implementation uses points in 3D space and Euclidean distances by default. -你需要使用 :ref:`add_point` 手动添加点,并使用 :ref:`connect_points` 手动创建线段。完成后,可以使用 :ref:`are_points_connected` 函数,测试两点之间是否存在路径,通过 :ref:`get_id_path` 获取包含索引的路径,或使用 :ref:`get_point_path` 获取包含实际坐标的路径。 +You must add points manually with :ref:`add_point` and create segments manually with :ref:`connect_points`. Once done, you can test if there is a path between two points with the :ref:`are_points_connected` function, get a path containing indices by :ref:`get_id_path`, or one containing actual coordinates with :ref:`get_point_path`. -也可以使用非欧几里德距离。为此,创建一个扩展 **AStar3D** 的类,并覆盖方法 :ref:`_compute_cost` 和 :ref:`_estimate_cost`\ 。两者都接受两个索引并返回一个长度,如以下示例所示。 +It is also possible to use non-Euclidean distances. To do so, create a script that extends **AStar3D** and override the methods :ref:`_compute_cost` and :ref:`_estimate_cost`. Both should take two point IDs and return the distance between the corresponding points. + +\ **Example:** Use Manhattan distance instead of Euclidean distance: .. tabs:: .. code-tab:: gdscript - class MyAStar: - extends AStar3D + class_name MyAStar3D + extends AStar3D - func _compute_cost(u, v): - return abs(u - v) + func _compute_cost(u, v): + var u_pos = get_point_position(u) + var v_pos = get_point_position(v) + return abs(u_pos.x - v_pos.x) + abs(u_pos.y - v_pos.y) + abs(u_pos.z - v_pos.z) - func _estimate_cost(u, v): - return min(0, abs(u - v) - 1) + func _estimate_cost(u, v): + var u_pos = get_point_position(u) + var v_pos = get_point_position(v) + return abs(u_pos.x - v_pos.x) + abs(u_pos.y - v_pos.y) + abs(u_pos.z - v_pos.z) .. code-tab:: csharp - public partial class MyAStar : AStar3D + using Godot; + + [GlobalClass] + public partial class MyAStar3D : AStar3D { public override float _ComputeCost(long fromId, long toId) { - return Mathf.Abs((int)(fromId - toId)); + Vector3 fromPoint = GetPointPosition(fromId); + Vector3 toPoint = GetPointPosition(toId); + + return Mathf.Abs(fromPoint.X - toPoint.X) + Mathf.Abs(fromPoint.Y - toPoint.Y) + Mathf.Abs(fromPoint.Z - toPoint.Z); } public override float _EstimateCost(long fromId, long toId) { - return Mathf.Min(0, Mathf.Abs((int)(fromId - toId)) - 1); + Vector3 fromPoint = GetPointPosition(fromId); + Vector3 toPoint = GetPointPosition(toId); + return Mathf.Abs(fromPoint.X - toPoint.X) + Mathf.Abs(fromPoint.Y - toPoint.Y) + Mathf.Abs(fromPoint.Z - toPoint.Z); } } -\ :ref:`_estimate_cost` 应该返回距离的下限,即 ``_estimate_cost(u, v) <= _compute_cost(u, v)``\ 。这可以作为算法的提示,因为自定义 :ref:`_compute_cost` 可能计算量很大。如果不是这种情况,请使 :ref:`_estimate_cost` 返回与 :ref:`_compute_cost` 相同的值,以便为算法提供最准确的信息。 +\ :ref:`_estimate_cost` should return a lower bound of the distance, i.e. ``_estimate_cost(u, v) <= _compute_cost(u, v)``. This serves as a hint to the algorithm because the custom :ref:`_compute_cost` might be computation-heavy. If this is not the case, make :ref:`_estimate_cost` return the same value as :ref:`_compute_cost` to provide the algorithm with the most accurate information. -如果使用默认的 :ref:`_estimate_cost` 和 :ref:`_compute_cost` 方法,或者如果提供的 :ref:`_estimate_cost` 方法返回成本的下限,则 A\* 返回的路径将是成本最低的路径。这里,路径的代价等于路径中所有段的 :ref:`_compute_cost` 结果乘以各个段端点的权重 ``weight_scale`` 之和。如果使用默认方法,并且所有点的 ``weight_scale`` 设置为 ``1.0``\ ,则这等于路径中所有段的欧几里德距离之和。 +If the default :ref:`_estimate_cost` and :ref:`_compute_cost` methods are used, or if the supplied :ref:`_estimate_cost` method returns a lower bound of the cost, then the paths returned by A\* will be the lowest-cost paths. Here, the cost of a path equals the sum of the :ref:`_compute_cost` results of all segments in the path multiplied by the ``weight_scale``\ s of the endpoints of the respective segments. If the default methods are used and the ``weight_scale``\ s of all points are set to ``1.0``, then this equals the sum of Euclidean distances of all segments in the path. .. rst-class:: classref-reftable-group @@ -71,7 +85,7 @@ A\*(A 星)是一种计算机算法,用于寻路和图遍历,即穿过一 +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_compute_cost`\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| | + | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_point`\ (\ id\: :ref:`int`, position\: :ref:`Vector3`, weight_scale\: :ref:`float` = 1.0\ ) | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -147,7 +161,7 @@ A\*(A 星)是一种计算机算法,用于寻路和图遍历,即穿过一 .. rst-class:: classref-method -:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` +:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` 估算某个点和路径终点之间的成本时调用。 @@ -322,9 +336,11 @@ A\*(A 星)是一种计算机算法,用于寻路和图遍历,即穿过一 :ref:`PackedInt64Array` **get_id_path**\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`, allow_partial_path\: :ref:`bool` = false\ ) :ref:`🔗` -返回一个数组,其中包含构成 AStar3D 在给定点之间找到的路径中的点的 ID。数组从路径的起点到终点排序。 +Returns an array with the IDs of the points that form the path found by AStar3D between the given points. The array is ordered from the starting point to the ending point of the path. -如果没有能够到达目标的有效路径,并且 ``allow_partial_path`` 为\ ``true``\ ,则返回能够到达的最接近目标点的路径。 +If there is no valid path to the target, and ``allow_partial_path`` is ``true``, returns a path to the point closest to the target that can be reached. + +\ **Note:** When ``allow_partial_path`` is ``true`` and ``to_id`` is disabled the search may take an unusually long time to finish. .. tabs:: @@ -333,7 +349,7 @@ A\*(A 星)是一种计算机算法,用于寻路和图遍历,即穿过一 var astar = AStar3D.new() astar.add_point(1, Vector3(0, 0, 0)) - astar.add_point(2, Vector3(0, 1, 0), 1) # 默认权重为 1 + astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1 astar.add_point(3, Vector3(1, 1, 0)) astar.add_point(4, Vector3(2, 0, 0)) @@ -342,24 +358,24 @@ A\*(A 星)是一种计算机算法,用于寻路和图遍历,即穿过一 astar.connect_points(4, 3, false) astar.connect_points(1, 4, false) - var res = astar.get_id_path(1, 3) # 返回 [1, 2, 3] + var res = astar.get_id_path(1, 3) # Returns [1, 2, 3] .. code-tab:: csharp var astar = new AStar3D(); astar.AddPoint(1, new Vector3(0, 0, 0)); - astar.AddPoint(2, new Vector3(0, 1, 0), 1); // 默认权重为 1 + astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Default weight is 1 astar.AddPoint(3, new Vector3(1, 1, 0)); astar.AddPoint(4, new Vector3(2, 0, 0)); astar.ConnectPoints(1, 2, false); astar.ConnectPoints(2, 3, false); astar.ConnectPoints(4, 3, false); astar.ConnectPoints(1, 4, false); - long[] res = astar.GetIdPath(1, 3); // 返回 [1, 2, 3] + long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3] -如果将第2个点的权重更改为 3,则结果将改为 ``[1, 4, 3]``\ ,因为现在即使距离更长,但通过第 4 点也比通过第 2 点“更容易”。 +If you change the 2nd point's weight to 3, then the result will be ``[1, 4, 3]`` instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2. .. rst-class:: classref-item-separator @@ -449,11 +465,13 @@ A\*(A 星)是一种计算机算法,用于寻路和图遍历,即穿过一 :ref:`PackedVector3Array` **get_point_path**\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`, allow_partial_path\: :ref:`bool` = false\ ) :ref:`🔗` -返回一个数组,其中包含 AStar3D 在给定点之间找到的路径中的点。数组从路径的起点到终点进行排序。 +Returns an array with the points that are in the path found by AStar3D between the given points. The array is ordered from the starting point to the ending point of the path. -如果没有通往目标的有效路径并且 ``allow_partial_path`` 为 ``true``\ ,则会返回通往距离目标最近的可达点的路径。 +If there is no valid path to the target, and ``allow_partial_path`` is ``true``, returns a path to the point closest to the target that can be reached. -\ **注意:**\ 这种方法不是线程安全的。如果从 :ref:`Thread` 调用,它将返回一个空的 :ref:`PackedVector3Array`\ ,并打印一条错误消息。 +\ **Note:** This method is not thread-safe. If called from a :ref:`Thread`, it will return an empty array and will print an error message. + +Additionally, when ``allow_partial_path`` is ``true`` and ``to_id`` is disabled the search may take an unusually long time to finish. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_astargrid2d.rst b/classes/zh_CN/class_astargrid2d.rst index c2dff20778..3636e4f248 100644 --- a/classes/zh_CN/class_astargrid2d.rst +++ b/classes/zh_CN/class_astargrid2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AStarGrid2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AStarGrid2D.xml. .. _class_AStarGrid2D: @@ -19,9 +19,9 @@ A\* 的一种实现,用于寻找疏松 2D 网格中两点之间的最短路径 描述 ---- -**AStarGrid2D** 是 :ref:`AStar2D` 的变种,针对疏松 2D 网格进行了优化。因为不需要手动创建点并进行连接,所以用起来更加简单。这个类还支持使用不同的启发方法、斜向移动模式、跳跃模式,从而加速运算。 +**AStarGrid2D** is a variant of :ref:`AStar2D` that is specialized for partial 2D grids. It is simpler to use because it doesn't require you to manually create points and connect them together. This class also supports multiple types of heuristics, modes for diagonal movement, and a jumping mode to speed up calculations. -要使用 **AStarGrid2D**\ ,你只需要设置网格的 :ref:`region`\ ,\ :ref:`cell_size` 可以不设置,最后调用 :ref:`update` 方法即可: +To use **AStarGrid2D**, you only need to set the :ref:`region` of the grid, optionally set the :ref:`cell_size`, and then call the :ref:`update` method: .. tabs:: @@ -32,8 +32,8 @@ A\* 的一种实现,用于寻找疏松 2D 网格中两点之间的最短路径 astar_grid.region = Rect2i(0, 0, 32, 32) astar_grid.cell_size = Vector2(16, 16) astar_grid.update() - print(astar_grid.get_id_path(Vector2i(0, 0), Vector2i(3, 4))) # 输出 (0, 0), (1, 1), (2, 2), (3, 3), (3, 4) - print(astar_grid.get_point_path(Vector2i(0, 0), Vector2i(3, 4))) # 输出 (0, 0), (16, 16), (32, 32), (48, 48), (48, 64) + print(astar_grid.get_id_path(Vector2i(0, 0), Vector2i(3, 4))) # Prints [(0, 0), (1, 1), (2, 2), (3, 3), (3, 4)] + print(astar_grid.get_point_path(Vector2i(0, 0), Vector2i(3, 4))) # Prints [(0, 0), (16, 16), (32, 32), (48, 48), (48, 64)] .. code-tab:: csharp @@ -41,12 +41,12 @@ A\* 的一种实现,用于寻找疏松 2D 网格中两点之间的最短路径 astarGrid.Region = new Rect2I(0, 0, 32, 32); astarGrid.CellSize = new Vector2I(16, 16); astarGrid.Update(); - GD.Print(astarGrid.GetIdPath(Vector2I.Zero, new Vector2I(3, 4))); // 输出 (0, 0), (1, 1), (2, 2), (3, 3), (3, 4) - GD.Print(astarGrid.GetPointPath(Vector2I.Zero, new Vector2I(3, 4))); // 输出 (0, 0), (16, 16), (32, 32), (48, 48), (48, 64) + GD.Print(astarGrid.GetIdPath(Vector2I.Zero, new Vector2I(3, 4))); // Prints [(0, 0), (1, 1), (2, 2), (3, 3), (3, 4)] + GD.Print(astarGrid.GetPointPath(Vector2I.Zero, new Vector2I(3, 4))); // Prints [(0, 0), (16, 16), (32, 32), (48, 48), (48, 64)] -要从寻路网格中移除某个点,必须使用 :ref:`set_point_solid` 将其设置为“实心”。 +To remove a point from the pathfinding grid, it must be set as "solid" with :ref:`set_point_solid`. .. rst-class:: classref-reftable-group @@ -84,39 +84,41 @@ A\* 的一种实现,用于寻找疏松 2D 网格中两点之间的最短路径 .. table:: :widths: auto - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_compute_cost`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`\ ) |virtual| |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`\ ) |virtual| |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`clear`\ (\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`fill_solid_region`\ (\ region\: :ref:`Rect2i`, solid\: :ref:`bool` = true\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`fill_weight_scale_region`\ (\ region\: :ref:`Rect2i`, weight_scale\: :ref:`float`\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Array`\[:ref:`Vector2i`\] | :ref:`get_id_path`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedVector2Array` | :ref:`get_point_path`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2` | :ref:`get_point_position`\ (\ id\: :ref:`Vector2i`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`get_point_weight_scale`\ (\ id\: :ref:`Vector2i`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_dirty`\ (\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_in_bounds`\ (\ x\: :ref:`int`, y\: :ref:`int`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_in_boundsv`\ (\ id\: :ref:`Vector2i`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_point_solid`\ (\ id\: :ref:`Vector2i`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_point_solid`\ (\ id\: :ref:`Vector2i`, solid\: :ref:`bool` = true\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_point_weight_scale`\ (\ id\: :ref:`Vector2i`, weight_scale\: :ref:`float`\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`update`\ (\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`_compute_cost`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`\ ) |virtual| |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`Vector2i`, end_id\: :ref:`Vector2i`\ ) |virtual| |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear`\ (\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`fill_solid_region`\ (\ region\: :ref:`Rect2i`, solid\: :ref:`bool` = true\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`fill_weight_scale_region`\ (\ region\: :ref:`Rect2i`, weight_scale\: :ref:`float`\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array`\[:ref:`Vector2i`\] | :ref:`get_id_path`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`get_point_data_in_region`\ (\ region\: :ref:`Rect2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedVector2Array` | :ref:`get_point_path`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2` | :ref:`get_point_position`\ (\ id\: :ref:`Vector2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_point_weight_scale`\ (\ id\: :ref:`Vector2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_dirty`\ (\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_in_bounds`\ (\ x\: :ref:`int`, y\: :ref:`int`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_in_boundsv`\ (\ id\: :ref:`Vector2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_point_solid`\ (\ id\: :ref:`Vector2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_point_solid`\ (\ id\: :ref:`Vector2i`, solid\: :ref:`bool` = true\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_point_weight_scale`\ (\ id\: :ref:`Vector2i`, weight_scale\: :ref:`float`\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`update`\ (\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -483,7 +485,7 @@ enum **CellShape**: :ref:`🔗` .. rst-class:: classref-method -:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`\ ) |virtual| |const| :ref:`🔗` +:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`Vector2i`, end_id\: :ref:`Vector2i`\ ) |virtual| |const| :ref:`🔗` 估算某个点和路径终点之间的成本时调用。 @@ -539,9 +541,23 @@ enum **CellShape**: :ref:`🔗` :ref:`Array`\[:ref:`Vector2i`\] **get_id_path**\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) :ref:`🔗` -返回一个数组,其中包含 AStar2D 在给定点之间找到的路径中的点。数组从路径的起点到终点进行排序。 +Returns an array with the IDs of the points that form the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path. -如果没有通往目标的有效路径并且 ``allow_partial_path`` 为 ``true``\ ,则会返回通往距离目标最近的可达点的路径。 +If there is no valid path to the target, and ``allow_partial_path`` is ``true``, returns a path to the point closest to the target that can be reached. + +\ **Note:** When ``allow_partial_path`` is ``true`` and ``to_id`` is solid the search may take an unusually long time to finish. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AStarGrid2D_method_get_point_data_in_region: + +.. rst-class:: classref-method + +:ref:`Array`\[:ref:`Dictionary`\] **get_point_data_in_region**\ (\ region\: :ref:`Rect2i`\ ) |const| :ref:`🔗` + +Returns an array of dictionaries with point data (``id``: :ref:`Vector2i`, ``position``: :ref:`Vector2`, ``solid``: :ref:`bool`, ``weight_scale``: :ref:`float`) within a ``region``. .. rst-class:: classref-item-separator @@ -553,11 +569,13 @@ enum **CellShape**: :ref:`🔗` :ref:`PackedVector2Array` **get_point_path**\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) :ref:`🔗` -返回一个数组,其中包含 **AStarGrid2D** 在给定点之间找到的路径上的点。数组从路径的起点到终点排序。 +Returns an array with the points that are in the path found by **AStarGrid2D** between the given points. The array is ordered from the starting point to the ending point of the path. -如果没有通往目标的有效路径并且 ``allow_partial_path`` 为 ``true``\ ,则会返回通往距离目标最近的可达点的路径。 +If there is no valid path to the target, and ``allow_partial_path`` is ``true``, returns a path to the point closest to the target that can be reached. -\ **注意:**\ 该方法不是线程安全的。如果从 :ref:`Thread` 中调用它,它将返回一个空的 :ref:`PackedVector3Array` 并打印一条错误消息。 +\ **Note:** This method is not thread-safe. If called from a :ref:`Thread`, it will return an empty array and will print an error message. + +Additionally, when ``allow_partial_path`` is ``true`` and ``to_id`` is solid the search may take an unusually long time to finish. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_atlastexture.rst b/classes/zh_CN/class_atlastexture.rst index 2a1856a07b..d225251d65 100644 --- a/classes/zh_CN/class_atlastexture.rst +++ b/classes/zh_CN/class_atlastexture.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AtlasTexture.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AtlasTexture.xml. .. _class_AtlasTexture: @@ -19,11 +19,11 @@ AtlasTexture 描述 ---- -:ref:`Texture2D` 资源,只绘制其 :ref:`atlas` 纹理中的由 :ref:`region` 所定义的那部分。还可以设置一个额外的 :ref:`margin`\ ,这对于小的调整很有用。 +:ref:`Texture2D` resource that draws only part of its :ref:`atlas` texture, as defined by the :ref:`region`. An additional :ref:`margin` can also be set, which is useful for small adjustments. -可以从同一个\ :ref:`atlas`\ 中裁剪出多个 **AtlasTexture** 资源。将许多较小的纹理打包成一个单一的大纹理有助于优化视频内存成本和渲染调用。 +Multiple **AtlasTexture** resources can be cropped from the same :ref:`atlas`. Packing many smaller textures into a singular large texture helps to optimize video memory costs and render calls. -\ **注意:**\ **AtlasTexture** 不能在 :ref:`AnimatedTexture` 中使用,并且当在其他 **AtlasTexture** 资源内时,可能无法在 :ref:`TextureRect` 等节点中正确平铺。 +\ **Note:** **AtlasTexture** cannot be used in an :ref:`AnimatedTexture`, and will not tile properly in nodes such as :ref:`TextureRect` or :ref:`Sprite2D`. To tile an **AtlasTexture**, modify its :ref:`region` instead. .. rst-class:: classref-reftable-group diff --git a/classes/zh_CN/class_audiobuslayout.rst b/classes/zh_CN/class_audiobuslayout.rst index 9ff74bb34b..2741be10dd 100644 --- a/classes/zh_CN/class_audiobuslayout.rst +++ b/classes/zh_CN/class_audiobuslayout.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioBusLayout.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioBusLayout.xml. .. _class_AudioBusLayout: diff --git a/classes/zh_CN/class_audioeffect.rst b/classes/zh_CN/class_audioeffect.rst index b777ae0142..2cb1433245 100644 --- a/classes/zh_CN/class_audioeffect.rst +++ b/classes/zh_CN/class_audioeffect.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffect.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffect.xml. .. _class_AudioEffect: diff --git a/classes/zh_CN/class_audioeffectamplify.rst b/classes/zh_CN/class_audioeffectamplify.rst index 78cc63b914..8a834ee222 100644 --- a/classes/zh_CN/class_audioeffectamplify.rst +++ b/classes/zh_CN/class_audioeffectamplify.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectAmplify.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectAmplify.xml. .. _class_AudioEffectAmplify: @@ -36,9 +36,11 @@ AudioEffectAmplify .. table:: :widths: auto - +---------------------------+---------------------------------------------------------------+---------+ - | :ref:`float` | :ref:`volume_db` | ``0.0`` | - +---------------------------+---------------------------------------------------------------+---------+ + +---------------------------+-----------------------------------------------------------------------+---------+ + | :ref:`float` | :ref:`volume_db` | ``0.0`` | + +---------------------------+-----------------------------------------------------------------------+---------+ + | :ref:`float` | :ref:`volume_linear` | | + +---------------------------+-----------------------------------------------------------------------+---------+ .. rst-class:: classref-section-separator @@ -62,6 +64,25 @@ AudioEffectAmplify 以分贝为单位的放大量。正值使声音更响亮,负值使声音更安静。数值范围从 -80 到 24。 +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioEffectAmplify_property_volume_linear: + +.. rst-class:: classref-property + +:ref:`float` **volume_linear** :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_volume_linear**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_volume_linear**\ (\ ) + +Amount of amplification as a linear value. + +\ **Note:** This member modifies :ref:`volume_db` for convenience. The returned value is equivalent to the result of :ref:`@GlobalScope.db_to_linear` on :ref:`volume_db`. Setting this member is equivalent to setting :ref:`volume_db` to the result of :ref:`@GlobalScope.linear_to_db` on a value. + .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` .. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)` diff --git a/classes/zh_CN/class_audioeffectbandlimitfilter.rst b/classes/zh_CN/class_audioeffectbandlimitfilter.rst index 12b7865913..afb3aeeb81 100644 --- a/classes/zh_CN/class_audioeffectbandlimitfilter.rst +++ b/classes/zh_CN/class_audioeffectbandlimitfilter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectBandLimitFilter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectBandLimitFilter.xml. .. _class_AudioEffectBandLimitFilter: diff --git a/classes/zh_CN/class_audioeffectbandpassfilter.rst b/classes/zh_CN/class_audioeffectbandpassfilter.rst index 2d06458780..4ac3092126 100644 --- a/classes/zh_CN/class_audioeffectbandpassfilter.rst +++ b/classes/zh_CN/class_audioeffectbandpassfilter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectBandPassFilter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectBandPassFilter.xml. .. _class_AudioEffectBandPassFilter: diff --git a/classes/zh_CN/class_audioeffectcapture.rst b/classes/zh_CN/class_audioeffectcapture.rst index beb4b7eac6..62e3f0f738 100644 --- a/classes/zh_CN/class_audioeffectcapture.rst +++ b/classes/zh_CN/class_audioeffectcapture.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectCapture.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectCapture.xml. .. _class_AudioEffectCapture: diff --git a/classes/zh_CN/class_audioeffectchorus.rst b/classes/zh_CN/class_audioeffectchorus.rst index 2282b38b79..8ffbb1f2c8 100644 --- a/classes/zh_CN/class_audioeffectchorus.rst +++ b/classes/zh_CN/class_audioeffectchorus.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectChorus.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectChorus.xml. .. _class_AudioEffectChorus: diff --git a/classes/zh_CN/class_audioeffectcompressor.rst b/classes/zh_CN/class_audioeffectcompressor.rst index ee6f6d1066..0e95e1e5dd 100644 --- a/classes/zh_CN/class_audioeffectcompressor.rst +++ b/classes/zh_CN/class_audioeffectcompressor.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectCompressor.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectCompressor.xml. .. _class_AudioEffectCompressor: diff --git a/classes/zh_CN/class_audioeffectdelay.rst b/classes/zh_CN/class_audioeffectdelay.rst index 91e4c1f340..fd90a5697d 100644 --- a/classes/zh_CN/class_audioeffectdelay.rst +++ b/classes/zh_CN/class_audioeffectdelay.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectDelay.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectDelay.xml. .. _class_AudioEffectDelay: diff --git a/classes/zh_CN/class_audioeffectdistortion.rst b/classes/zh_CN/class_audioeffectdistortion.rst index c3709b516f..e40b4c7005 100644 --- a/classes/zh_CN/class_audioeffectdistortion.rst +++ b/classes/zh_CN/class_audioeffectdistortion.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectDistortion.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectDistortion.xml. .. _class_AudioEffectDistortion: diff --git a/classes/zh_CN/class_audioeffecteq.rst b/classes/zh_CN/class_audioeffecteq.rst index 91b2122f93..3ce283cfb7 100644 --- a/classes/zh_CN/class_audioeffecteq.rst +++ b/classes/zh_CN/class_audioeffecteq.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectEQ.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectEQ.xml. .. _class_AudioEffectEQ: diff --git a/classes/zh_CN/class_audioeffecteq10.rst b/classes/zh_CN/class_audioeffecteq10.rst index 484237812b..57bdc6d5b6 100644 --- a/classes/zh_CN/class_audioeffecteq10.rst +++ b/classes/zh_CN/class_audioeffecteq10.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectEQ10.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectEQ10.xml. .. _class_AudioEffectEQ10: diff --git a/classes/zh_CN/class_audioeffecteq21.rst b/classes/zh_CN/class_audioeffecteq21.rst index 09eccdbe8c..7d44698ea0 100644 --- a/classes/zh_CN/class_audioeffecteq21.rst +++ b/classes/zh_CN/class_audioeffecteq21.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectEQ21.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectEQ21.xml. .. _class_AudioEffectEQ21: diff --git a/classes/zh_CN/class_audioeffecteq6.rst b/classes/zh_CN/class_audioeffecteq6.rst index 202bb708e5..468a0ea310 100644 --- a/classes/zh_CN/class_audioeffecteq6.rst +++ b/classes/zh_CN/class_audioeffecteq6.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectEQ6.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectEQ6.xml. .. _class_AudioEffectEQ6: diff --git a/classes/zh_CN/class_audioeffectfilter.rst b/classes/zh_CN/class_audioeffectfilter.rst index fcded9bff2..70a1b9569a 100644 --- a/classes/zh_CN/class_audioeffectfilter.rst +++ b/classes/zh_CN/class_audioeffectfilter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectFilter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectFilter.xml. .. _class_AudioEffectFilter: @@ -69,11 +69,7 @@ enum **FilterDB**: :ref:`🔗` :ref:`FilterDB` **FILTER_6DB** = ``0`` -.. container:: contribute - - 该枚举目前没有描述,请帮我们\ :ref:`贡献一个 `\ 吧! - - +Cutting off at 6dB per octave. .. _class_AudioEffectFilter_constant_FILTER_12DB: @@ -81,11 +77,7 @@ enum **FilterDB**: :ref:`🔗` :ref:`FilterDB` **FILTER_12DB** = ``1`` -.. container:: contribute - - 该枚举目前没有描述,请帮我们\ :ref:`贡献一个 `\ 吧! - - +Cutting off at 12dB per octave. .. _class_AudioEffectFilter_constant_FILTER_18DB: @@ -93,11 +85,7 @@ enum **FilterDB**: :ref:`🔗` :ref:`FilterDB` **FILTER_18DB** = ``2`` -.. container:: contribute - - 该枚举目前没有描述,请帮我们\ :ref:`贡献一个 `\ 吧! - - +Cutting off at 18dB per octave. .. _class_AudioEffectFilter_constant_FILTER_24DB: @@ -105,11 +93,7 @@ enum **FilterDB**: :ref:`🔗` :ref:`FilterDB` **FILTER_24DB** = ``3`` -.. container:: contribute - - 该枚举目前没有描述,请帮我们\ :ref:`贡献一个 `\ 吧! - - +Cutting off at 24dB per octave. .. rst-class:: classref-section-separator @@ -148,9 +132,7 @@ enum **FilterDB**: :ref:`🔗` - |void| **set_db**\ (\ value\: :ref:`FilterDB`\ ) - :ref:`FilterDB` **get_db**\ (\ ) -.. container:: contribute - - 该属性目前没有描述,请帮我们\ :ref:`贡献一个 `\ 吧! +Steepness of the cutoff curve in dB per octave, also known as the order of the filter. Higher orders have a more aggressive cutoff. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_audioeffecthardlimiter.rst b/classes/zh_CN/class_audioeffecthardlimiter.rst index af66a42778..a99df2cb6a 100644 --- a/classes/zh_CN/class_audioeffecthardlimiter.rst +++ b/classes/zh_CN/class_audioeffecthardlimiter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectHardLimiter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectHardLimiter.xml. .. _class_AudioEffectHardLimiter: diff --git a/classes/zh_CN/class_audioeffecthighpassfilter.rst b/classes/zh_CN/class_audioeffecthighpassfilter.rst index baf4bcbbe4..560ecdef2a 100644 --- a/classes/zh_CN/class_audioeffecthighpassfilter.rst +++ b/classes/zh_CN/class_audioeffecthighpassfilter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectHighPassFilter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectHighPassFilter.xml. .. _class_AudioEffectHighPassFilter: diff --git a/classes/zh_CN/class_audioeffecthighshelffilter.rst b/classes/zh_CN/class_audioeffecthighshelffilter.rst index 78798ddc28..c1af88d7b0 100644 --- a/classes/zh_CN/class_audioeffecthighshelffilter.rst +++ b/classes/zh_CN/class_audioeffecthighshelffilter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectHighShelfFilter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectHighShelfFilter.xml. .. _class_AudioEffectHighShelfFilter: diff --git a/classes/zh_CN/class_audioeffectinstance.rst b/classes/zh_CN/class_audioeffectinstance.rst index 98020dc36f..838addf5be 100644 --- a/classes/zh_CN/class_audioeffectinstance.rst +++ b/classes/zh_CN/class_audioeffectinstance.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectInstance.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectInstance.xml. .. _class_AudioEffectInstance: diff --git a/classes/zh_CN/class_audioeffectlimiter.rst b/classes/zh_CN/class_audioeffectlimiter.rst index 3e7ffca62e..83524b801d 100644 --- a/classes/zh_CN/class_audioeffectlimiter.rst +++ b/classes/zh_CN/class_audioeffectlimiter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectLimiter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectLimiter.xml. .. _class_AudioEffectLimiter: diff --git a/classes/zh_CN/class_audioeffectlowpassfilter.rst b/classes/zh_CN/class_audioeffectlowpassfilter.rst index a4938430c4..8d4cffbca2 100644 --- a/classes/zh_CN/class_audioeffectlowpassfilter.rst +++ b/classes/zh_CN/class_audioeffectlowpassfilter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectLowPassFilter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectLowPassFilter.xml. .. _class_AudioEffectLowPassFilter: diff --git a/classes/zh_CN/class_audioeffectlowshelffilter.rst b/classes/zh_CN/class_audioeffectlowshelffilter.rst index 3c5fde10fe..7e03eae5f6 100644 --- a/classes/zh_CN/class_audioeffectlowshelffilter.rst +++ b/classes/zh_CN/class_audioeffectlowshelffilter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectLowShelfFilter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectLowShelfFilter.xml. .. _class_AudioEffectLowShelfFilter: diff --git a/classes/zh_CN/class_audioeffectnotchfilter.rst b/classes/zh_CN/class_audioeffectnotchfilter.rst index 4f2ba4207e..db24019f04 100644 --- a/classes/zh_CN/class_audioeffectnotchfilter.rst +++ b/classes/zh_CN/class_audioeffectnotchfilter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectNotchFilter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectNotchFilter.xml. .. _class_AudioEffectNotchFilter: diff --git a/classes/zh_CN/class_audioeffectpanner.rst b/classes/zh_CN/class_audioeffectpanner.rst index ca21c3d820..5956d2da4f 100644 --- a/classes/zh_CN/class_audioeffectpanner.rst +++ b/classes/zh_CN/class_audioeffectpanner.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectPanner.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectPanner.xml. .. _class_AudioEffectPanner: diff --git a/classes/zh_CN/class_audioeffectphaser.rst b/classes/zh_CN/class_audioeffectphaser.rst index 2e91a7bc3a..c212877536 100644 --- a/classes/zh_CN/class_audioeffectphaser.rst +++ b/classes/zh_CN/class_audioeffectphaser.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectPhaser.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectPhaser.xml. .. _class_AudioEffectPhaser: diff --git a/classes/zh_CN/class_audioeffectpitchshift.rst b/classes/zh_CN/class_audioeffectpitchshift.rst index f142049ad4..af56ffab39 100644 --- a/classes/zh_CN/class_audioeffectpitchshift.rst +++ b/classes/zh_CN/class_audioeffectpitchshift.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectPitchShift.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectPitchShift.xml. .. _class_AudioEffectPitchShift: diff --git a/classes/zh_CN/class_audioeffectrecord.rst b/classes/zh_CN/class_audioeffectrecord.rst index 81ea4f8c8e..b5ce019b25 100644 --- a/classes/zh_CN/class_audioeffectrecord.rst +++ b/classes/zh_CN/class_audioeffectrecord.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectRecord.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectRecord.xml. .. _class_AudioEffectRecord: diff --git a/classes/zh_CN/class_audioeffectreverb.rst b/classes/zh_CN/class_audioeffectreverb.rst index 354b8015f6..f9dda41a0f 100644 --- a/classes/zh_CN/class_audioeffectreverb.rst +++ b/classes/zh_CN/class_audioeffectreverb.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectReverb.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectReverb.xml. .. _class_AudioEffectReverb: diff --git a/classes/zh_CN/class_audioeffectspectrumanalyzer.rst b/classes/zh_CN/class_audioeffectspectrumanalyzer.rst index c2dff09485..bb805f69b9 100644 --- a/classes/zh_CN/class_audioeffectspectrumanalyzer.rst +++ b/classes/zh_CN/class_audioeffectspectrumanalyzer.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectSpectrumAnalyzer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectSpectrumAnalyzer.xml. .. _class_AudioEffectSpectrumAnalyzer: @@ -19,11 +19,11 @@ AudioEffectSpectrumAnalyzer 描述 ---- -这种音频效果不影响声音输出,但可以用于实时音频可视化。 +This audio effect does not affect sound output, but can be used for real-time audio visualizations. -该资源配置了一个 :ref:`AudioEffectSpectrumAnalyzerInstance`\ ,它在运行时执行实际分析。可以使用 :ref:`AudioServer.get_bus_effect_instance` 获取实例。 +This resource configures an :ref:`AudioEffectSpectrumAnalyzerInstance`, which performs the actual analysis at runtime. An instance can be obtained with :ref:`AudioServer.get_bus_effect_instance`. -使用程序生成声音请参阅 :ref:`AudioStreamGenerator`\ 。 +See also :ref:`AudioStreamGenerator` for procedurally generating sounds. .. rst-class:: classref-introduction-group diff --git a/classes/zh_CN/class_audioeffectspectrumanalyzerinstance.rst b/classes/zh_CN/class_audioeffectspectrumanalyzerinstance.rst index dcdcde2e7f..deeecec446 100644 --- a/classes/zh_CN/class_audioeffectspectrumanalyzerinstance.rst +++ b/classes/zh_CN/class_audioeffectspectrumanalyzerinstance.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml. .. _class_AudioEffectSpectrumAnalyzerInstance: @@ -19,9 +19,9 @@ AudioEffectSpectrumAnalyzerInstance 描述 ---- -:ref:`AudioEffectSpectrumAnalyzer` 的运行时部分,可以用来查询宿主总线上某个频率范围内的幅度。 +The runtime part of an :ref:`AudioEffectSpectrumAnalyzer`, which can be used to query the magnitude of a frequency range on its host bus. -可以使用 :ref:`AudioServer.get_bus_effect_instance` 获取该类的实例。 +An instance of this class can be obtained with :ref:`AudioServer.get_bus_effect_instance`. .. rst-class:: classref-introduction-group diff --git a/classes/zh_CN/class_audioeffectstereoenhance.rst b/classes/zh_CN/class_audioeffectstereoenhance.rst index 6a92496b97..8840263ca5 100644 --- a/classes/zh_CN/class_audioeffectstereoenhance.rst +++ b/classes/zh_CN/class_audioeffectstereoenhance.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioEffectStereoEnhance.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectStereoEnhance.xml. .. _class_AudioEffectStereoEnhance: @@ -64,7 +64,7 @@ AudioEffectStereoEnhance - |void| **set_pan_pullout**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_pan_pullout**\ (\ ) -大于 1.0 的值会增加通过该效果的音频的任何声像强度,而小于 1.0 的值会降低声像强度。值为 0.0 会将音频缩混为单声道。 +Amplifies the difference between stereo channels, increasing or decreasing existing panning. A value of 0.0 will downmix stereo to mono. Does not affect a mono signal. .. rst-class:: classref-item-separator @@ -81,9 +81,7 @@ AudioEffectStereoEnhance - |void| **set_surround**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_surround**\ (\ ) -.. container:: contribute - - 该属性目前没有描述,请帮我们\ :ref:`贡献一个 `\ 吧! +Widens sound stage through phase shifting in conjunction with :ref:`time_pullout_ms`. Just pans sound to the left channel if :ref:`time_pullout_ms` is 0. .. rst-class:: classref-item-separator @@ -100,9 +98,7 @@ AudioEffectStereoEnhance - |void| **set_time_pullout**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_time_pullout**\ (\ ) -.. container:: contribute - - 该属性目前没有描述,请帮我们\ :ref:`贡献一个 `\ 吧! +Widens sound stage through phase shifting in conjunction with :ref:`surround`. Just delays the right channel if :ref:`surround` is 0. .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` diff --git a/classes/zh_CN/class_audiolistener2d.rst b/classes/zh_CN/class_audiolistener2d.rst index 361f014aac..bb311fe069 100644 --- a/classes/zh_CN/class_audiolistener2d.rst +++ b/classes/zh_CN/class_audiolistener2d.rst @@ -5,8 +5,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioListener2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioListener2D.xml. .. _class_AudioListener2D: diff --git a/classes/zh_CN/class_audiolistener3d.rst b/classes/zh_CN/class_audiolistener3d.rst index 7ea511772e..3833f71335 100644 --- a/classes/zh_CN/class_audiolistener3d.rst +++ b/classes/zh_CN/class_audiolistener3d.rst @@ -5,8 +5,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioListener3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioListener3D.xml. .. _class_AudioListener3D: diff --git a/classes/zh_CN/class_audiosample.rst b/classes/zh_CN/class_audiosample.rst index e42f904845..f9c3bb8fd6 100644 --- a/classes/zh_CN/class_audiosample.rst +++ b/classes/zh_CN/class_audiosample.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioSample.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioSample.xml. .. _class_AudioSample: diff --git a/classes/zh_CN/class_audiosampleplayback.rst b/classes/zh_CN/class_audiosampleplayback.rst index 54f2522cf6..7d7971fd18 100644 --- a/classes/zh_CN/class_audiosampleplayback.rst +++ b/classes/zh_CN/class_audiosampleplayback.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioSamplePlayback.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioSamplePlayback.xml. .. _class_AudioSamplePlayback: diff --git a/classes/zh_CN/class_audioserver.rst b/classes/zh_CN/class_audioserver.rst index f59d545e64..1fee42d2e3 100644 --- a/classes/zh_CN/class_audioserver.rst +++ b/classes/zh_CN/class_audioserver.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioServer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioServer.xml. .. _class_AudioServer: @@ -87,8 +87,14 @@ AudioServer +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_bus_volume_db`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_bus_volume_linear`\ (\ bus_idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_driver_name`\ (\ ) |const| | + +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_input_device_list`\ (\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_input_mix_rate`\ (\ ) |const| | + +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_mix_rate`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_output_device_list`\ (\ ) | @@ -137,6 +143,8 @@ AudioServer +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_volume_db`\ (\ bus_idx\: :ref:`int`, volume_db\: :ref:`float`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_bus_volume_linear`\ (\ bus_idx\: :ref:`int`, volume_linear\: :ref:`float`\ ) | + +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_enable_tagging_used_audio_streams`\ (\ enable\: :ref:`bool`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`swap_bus_effects`\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`, by_effect_idx\: :ref:`int`\ ) | @@ -514,6 +522,32 @@ enum **PlaybackType**: :ref:`🔗` ---- +.. _class_AudioServer_method_get_bus_volume_linear: + +.. rst-class:: classref-method + +:ref:`float` **get_bus_volume_linear**\ (\ bus_idx\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the volume of the bus at index ``bus_idx`` as a linear value. + +\ **Note:** The returned value is equivalent to the result of :ref:`@GlobalScope.db_to_linear` on the result of :ref:`get_bus_volume_db`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioServer_method_get_driver_name: + +.. rst-class:: classref-method + +:ref:`String` **get_driver_name**\ (\ ) |const| :ref:`🔗` + +Returns the name of the current audio driver. The default usually depends on the operating system, but may be overridden via the ``--audio-driver`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. ``--headless`` also automatically sets the audio driver to ``Dummy``. See also :ref:`ProjectSettings.audio/driver/driver`. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioServer_method_get_input_device_list: .. rst-class:: classref-method @@ -528,6 +562,18 @@ enum **PlaybackType**: :ref:`🔗` ---- +.. _class_AudioServer_method_get_input_mix_rate: + +.. rst-class:: classref-method + +:ref:`float` **get_input_mix_rate**\ (\ ) |const| :ref:`🔗` + +Returns the sample rate at the input of the **AudioServer**. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioServer_method_get_mix_rate: .. rst-class:: classref-method @@ -822,7 +868,21 @@ enum **PlaybackType**: :ref:`🔗` |void| **set_bus_volume_db**\ (\ bus_idx\: :ref:`int`, volume_db\: :ref:`float`\ ) :ref:`🔗` -将索引为 ``bus_idx`` 的总线的音量设为 ``volume_db``\ 。 +Sets the volume in decibels of the bus at index ``bus_idx`` to ``volume_db``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioServer_method_set_bus_volume_linear: + +.. rst-class:: classref-method + +|void| **set_bus_volume_linear**\ (\ bus_idx\: :ref:`int`, volume_linear\: :ref:`float`\ ) :ref:`🔗` + +Sets the volume as a linear value of the bus at index ``bus_idx`` to ``volume_linear``. + +\ **Note:** Using this method is equivalent to calling :ref:`set_bus_volume_db` with the result of :ref:`@GlobalScope.linear_to_db` on a value. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_audiostream.rst b/classes/zh_CN/class_audiostream.rst index 0738721297..2da4d6a6b7 100644 --- a/classes/zh_CN/class_audiostream.rst +++ b/classes/zh_CN/class_audiostream.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStream.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStream.xml. .. _class_AudioStream: @@ -44,6 +44,8 @@ AudioStream .. table:: :widths: auto + +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`_get_bar_beats`\ (\ ) |virtual| |const| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_get_beat_count`\ (\ ) |virtual| |const| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+ @@ -55,6 +57,8 @@ AudioStream +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_get_stream_name`\ (\ ) |virtual| |const| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_has_loop`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+ | :ref:`AudioStreamPlayback` | :ref:`_instantiate_playback`\ (\ ) |virtual| |const| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_is_monophonic`\ (\ ) |virtual| |const| | @@ -98,6 +102,18 @@ AudioStream 方法说明 -------- +.. _class_AudioStream_private_method__get_bar_beats: + +.. rst-class:: classref-method + +:ref:`int` **_get_bar_beats**\ (\ ) |virtual| |const| :ref:`🔗` + +Override this method to return the bar beats of this stream. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioStream_private_method__get_beat_count: .. rst-class:: classref-method @@ -162,13 +178,25 @@ AudioStream ---- +.. _class_AudioStream_private_method__has_loop: + +.. rst-class:: classref-method + +:ref:`bool` **_has_loop**\ (\ ) |virtual| |const| :ref:`🔗` + +Override this method to return ``true`` if this stream has a loop. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioStream_private_method__instantiate_playback: .. rst-class:: classref-method :ref:`AudioStreamPlayback` **_instantiate_playback**\ (\ ) |virtual| |const| :ref:`🔗` -覆盖该方法可以自定义 :ref:`instantiate_playback` 的返回值。应该返回一个在播放流(例如通过 :ref:`AudioStreamPlayer`\ )时创建的新的 :ref:`AudioStreamPlayback`\ 。 +Override this method to customize the returned value of :ref:`instantiate_playback`. Should return a new :ref:`AudioStreamPlayback` created when the stream is played (such as by an :ref:`AudioStreamPlayer`). .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_audiostreamgenerator.rst b/classes/zh_CN/class_audiostreamgenerator.rst index f748c20612..22f7d3aa4d 100644 --- a/classes/zh_CN/class_audiostreamgenerator.rst +++ b/classes/zh_CN/class_audiostreamgenerator.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamGenerator.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamGenerator.xml. .. _class_AudioStreamGenerator: @@ -19,18 +19,19 @@ AudioStreamGenerator 描述 ---- -**AudioStreamGenerator** 是一种音频流,它自己并不播放声音,而是要用脚本来为它生成音频数据。另见 :ref:`AudioStreamGeneratorPlayback`\ 。 +**AudioStreamGenerator** is a type of audio stream that does not play back sounds on its own; instead, it expects a script to generate audio data for it. See also :ref:`AudioStreamGeneratorPlayback`. -以下是用它来生成正弦波的例子: +Here's a sample on how to use it to generate a sine wave: .. tabs:: .. code-tab:: gdscript - var playback # 存放 AudioStreamGeneratorPlayback。 + var playback # Will hold the AudioStreamGeneratorPlayback. @onready var sample_hz = $AudioStreamPlayer.stream.mix_rate - var pulse_hz = 440.0 # 声音波形的频率。 + var pulse_hz = 440.0 # The frequency of the sound wave. + var phase = 0.0 func _ready(): $AudioStreamPlayer.play() @@ -38,7 +39,6 @@ AudioStreamGenerator fill_buffer() func fill_buffer(): - var phase = 0.0 var increment = pulse_hz / sample_hz var frames_available = playback.get_frames_available() @@ -50,9 +50,10 @@ AudioStreamGenerator [Export] public AudioStreamPlayer Player { get; set; } - private AudioStreamGeneratorPlayback _playback; // 存放 AudioStreamGeneratorPlayback。 + private AudioStreamGeneratorPlayback _playback; // Will hold the AudioStreamGeneratorPlayback. private float _sampleHz; - private float _pulseHz = 440.0f; // 音频波形的频率。 + private float _pulseHz = 440.0f; // The frequency of the sound wave. + private double phase = 0.0; public override void _Ready() { @@ -67,7 +68,6 @@ AudioStreamGenerator public void FillBuffer() { - double phase = 0.0; float increment = _pulseHz / _sampleHz; int framesAvailable = _playback.GetFramesAvailable(); @@ -80,11 +80,11 @@ AudioStreamGenerator -上面的例子中,“AudioStreamPlayer”节点必须使用 **AudioStreamGenerator** 作为其流。\ ``fill_buffer`` 函数负责提供模拟正弦波的音频数据。 +In the example above, the "AudioStreamPlayer" node must use an **AudioStreamGenerator** as its stream. The ``fill_buffer`` function provides audio data for approximating a sine wave. -要执行实时音频频谱分析,见 :ref:`AudioEffectSpectrumAnalyzer`\ 。 +See also :ref:`AudioEffectSpectrumAnalyzer` for performing real-time audio spectrum analysis. -\ **注意:**\ 由于性能的限制,这个类最好在 C# 或者在利用 GDExtension 的编译语言中使用。如果你仍然想要在 GDScript 中使用这个类,请考虑使用 11,025 Hz 或 22,050 Hz 等较低的 :ref:`mix_rate`\ 。 +\ **Note:** Due to performance constraints, this class is best used from C# or from a compiled language via GDExtension. If you still want to use this class from GDScript, consider using a lower :ref:`mix_rate` such as 11,025 Hz or 22,050 Hz. .. rst-class:: classref-introduction-group diff --git a/classes/zh_CN/class_audiostreamgeneratorplayback.rst b/classes/zh_CN/class_audiostreamgeneratorplayback.rst index 6f564ad147..8c8ddb40c9 100644 --- a/classes/zh_CN/class_audiostreamgeneratorplayback.rst +++ b/classes/zh_CN/class_audiostreamgeneratorplayback.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamGeneratorPlayback.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamGeneratorPlayback.xml. .. _class_AudioStreamGeneratorPlayback: diff --git a/classes/zh_CN/class_audiostreaminteractive.rst b/classes/zh_CN/class_audiostreaminteractive.rst index 60fb7ec851..699d4a207c 100644 --- a/classes/zh_CN/class_audiostreaminteractive.rst +++ b/classes/zh_CN/class_audiostreaminteractive.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/interactive_music/doc_classes/AudioStreamInteractive.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/interactive_music/doc_classes/AudioStreamInteractive.xml. .. _class_AudioStreamInteractive: @@ -19,9 +19,9 @@ AudioStreamInteractive 描述 ---- -这是一种能够以可交互的形式播放音乐的音频流,包含若干剪辑和一张过渡表。必须先添加剪辑,再使用 :ref:`add_transition` 添加过渡规则。这种音频流还导出了一个用于控制 :ref:`AudioStreamPlayer`\ 、\ :ref:`AudioStreamPlayer2D`\ 、\ :ref:`AudioStreamPlayer3D` 播放的属性参数。 +This is an audio stream that can playback music interactively, combining clips and a transition table. Clips must be added first, and then the transition rules via the :ref:`add_transition`. Additionally, this stream exports a property parameter to control the playback via :ref:`AudioStreamPlayer`, :ref:`AudioStreamPlayer2D`, or :ref:`AudioStreamPlayer3D`. -用法是先填充一些剪辑,然后配置过渡表。音频流会根据过渡表选择要播放的剪辑,并根据表中定义的对应过渡规则平滑地将当前音乐过渡到新的剪辑。 +The way this is used is by filling a number of clips, then configuring the transition table. From there, clips are selected for playback and the music will smoothly go from the current to the new one while using the corresponding transition rule defined in the transition table. .. rst-class:: classref-reftable-group @@ -471,7 +471,7 @@ enum **AutoAdvanceMode**: :ref:`🔗` **has_transition**\ (\ from_clip\: :ref:`int`, to_clip\: :ref:`int`\ ) |const| :ref:`🔗` -如果存在给定的过渡则返回 true(通过 :ref:`add_transition` 添加)。 +Returns ``true`` if a given transition exists (was added via :ref:`add_transition`). .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_audiostreammicrophone.rst b/classes/zh_CN/class_audiostreammicrophone.rst index 8b58799e30..d64c197cd1 100644 --- a/classes/zh_CN/class_audiostreammicrophone.rst +++ b/classes/zh_CN/class_audiostreammicrophone.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamMicrophone.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamMicrophone.xml. .. _class_AudioStreamMicrophone: diff --git a/classes/zh_CN/class_audiostreammp3.rst b/classes/zh_CN/class_audiostreammp3.rst index 9ba7d58418..83501d7e9b 100644 --- a/classes/zh_CN/class_audiostreammp3.rst +++ b/classes/zh_CN/class_audiostreammp3.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/minimp3/doc_classes/AudioStreamMP3.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/minimp3/doc_classes/AudioStreamMP3.xml. .. _class_AudioStreamMP3: @@ -19,7 +19,9 @@ MP3 音频流驱动程序。 描述 ---- -MP3 音频流驱动程序。如果要在运行时加载 MP3 文件,请参阅 :ref:`data`\ 。 +MP3 audio stream driver. See :ref:`data` if you want to load an MP3 file at run-time. + +\ **Note:** This class can optionally support legacy MP1 and MP2 formats, provided that the engine is compiled with the ``minimp3_extra_formats=yes`` SCons option. These extra formats are not enabled by default. .. rst-class:: classref-reftable-group @@ -43,6 +45,20 @@ MP3 音频流驱动程序。如果要在运行时加载 MP3 文件,请参阅 : | :ref:`float` | :ref:`loop_offset` | ``0.0`` | +-----------------------------------------------+---------------------------------------------------------------+-----------------------+ +.. rst-class:: classref-reftable-group + +方法 +---- + +.. table:: + :widths: auto + + +---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AudioStreamMP3` | :ref:`load_from_buffer`\ (\ stream_data\: :ref:`PackedByteArray`\ ) |static| | + +---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AudioStreamMP3` | :ref:`load_from_file`\ (\ path\: :ref:`String`\ ) |static| | + +---------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ + .. rst-class:: classref-section-separator ---- @@ -183,6 +199,35 @@ MP3 音频流驱动程序。如果要在运行时加载 MP3 文件,请参阅 : 循环时,流开始的时间,单位为秒。 +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +方法说明 +-------- + +.. _class_AudioStreamMP3_method_load_from_buffer: + +.. rst-class:: classref-method + +:ref:`AudioStreamMP3` **load_from_buffer**\ (\ stream_data\: :ref:`PackedByteArray`\ ) |static| :ref:`🔗` + +Creates a new **AudioStreamMP3** instance from the given buffer. The buffer must contain MP3 data. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamMP3_method_load_from_file: + +.. rst-class:: classref-method + +:ref:`AudioStreamMP3` **load_from_file**\ (\ path\: :ref:`String`\ ) |static| :ref:`🔗` + +Creates a new **AudioStreamMP3** instance from the given file path. The file must be in MP3 format. + .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` .. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)` diff --git a/classes/zh_CN/class_audiostreamoggvorbis.rst b/classes/zh_CN/class_audiostreamoggvorbis.rst index 668e2a5850..5ffbb61592 100644 --- a/classes/zh_CN/class_audiostreamoggvorbis.rst +++ b/classes/zh_CN/class_audiostreamoggvorbis.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/vorbis/doc_classes/AudioStreamOggVorbis.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/vorbis/doc_classes/AudioStreamOggVorbis.xml. .. _class_AudioStreamOggVorbis: @@ -58,11 +58,11 @@ AudioStreamOggVorbis 类是专用于处理 Ogg Vorbis 文件格式的 :ref:`Audi .. table:: :widths: auto - +---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`AudioStreamOggVorbis` | :ref:`load_from_buffer`\ (\ buffer\: :ref:`PackedByteArray`\ ) |static| | - +---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`AudioStreamOggVorbis` | :ref:`load_from_file`\ (\ path\: :ref:`String`\ ) |static| | - +---------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AudioStreamOggVorbis` | :ref:`load_from_buffer`\ (\ stream_data\: :ref:`PackedByteArray`\ ) |static| | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AudioStreamOggVorbis` | :ref:`load_from_file`\ (\ path\: :ref:`String`\ ) |static| | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -190,9 +190,9 @@ AudioStreamOggVorbis 类是专用于处理 Ogg Vorbis 文件格式的 :ref:`Audi .. rst-class:: classref-method -:ref:`AudioStreamOggVorbis` **load_from_buffer**\ (\ buffer\: :ref:`PackedByteArray`\ ) |static| :ref:`🔗` +:ref:`AudioStreamOggVorbis` **load_from_buffer**\ (\ stream_data\: :ref:`PackedByteArray`\ ) |static| :ref:`🔗` -从给定缓冲区创建一个新的 AudioStreamOggVorbis 实例。缓冲区必须包含 Ogg Vorbis 数据。 +Creates a new **AudioStreamOggVorbis** instance from the given buffer. The buffer must contain Ogg Vorbis data. .. rst-class:: classref-item-separator @@ -204,7 +204,7 @@ AudioStreamOggVorbis 类是专用于处理 Ogg Vorbis 文件格式的 :ref:`Audi :ref:`AudioStreamOggVorbis` **load_from_file**\ (\ path\: :ref:`String`\ ) |static| :ref:`🔗` -从给定文件路径创建新的 AudioStreamOggVorbis 实例。文件必须采用 Ogg Vorbis 格式。 +Creates a new **AudioStreamOggVorbis** instance from the given file path. The file must be in Ogg Vorbis format. .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` diff --git a/classes/zh_CN/class_audiostreamplayback.rst b/classes/zh_CN/class_audiostreamplayback.rst index b0af367e15..873afa7a06 100644 --- a/classes/zh_CN/class_audiostreamplayback.rst +++ b/classes/zh_CN/class_audiostreamplayback.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamPlayback.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlayback.xml. .. _class_AudioStreamPlayback: @@ -59,10 +59,24 @@ AudioStreamPlayback +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_tag_used_streams`\ (\ ) |virtual| | +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_loop_count`\ (\ ) |const| | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_playback_position`\ (\ ) |const| | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AudioSamplePlayback` | :ref:`get_sample_playback`\ (\ ) |const| | +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_playing`\ (\ ) |const| | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedVector2Array` | :ref:`mix_audio`\ (\ rate_scale\: :ref:`float`, frames\: :ref:`int`\ ) | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`seek`\ (\ time\: :ref:`float` = 0.0\ ) | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_sample_playback`\ (\ playback_sample\: :ref:`AudioSamplePlayback`\ ) | +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`start`\ (\ from_pos\: :ref:`float` = 0.0\ ) | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`stop`\ (\ ) | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -195,6 +209,30 @@ AudioStreamPlayback ---- +.. _class_AudioStreamPlayback_method_get_loop_count: + +.. rst-class:: classref-method + +:ref:`int` **get_loop_count**\ (\ ) |const| :ref:`🔗` + +Returns the number of times the stream has looped. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_get_playback_position: + +.. rst-class:: classref-method + +:ref:`float` **get_playback_position**\ (\ ) |const| :ref:`🔗` + +Returns the current position in the stream, in seconds. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioStreamPlayback_method_get_sample_playback: .. rst-class:: classref-method @@ -209,6 +247,46 @@ AudioStreamPlayback ---- +.. _class_AudioStreamPlayback_method_is_playing: + +.. rst-class:: classref-method + +:ref:`bool` **is_playing**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` if the stream is playing. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_mix_audio: + +.. rst-class:: classref-method + +:ref:`PackedVector2Array` **mix_audio**\ (\ rate_scale\: :ref:`float`, frames\: :ref:`int`\ ) :ref:`🔗` + +Mixes up to ``frames`` of audio from the stream from the current position, at a rate of ``rate_scale``, advancing the stream. + +Returns a :ref:`PackedVector2Array` where each element holds the left and right channel volume levels of each frame. + +\ **Note:** Can return fewer frames than requested, make sure to use the size of the return value. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_seek: + +.. rst-class:: classref-method + +|void| **seek**\ (\ time\: :ref:`float` = 0.0\ ) :ref:`🔗` + +Seeks the stream at the given ``time``, in seconds. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioStreamPlayback_method_set_sample_playback: .. rst-class:: classref-method @@ -219,6 +297,30 @@ AudioStreamPlayback 将 :ref:`AudioSamplePlayback` 与该 **AudioStreamPlayback** 关联以播放该流的音频样本。 +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_start: + +.. rst-class:: classref-method + +|void| **start**\ (\ from_pos\: :ref:`float` = 0.0\ ) :ref:`🔗` + +Starts the stream from the given ``from_pos``, in seconds. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_stop: + +.. rst-class:: classref-method + +|void| **stop**\ (\ ) :ref:`🔗` + +Stops the stream. + .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` .. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)` diff --git a/classes/zh_CN/class_audiostreamplaybackinteractive.rst b/classes/zh_CN/class_audiostreamplaybackinteractive.rst index 153b0ab85c..e35978c9d0 100644 --- a/classes/zh_CN/class_audiostreamplaybackinteractive.rst +++ b/classes/zh_CN/class_audiostreamplaybackinteractive.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/interactive_music/doc_classes/AudioStreamPlaybackInteractive.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/interactive_music/doc_classes/AudioStreamPlaybackInteractive.xml. .. _class_AudioStreamPlaybackInteractive: @@ -29,11 +29,13 @@ AudioStreamPlaybackInteractive .. table:: :widths: auto - +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`switch_to_clip`\ (\ clip_index\: :ref:`int`\ ) | - +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`switch_to_clip_by_name`\ (\ clip_name\: :ref:`StringName`\ ) | - +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_current_clip_index`\ (\ ) |const| | + +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`switch_to_clip`\ (\ clip_index\: :ref:`int`\ ) | + +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`switch_to_clip_by_name`\ (\ clip_name\: :ref:`StringName`\ ) | + +-----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -44,6 +46,29 @@ AudioStreamPlaybackInteractive 方法说明 -------- +.. _class_AudioStreamPlaybackInteractive_method_get_current_clip_index: + +.. rst-class:: classref-method + +:ref:`int` **get_current_clip_index**\ (\ ) |const| :ref:`🔗` + +Return the index of the currently playing clip. You can use this to get the name of the currently playing clip with :ref:`AudioStreamInteractive.get_clip_name`. + +\ **Example:** Get the currently playing clip name from inside an :ref:`AudioStreamPlayer` node. + + +.. tabs:: + + .. code-tab:: gdscript + + var playing_clip_name = stream.get_clip_name(get_stream_playback().get_current_clip_index()) + + + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioStreamPlaybackInteractive_method_switch_to_clip: .. rst-class:: classref-method diff --git a/classes/zh_CN/class_audiostreamplaybackoggvorbis.rst b/classes/zh_CN/class_audiostreamplaybackoggvorbis.rst index f0061128fa..156ca37425 100644 --- a/classes/zh_CN/class_audiostreamplaybackoggvorbis.rst +++ b/classes/zh_CN/class_audiostreamplaybackoggvorbis.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/vorbis/doc_classes/AudioStreamPlaybackOggVorbis.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/vorbis/doc_classes/AudioStreamPlaybackOggVorbis.xml. .. _class_AudioStreamPlaybackOggVorbis: diff --git a/classes/zh_CN/class_audiostreamplaybackplaylist.rst b/classes/zh_CN/class_audiostreamplaybackplaylist.rst index 38ad0686c8..b118aede67 100644 --- a/classes/zh_CN/class_audiostreamplaybackplaylist.rst +++ b/classes/zh_CN/class_audiostreamplaybackplaylist.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/interactive_music/doc_classes/AudioStreamPlaybackPlaylist.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/interactive_music/doc_classes/AudioStreamPlaybackPlaylist.xml. .. _class_AudioStreamPlaybackPlaylist: diff --git a/classes/zh_CN/class_audiostreamplaybackpolyphonic.rst b/classes/zh_CN/class_audiostreamplaybackpolyphonic.rst index 4e67c53364..e4a76abf77 100644 --- a/classes/zh_CN/class_audiostreamplaybackpolyphonic.rst +++ b/classes/zh_CN/class_audiostreamplaybackpolyphonic.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamPlaybackPolyphonic.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlaybackPolyphonic.xml. .. _class_AudioStreamPlaybackPolyphonic: @@ -73,7 +73,7 @@ AudioStreamPlaybackPolyphonic :ref:`bool` **is_stream_playing**\ (\ stream\: :ref:`int`\ ) |const| :ref:`🔗` -与整数 ID 关联的流仍在播放时返回 true。请检查 :ref:`play_stream` 以获取有关此 ID 何时失效的信息。 +Returns ``true`` if the stream associated with the given integer ID is still playing. Check :ref:`play_stream` for information on when this ID becomes invalid. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_audiostreamplaybackresampled.rst b/classes/zh_CN/class_audiostreamplaybackresampled.rst index 1c02a71bf0..2a1cd50bc6 100644 --- a/classes/zh_CN/class_audiostreamplaybackresampled.rst +++ b/classes/zh_CN/class_audiostreamplaybackresampled.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamPlaybackResampled.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlaybackResampled.xml. .. _class_AudioStreamPlaybackResampled: diff --git a/classes/zh_CN/class_audiostreamplaybacksynchronized.rst b/classes/zh_CN/class_audiostreamplaybacksynchronized.rst index df858c9aef..2c2597e754 100644 --- a/classes/zh_CN/class_audiostreamplaybacksynchronized.rst +++ b/classes/zh_CN/class_audiostreamplaybacksynchronized.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/interactive_music/doc_classes/AudioStreamPlaybackSynchronized.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/interactive_music/doc_classes/AudioStreamPlaybackSynchronized.xml. .. _class_AudioStreamPlaybackSynchronized: diff --git a/classes/zh_CN/class_audiostreamplayer.rst b/classes/zh_CN/class_audiostreamplayer.rst index 63af24c541..e47ba34215 100644 --- a/classes/zh_CN/class_audiostreamplayer.rst +++ b/classes/zh_CN/class_audiostreamplayer.rst @@ -5,8 +5,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamPlayer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlayer.xml. .. _class_AudioStreamPlayer: @@ -74,6 +74,8 @@ AudioStreamPlayer +----------------------------------------------------+----------------------------------------------------------------------+---------------+ | :ref:`float` | :ref:`volume_db` | ``0.0`` | +----------------------------------------------------+----------------------------------------------------------------------+---------------+ + | :ref:`float` | :ref:`volume_linear` | | + +----------------------------------------------------+----------------------------------------------------------------------+---------------+ .. rst-class:: classref-reftable-group @@ -276,6 +278,7 @@ enum **MixTarget**: :ref:`🔗` .. rst-class:: classref-property-setget +- |void| **set_playing**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_playing**\ (\ ) 如果为 ``true``\ ,则该节点正在播放声音。设置该属性与 :ref:`play` 和 :ref:`stop` 等效。 @@ -331,9 +334,28 @@ enum **MixTarget**: :ref:`🔗` - |void| **set_volume_db**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_volume_db**\ (\ ) -声音的音量,单位为分贝。这是对 :ref:`stream` 音量的偏移。 +Volume of sound, in decibels. This is an offset of the :ref:`stream`'s volume. -\ **注意:**\ 如需在分贝和线性能量间进行转换(常见于音量滑块),请使用 :ref:`@GlobalScope.db_to_linear` 和 :ref:`@GlobalScope.linear_to_db`\ 。 +\ **Note:** To convert between decibel and linear energy (like most volume sliders do), use :ref:`volume_linear`, or :ref:`@GlobalScope.db_to_linear` and :ref:`@GlobalScope.linear_to_db`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayer_property_volume_linear: + +.. rst-class:: classref-property + +:ref:`float` **volume_linear** :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_volume_linear**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_volume_linear**\ (\ ) + +Volume of sound, as a linear value. + +\ **Note:** This member modifies :ref:`volume_db` for convenience. The returned value is equivalent to the result of :ref:`@GlobalScope.db_to_linear` on :ref:`volume_db`. Setting this member is equivalent to setting :ref:`volume_db` to the result of :ref:`@GlobalScope.linear_to_db` on a value. .. rst-class:: classref-section-separator @@ -350,9 +372,11 @@ enum **MixTarget**: :ref:`🔗` :ref:`float` **get_playback_position**\ (\ ) :ref:`🔗` -以秒为单位返回最后播放的声音在 :ref:`AudioStream` 中的位置。如果没有正在播放的声音,将返回 ``0.0``\ 。 +Returns the position in the :ref:`AudioStream` of the latest sound, in seconds. Returns ``0.0`` if no sounds are playing. -\ **注意:**\ 返回的位置不一定精准,因为 :ref:`AudioServer` 不会在每个处理的帧中混合音频。要想得到更多准确的结果,请将 :ref:`AudioServer.get_time_since_last_mix` 添加到返回的位置。 +\ **Note:** The position is not always accurate, as the :ref:`AudioServer` does not mix audio every processed frame. To get more accurate results, add :ref:`AudioServer.get_time_since_last_mix` to the returned position. + +\ **Note:** This method always returns ``0.0`` if the :ref:`stream` is an :ref:`AudioStreamInteractive`, since it can have multiple clips playing at once. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_audiostreamplayer2d.rst b/classes/zh_CN/class_audiostreamplayer2d.rst index e1603902d3..128bc27b7d 100644 --- a/classes/zh_CN/class_audiostreamplayer2d.rst +++ b/classes/zh_CN/class_audiostreamplayer2d.rst @@ -5,8 +5,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamPlayer2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlayer2D.xml. .. _class_AudioStreamPlayer2D: @@ -72,6 +72,8 @@ AudioStreamPlayer2D +----------------------------------------------------+------------------------------------------------------------------------------+---------------+ | :ref:`float` | :ref:`volume_db` | ``0.0`` | +----------------------------------------------------+------------------------------------------------------------------------------+---------------+ + | :ref:`float` | :ref:`volume_linear` | | + +----------------------------------------------------+------------------------------------------------------------------------------+---------------+ .. rst-class:: classref-reftable-group @@ -286,6 +288,7 @@ AudioStreamPlayer2D .. rst-class:: classref-property-setget +- |void| **set_playing**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_playing**\ (\ ) 如果为 ``true``\ ,则音频正在播放,或者已加入播放队列(见 :ref:`play`\ )。 @@ -339,7 +342,26 @@ AudioStreamPlayer2D - |void| **set_volume_db**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_volume_db**\ (\ ) -衰减前的基础音量。 +Base volume before attenuation, in decibels. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayer2D_property_volume_linear: + +.. rst-class:: classref-property + +:ref:`float` **volume_linear** :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_volume_linear**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_volume_linear**\ (\ ) + +Base volume before attenuation, as a linear value. + +\ **Note:** This member modifies :ref:`volume_db` for convenience. The returned value is equivalent to the result of :ref:`@GlobalScope.db_to_linear` on :ref:`volume_db`. Setting this member is equivalent to setting :ref:`volume_db` to the result of :ref:`@GlobalScope.linear_to_db` on a value. .. rst-class:: classref-section-separator diff --git a/classes/zh_CN/class_audiostreamplayer3d.rst b/classes/zh_CN/class_audiostreamplayer3d.rst index 692adb8598..2a92c93393 100644 --- a/classes/zh_CN/class_audiostreamplayer3d.rst +++ b/classes/zh_CN/class_audiostreamplayer3d.rst @@ -5,8 +5,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamPlayer3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPlayer3D.xml. .. _class_AudioStreamPlayer3D: @@ -88,6 +88,8 @@ AudioStreamPlayer3D +--------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+---------------+ | :ref:`float` | :ref:`volume_db` | ``0.0`` | +--------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+---------------+ + | :ref:`float` | :ref:`volume_linear` | | + +--------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+---------------+ .. rst-class:: classref-reftable-group @@ -502,6 +504,7 @@ enum **DopplerTracking**: :ref:`🔗` .. rst-class:: classref-property-setget +- |void| **set_playing**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_playing**\ (\ ) 如果为 ``true``\ ,则音频正在播放,或者已加入播放队列(见 :ref:`play`\ )。 @@ -574,6 +577,25 @@ enum **DopplerTracking**: :ref:`🔗` 不受衰减影响的基础声级,单位为分贝。 +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayer3D_property_volume_linear: + +.. rst-class:: classref-property + +:ref:`float` **volume_linear** :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_volume_linear**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_volume_linear**\ (\ ) + +The base sound level before attenuation, as a linear value. + +\ **Note:** This member modifies :ref:`volume_db` for convenience. The returned value is equivalent to the result of :ref:`@GlobalScope.db_to_linear` on :ref:`volume_db`. Setting this member is equivalent to setting :ref:`volume_db` to the result of :ref:`@GlobalScope.linear_to_db` on a value. + .. rst-class:: classref-section-separator ---- diff --git a/classes/zh_CN/class_audiostreamplaylist.rst b/classes/zh_CN/class_audiostreamplaylist.rst index eab1d55dc8..843c79878e 100644 --- a/classes/zh_CN/class_audiostreamplaylist.rst +++ b/classes/zh_CN/class_audiostreamplaylist.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/interactive_music/doc_classes/AudioStreamPlaylist.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/interactive_music/doc_classes/AudioStreamPlaylist.xml. .. _class_AudioStreamPlaylist: diff --git a/classes/zh_CN/class_audiostreampolyphonic.rst b/classes/zh_CN/class_audiostreampolyphonic.rst index 7fa24e52dc..5ae2510838 100644 --- a/classes/zh_CN/class_audiostreampolyphonic.rst +++ b/classes/zh_CN/class_audiostreampolyphonic.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamPolyphonic.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamPolyphonic.xml. .. _class_AudioStreamPolyphonic: diff --git a/classes/zh_CN/class_audiostreamrandomizer.rst b/classes/zh_CN/class_audiostreamrandomizer.rst index 5dc55b84c7..d4ca2ec9a7 100644 --- a/classes/zh_CN/class_audiostreamrandomizer.rst +++ b/classes/zh_CN/class_audiostreamrandomizer.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamRandomizer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamRandomizer.xml. .. _class_AudioStreamRandomizer: diff --git a/classes/zh_CN/class_audiostreamsynchronized.rst b/classes/zh_CN/class_audiostreamsynchronized.rst index eb025835a5..eef973af1a 100644 --- a/classes/zh_CN/class_audiostreamsynchronized.rst +++ b/classes/zh_CN/class_audiostreamsynchronized.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/modules/interactive_music/doc_classes/AudioStreamSynchronized.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/interactive_music/doc_classes/AudioStreamSynchronized.xml. .. _class_AudioStreamSynchronized: @@ -19,7 +19,7 @@ AudioStreamSynchronized 描述 ---- -这是一种能够适配子音频流的音频流,子音频流会同步播放。按下播放时,各条音频流位于完全相同的时间,最后一条音频流结束播放后该音频流才会结束。如果存在循环的子音频流,那么播放就会继续。 +This is a stream that can be fitted with sub-streams, which will be played in-sync. The streams begin at exactly the same time when play is pressed, and will end when the last of them ends. If one of the sub-streams loops, then playback will continue. .. rst-class:: classref-reftable-group diff --git a/classes/zh_CN/class_audiostreamwav.rst b/classes/zh_CN/class_audiostreamwav.rst index ab7912bd26..5963fef4e5 100644 --- a/classes/zh_CN/class_audiostreamwav.rst +++ b/classes/zh_CN/class_audiostreamwav.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/AudioStreamWAV.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/AudioStreamWAV.xml. .. _class_AudioStreamWAV: @@ -62,9 +62,13 @@ AudioStreamWAV 存储从 WAV 文件加载的声音样本。要播放存储的声 .. table:: :widths: auto - +---------------------------------------+-------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`save_to_wav`\ (\ path\: :ref:`String`\ ) | - +---------------------------------------+-------------------------------------------------------------------------------------------------------+ + +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AudioStreamWAV` | :ref:`load_from_buffer`\ (\ stream_data\: :ref:`PackedByteArray`, options\: :ref:`Dictionary` = {}\ ) |static| | + +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AudioStreamWAV` | :ref:`load_from_file`\ (\ path\: :ref:`String`, options\: :ref:`Dictionary` = {}\ ) |static| | + +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`save_to_wav`\ (\ path\: :ref:`String`\ ) | + +---------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -87,7 +91,7 @@ enum **Format**: :ref:`🔗` :ref:`Format` **FORMAT_8_BITS** = ``0`` -8 位音频编解码器。 +8-bit PCM audio codec. .. _class_AudioStreamWAV_constant_FORMAT_16_BITS: @@ -95,7 +99,7 @@ enum **Format**: :ref:`🔗` :ref:`Format` **FORMAT_16_BITS** = ``1`` -16 位音频编解码器。 +16-bit PCM audio codec. .. _class_AudioStreamWAV_constant_FORMAT_IMA_ADPCM: @@ -103,7 +107,7 @@ enum **Format**: :ref:`🔗` :ref:`Format` **FORMAT_IMA_ADPCM** = ``2`` -音频使用 IMA ADPCM 进行压缩。 +Audio is lossily compressed as IMA ADPCM. .. _class_AudioStreamWAV_constant_FORMAT_QOA: @@ -111,7 +115,7 @@ enum **Format**: :ref:`🔗` :ref:`Format` **FORMAT_QOA** = ``3`` -音频按照 QOA 进行压缩(\ `Quite OK Audio `__\ )。 +Audio is lossily compressed as `Quite OK Audio `__. .. rst-class:: classref-item-separator @@ -175,9 +179,11 @@ enum **LoopMode**: :ref:`🔗` - |void| **set_data**\ (\ value\: :ref:`PackedByteArray`\ ) - :ref:`PackedByteArray` **get_data**\ (\ ) -包含以字节为单位的音频数据。 +Contains the audio data in bytes. -\ **注意:**\ 此属性需要有符号的 PCM8 数据。要将无符号的 PCM8 转换为有符号的 PCM8,需要从每个字节中减去 128。 +\ **Note:** If :ref:`format` is set to :ref:`FORMAT_8_BITS`, this property expects signed 8-bit PCM data. To convert from unsigned 8-bit PCM, subtract 128 from each byte. + +\ **Note:** If :ref:`format` is set to :ref:`FORMAT_QOA`, this property expects data from a full QOA file. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedByteArray` for more details. @@ -213,7 +219,7 @@ enum **LoopMode**: :ref:`🔗` - |void| **set_loop_begin**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_loop_begin**\ (\ ) -循环起始点(相对于该流开头的样本数)。如果 WAV 文件中存在此信息,则将自动导入。 +The loop start point (in number of samples, relative to the beginning of the stream). .. rst-class:: classref-item-separator @@ -230,7 +236,7 @@ enum **LoopMode**: :ref:`🔗` - |void| **set_loop_end**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_loop_end**\ (\ ) -循环结束点(相对于该流开头的样本数)。如果 WAV 文件中存在此信息,则将自动导入。 +The loop end point (in number of samples, relative to the beginning of the stream). .. rst-class:: classref-item-separator @@ -247,7 +253,7 @@ enum **LoopMode**: :ref:`🔗` - |void| **set_loop_mode**\ (\ value\: :ref:`LoopMode`\ ) - :ref:`LoopMode` **get_loop_mode**\ (\ ) -循环模式。如果 WAV 文件中存在此信息,则将自动导入。取值请参阅 :ref:`LoopMode` 常量。 +The loop mode. See :ref:`LoopMode` constants for values. .. rst-class:: classref-item-separator @@ -296,15 +302,60 @@ enum **LoopMode**: :ref:`🔗` 方法说明 -------- +.. _class_AudioStreamWAV_method_load_from_buffer: + +.. rst-class:: classref-method + +:ref:`AudioStreamWAV` **load_from_buffer**\ (\ stream_data\: :ref:`PackedByteArray`, options\: :ref:`Dictionary` = {}\ ) |static| :ref:`🔗` + +Creates a new **AudioStreamWAV** instance from the given buffer. The buffer must contain WAV data. + +The keys and values of ``options`` match the properties of :ref:`ResourceImporterWAV`. The usage of ``options`` is identical to :ref:`load_from_file`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamWAV_method_load_from_file: + +.. rst-class:: classref-method + +:ref:`AudioStreamWAV` **load_from_file**\ (\ path\: :ref:`String`, options\: :ref:`Dictionary` = {}\ ) |static| :ref:`🔗` + +Creates a new **AudioStreamWAV** instance from the given file path. The file must be in WAV format. + +The keys and values of ``options`` match the properties of :ref:`ResourceImporterWAV`. + +\ **Example:** Load the first file dropped as a WAV and play it: + +:: + + @onready var audio_player = $AudioStreamPlayer + + func _ready(): + get_window().files_dropped.connect(_on_files_dropped) + + func _on_files_dropped(files): + if files[0].get_extension() == "wav": + audio_player.stream = AudioStreamWAV.load_from_file(files[0], { + "force/max_rate": true, + "force/max_rate_hz": 11025 + }) + audio_player.play() + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioStreamWAV_method_save_to_wav: .. rst-class:: classref-method :ref:`Error` **save_to_wav**\ (\ path\: :ref:`String`\ ) :ref:`🔗` -将 AudioStreamWAV 作为 WAV 文件保存到 ``path``\ 。无法保存 IMA ADPCM 或 QOA 格式的样本。 +Saves the AudioStreamWAV as a WAV file to ``path``. Samples with IMA ADPCM or Quite OK Audio formats can't be saved. -\ **注意:**\ 如果缺少 ``.wav`` 扩展名,则会自动将其追加到 ``path``\ 。 +\ **Note:** A ``.wav`` extension is automatically appended to ``path`` if it is missing. .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` diff --git a/classes/zh_CN/class_backbuffercopy.rst b/classes/zh_CN/class_backbuffercopy.rst index 4926637fb8..5ba64d1f5a 100644 --- a/classes/zh_CN/class_backbuffercopy.rst +++ b/classes/zh_CN/class_backbuffercopy.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BackBufferCopy.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BackBufferCopy.xml. .. _class_BackBufferCopy: @@ -23,6 +23,13 @@ BackBufferCopy \ **注意:**\ 由于该节点继承自 :ref:`Node2D`\ (而非 :ref:`Control`\ ),因此锚点和边距不适用于子 :ref:`Control` 派生节点。这在调整窗口大小时可能会出现问题。为避免这种情况,请将 :ref:`Control` 派生节点添加为 **BackBufferCopy** 节点的\ *同级*\ 节点,而不是将它们添加为子节点。 +.. rst-class:: classref-introduction-group + +教程 +---- + +- :doc:`Screen-reading shaders <../tutorials/shaders/screen-reading_shaders>` + .. rst-class:: classref-reftable-group 属性 diff --git a/classes/zh_CN/class_basebutton.rst b/classes/zh_CN/class_basebutton.rst index 57f24c01ef..f726f8fbca 100644 --- a/classes/zh_CN/class_basebutton.rst +++ b/classes/zh_CN/class_basebutton.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BaseButton.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BaseButton.xml. .. _class_BaseButton: @@ -286,9 +286,9 @@ enum **ActionMode**: :ref:`🔗` - |void| **set_pressed**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_pressed**\ (\ ) -如果为 ``true``\ ,则该按钮的状态为被按下。表示按钮被按下或被切换(如果 :ref:`toggle_mode` 处于活动状态)。仅当 :ref:`toggle_mode` 为 ``true`` 时才有效。 +If ``true``, the button's state is pressed. Means the button is pressed down or toggled (if :ref:`toggle_mode` is active). Only works if :ref:`toggle_mode` is ``true``. -\ **注意:**\ 设置 :ref:`button_pressed` 将导致 :ref:`toggled` 被发出。如果想在不发出该信号的情况下更改按下状态,请使用 :ref:`set_pressed_no_signal`\ 。 +\ **Note:** Changing the value of :ref:`button_pressed` will result in :ref:`toggled` to be emitted. If you want to change the pressed state without emitting that signal, use :ref:`set_pressed_no_signal`. .. rst-class:: classref-item-separator @@ -375,7 +375,9 @@ enum **ActionMode**: :ref:`🔗` - |void| **set_shortcut_in_tooltip**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_shortcut_in_tooltip_enabled**\ (\ ) -如果为 ``true``\ ,按钮将在工具提示中添加其快捷方式的信息。 +If ``true``, the button will add information about its shortcut in the tooltip. + +\ **Note:** This property does nothing when the tooltip control is customized using :ref:`Control._make_custom_tooltip`. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_basematerial3d.rst b/classes/zh_CN/class_basematerial3d.rst index a2d8cd0449..b6330405cd 100644 --- a/classes/zh_CN/class_basematerial3d.rst +++ b/classes/zh_CN/class_basematerial3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BaseMaterial3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BaseMaterial3D.xml. .. _class_BaseMaterial3D: @@ -645,7 +645,7 @@ enum **ShadingMode**: :ref:`🔗` :ref:`ShadingMode` **SHADING_MODE_PER_VERTEX** = ``2`` -对象将逐顶点进行着色。当想要更便宜的着色器并且不关心视觉质量时很有用。尚未实现(该模式的行为类似于 :ref:`SHADING_MODE_PER_PIXEL`\ )。 +The object will be shaded per vertex. Useful when you want cheaper shaders and do not care about visual quality. .. _class_BaseMaterial3D_constant_SHADING_MODE_MAX: @@ -1536,11 +1536,11 @@ Alpha 剪刀将丢弃值的阈值。较高的值将导致更多像素被丢弃 - |void| **set_feature**\ (\ feature\: :ref:`Feature`, enable\: :ref:`bool`\ ) - :ref:`bool` **get_feature**\ (\ feature\: :ref:`Feature`\ ) |const| -如果为 ``true``\ ,则启用各向异性。各向异性会改变镜面反射斑点的形状并将其与切线空间对齐。可用于拉丝铝材和毛发反射。 +If ``true``, anisotropy is enabled. Anisotropy changes the shape of the specular blob and aligns it to tangent space. This is useful for brushed aluminum and hair reflections. -\ **注意:**\ 各向异性需要网格切线才能正常工作。如果网格中不包含切线,则各向异性效果会显得破碎。 +\ **Note:** Mesh tangents are needed for anisotropy to work. If the mesh does not contain tangents, the anisotropy effect will appear broken. -\ **注意:**\ 材质的各向异性不应与各向异性纹理过滤相混淆,后者可以通过将 :ref:`texture_filter` 设置为 :ref:`TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC` 来启用。 +\ **Note:** Material anisotropy should not to be confused with anisotropic texture filtering, which can be enabled by setting :ref:`texture_filter` to :ref:`TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC`. .. rst-class:: classref-item-separator @@ -1729,11 +1729,9 @@ Alpha 剪刀将丢弃值的阈值。较高的值将导致更多像素被丢弃 - |void| **set_billboard_mode**\ (\ value\: :ref:`BillboardMode`\ ) - :ref:`BillboardMode` **get_billboard_mode**\ (\ ) -控制该对象如何面对相机。见 :ref:`BillboardMode`\ 。 +Controls how the object faces the camera. See :ref:`BillboardMode`. -\ **注意:**\ 当启用公告板并且材质也投射阴影时,渲染阴影时公告板将面向场景中的\ **这个**\ 相机。在具有多个相机的场景中,无法确定预期的阴影,这将导致未定义的行为。有关详细信息,请参阅 `GitHub 拉取请求 #72638 `__\ 。 - -\ **注意:**\ 公告板模式不适合 VR,因为当屏幕贴在你的头上而不是在桌子上时,相机的左右向量不是水平的。详见 `GitHub issue #41567 `__\ 。 +\ **Note:** Billboard mode is not suitable for VR because the left-right vector of the camera is not horizontal when the screen is attached to your head instead of on the table. See `GitHub issue #41567 `__ for details. .. rst-class:: classref-item-separator @@ -2738,7 +2736,9 @@ Alpha 剪刀将丢弃值的阈值。较高的值将导致更多像素被丢弃 - |void| **set_feature**\ (\ feature\: :ref:`Feature`, enable\: :ref:`bool`\ ) - :ref:`bool` **get_feature**\ (\ feature\: :ref:`Feature`\ ) |const| -如果为 ``true``\ ,则启用折射效果。根据来自对象后面的光线来扭曲透明度。 +If ``true``, the refraction effect is enabled. Distorts transparency based on light from behind the object. + +\ **Note:** Refraction is implemented using the screen texture. Only opaque materials will appear in the refraction, since transparent materials do not appear in the screen texture. .. rst-class:: classref-item-separator @@ -2927,9 +2927,7 @@ Alpha 剪刀将丢弃值的阈值。较高的值将导致更多像素被丢弃 - |void| **set_shading_mode**\ (\ value\: :ref:`ShadingMode`\ ) - :ref:`ShadingMode` **get_shading_mode**\ (\ ) -设置是否发生着色,逐像素、逐顶点或无阴影。逐顶点时照明速度更快,使其成为移动应用程序的最佳选择,但它看起来比逐像素时差很多。无阴影渲染是最快的,但会禁用与灯光的所有交互。 - -\ **注意:**\ 设置着色模式为顶点着色时目前没有效果,因为顶点着色还没有实现。 +Sets whether the shading takes place, per-pixel, per-vertex or unshaded. Per-vertex lighting is faster, making it the best choice for mobile applications, however it looks considerably worse than per-pixel. Unshaded rendering is the fastest, but disables all interactions with lights. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_basis.rst b/classes/zh_CN/class_basis.rst index 81389e01ba..3281fd7747 100644 --- a/classes/zh_CN/class_basis.rst +++ b/classes/zh_CN/class_basis.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Basis.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Basis.xml. .. _class_Basis: @@ -17,17 +17,27 @@ Basis 描述 ---- -**Basis** 内置 :ref:`Variant` 类型是一种 3×3 `矩阵 `__\ ,用于表示 3D 旋转、缩放和倾斜。常用于 :ref:`Transform3D`\ 。 +The **Basis** built-in :ref:`Variant` type is a 3×3 `matrix `__ used to represent 3D rotation, scale, and shear. It is frequently used within a :ref:`Transform3D`. -\ **Basis** 由 3 个轴向量组成,每个轴向量代表矩阵的一列:\ :ref:`x`\ 、\ :ref:`y` 和 :ref:`z`\ 。每个轴的长度(\ :ref:`Vector3.length`\ )都会影响该基的缩放,而所有轴的方向将影响旋转。通常,这些轴彼此垂直。但是,当你单独旋转任意轴时,该基会产生倾斜。对 3D 模型应用倾斜后的基会使模型发生变形。 +A **Basis** is composed by 3 axis vectors, each representing a column of the matrix: :ref:`x`, :ref:`y`, and :ref:`z`. The length of each axis (:ref:`Vector3.length`) influences the basis's scale, while the direction of all axes influence the rotation. Usually, these axes are perpendicular to one another. However, when you rotate any axis individually, the basis becomes sheared. Applying a sheared basis to a 3D model will make the model appear distorted. -如果 **Basis** 的轴彼此垂直,则它是\ **正交的**\ 。如果每个轴的长度为 ``1``\ ,则该基是\ **归一化的**\ 。如果所有轴共享相同的长度,则该基是\ **均匀的**\ (请参阅 :ref:`get_scale`\ )。如果一个基既是正交的又是归一化的,则它是\ **正交归一的**\ ,这使得它只能表示旋转。如果一个基既正交又均匀,那么它就是\ **共形的**\ ,这确保了它不被扭曲。 +A **Basis** is: -通用介绍见教程\ :doc:`《矩阵与变换》 <../tutorials/math/matrices_and_transforms>`\ 。 +- **Orthogonal** if its axes are perpendicular to each other. -\ **注意:**\ Godot 使用\ `右手坐标系 `__\ ,这是一种普遍标准。方向方面,\ :ref:`Camera3D` 等内置类型的约定是 -Z 指向前方(+X 为右、+Y 为上、+Z 为后)。其他对象可能使用不同的方向约定。更多信息见教程\ `《3D 资产方向惯例》 <../tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.html#d-asset-direction-conventions>`__ 。 +- **Normalized** if the length of every axis is ``1.0``. -\ **注意:**\ 基矩阵按\ `列为主 `__\ 的顺序公开,这与 OpenGL 一致。但是内部使用行为主的顺序存储,这与 DirectX 一致。 +- **Uniform** if all axes share the same length (see :ref:`get_scale`). + +- **Orthonormal** if it is both orthogonal and normalized, which allows it to only represent rotations (see :ref:`orthonormalized`). + +- **Conformal** if it is both orthogonal and uniform, which ensures it is not distorted. + +For a general introduction, see the :doc:`Matrices and transforms <../tutorials/math/matrices_and_transforms>` tutorial. + +\ **Note:** Godot uses a `right-handed coordinate system `__, which is a common standard. For directions, the convention for built-in types like :ref:`Camera3D` is for -Z to point forward (+X is right, +Y is up, and +Z is back). Other objects may use different direction conventions. For more information, see the `3D asset direction conventions <../tutorials/assets_pipeline/importing_3d_scenes/model_export_considerations.html#d-asset-direction-conventions>`__ tutorial. + +\ **Note:** The basis matrices are exposed as `column-major `__ order, which is the same as OpenGL. However, they are stored internally in row-major order, which is the same as DirectX. .. note:: @@ -179,28 +189,30 @@ Basis **IDENTITY** = ``Basis(1, 0, 0, 0, 1, 0, 0, 0, 1)`` :ref:`🔗` -单位基。这是一个没有旋转、没有倾斜的基,其缩放为 ``1``\ 。这意味着: +The identity **Basis**. This is an orthonormal basis with no rotation, no shear, and a scale of :ref:`Vector3.ONE`. This also means that: -- :ref:`x` 指向右侧(\ :ref:`Vector3.RIGHT`\ ); +- The :ref:`x` points right (:ref:`Vector3.RIGHT`); -- :ref:`y` 指向上方(\ :ref:`Vector3.UP`\ ); +- The :ref:`y` points up (:ref:`Vector3.UP`); -- :ref:`z` 指向后面(\ :ref:`Vector3.BACK`\ )。 +- The :ref:`z` points back (:ref:`Vector3.BACK`). :: - var basis := Basis.IDENTITY + var basis = Basis.IDENTITY print("| X | Y | Z") - print("| %s | %s | %s" % [basis.x.x, basis.y.x, basis.z.x]) - print("| %s | %s | %s" % [basis.x.y, basis.y.y, basis.z.y]) - print("| %s | %s | %s" % [basis.x.z, basis.y.z, basis.z.z]) - # 输出: + print("| %.f | %.f | %.f" % [basis.x.x, basis.y.x, basis.z.x]) + print("| %.f | %.f | %.f" % [basis.x.y, basis.y.y, basis.z.y]) + print("| %.f | %.f | %.f" % [basis.x.z, basis.y.z, basis.z.z]) + # Prints: # | X | Y | Z # | 1 | 0 | 0 # | 0 | 1 | 0 # | 0 | 0 | 1 -这与创建没有任何参数的 :ref:`Basis` 相同。该常量可用于使你的代码更清晰,并与 C# 保持一致。 +If a :ref:`Vector3` or another **Basis** is transformed (multiplied) by this constant, no transformation occurs. + +\ **Note:** In GDScript, this constant is equivalent to creating a :ref:`Basis` without any arguments. It can be used to make your code clearer, and for consistency with C#. .. _class_Basis_constant_FLIP_X: @@ -294,7 +306,9 @@ Basis :ref:`Basis` **Basis**\ (\ ) :ref:`🔗` -构造一个与 :ref:`IDENTITY` 相同的 **Basis**\ 。 +Constructs a **Basis** identical to :ref:`IDENTITY`. + +\ **Note:** In C#, this constructs a **Basis** with all of its components set to :ref:`Vector3.ZERO`. .. rst-class:: classref-item-separator @@ -355,13 +369,13 @@ Basis :ref:`float` **determinant**\ (\ ) |const| :ref:`🔗` -返回基矩阵的\ `行列式 `__\ 。在高等数学中,这个数可以用来确定一些性质: +Returns the `determinant `__ of this basis's matrix. For advanced math, this number can be used to determine a few attributes: -- 如果行列式为 ``0``\ ,则基不可逆(见 :ref:`inverse`\ )。 +- If the determinant is exactly ``0.0``, the basis is not invertible (see :ref:`inverse`). -- 如果行列式为负数,则基表示负缩放。 +- If the determinant is a negative number, the basis represents a negative scale. -\ **注意:**\ 如果基的每个轴缩放都相同,那么这个行列式始终为 2 的该缩放次幂。 +\ **Note:** If the basis's scale is the same for every axis, its determinant is always that scale by the power of 2. .. rst-class:: classref-item-separator @@ -373,34 +387,34 @@ Basis :ref:`Basis` **from_euler**\ (\ euler\: :ref:`Vector3`, order\: :ref:`int` = 2\ ) |static| :ref:`🔗` -根据给定的 :ref:`Vector3` 构造 **Basis**\ ,这个向量为 `欧拉角 `__\ ,单位为弧度。 +Constructs a new **Basis** that only represents rotation from the given :ref:`Vector3` of `Euler angles `__, in radians. -- :ref:`Vector3.x` 应包含围绕 :ref:`x` 轴的角度(俯仰)。 +- The :ref:`Vector3.x` should contain the angle around the :ref:`x` axis (pitch); -- :ref:`Vector3.y` 应包含围绕 :ref:`y` 轴的角度(偏摆)。 +- The :ref:`Vector3.y` should contain the angle around the :ref:`y` axis (yaw); -- :ref:`Vector3.z` 应包含围绕 :ref:`z` 轴的角度(翻滚)。 +- The :ref:`Vector3.z` should contain the angle around the :ref:`z` axis (roll). .. tabs:: .. code-tab:: gdscript - # 创建 Z 轴向下的 Basis。 + # Creates a Basis whose z axis points down. var my_basis = Basis.from_euler(Vector3(TAU / 4, 0, 0)) - print(my_basis.z) # 输出 (0, -1, 0)。 + print(my_basis.z) # Prints (0.0, -1.0, 0.0) .. code-tab:: csharp - // 创建 Z 轴向下的 Basis。 + // Creates a Basis whose z axis points down. var myBasis = Basis.FromEuler(new Vector3(Mathf.Tau / 4.0f, 0.0f, 0.0f)); - GD.Print(myBasis.Z); // 输出 (0, -1, 0)。 + GD.Print(myBasis.Z); // Prints (0, -1, 0) -连续旋转的顺序可以通过 ``order`` 修改(见 :ref:`EulerOrder` 常量)。默认使用 YXZ 约定(\ :ref:`@GlobalScope.EULER_ORDER_YXZ`\ ):基首先围绕 Y 轴旋转(偏摆),然后围绕 X 轴旋转(俯仰),最后围绕 Z 轴旋转(翻滚)。这个顺序在相对的函数 :ref:`get_euler` 中是相反的。 +The order of each consecutive rotation can be changed with ``order`` (see :ref:`EulerOrder` constants). By default, the YXZ convention is used (:ref:`@GlobalScope.EULER_ORDER_YXZ`): the basis rotates first around the Y axis (yaw), then X (pitch), and lastly Z (roll). When using the opposite method :ref:`get_euler`, this order is reversed. .. rst-class:: classref-item-separator @@ -412,7 +426,7 @@ Basis :ref:`Basis` **from_scale**\ (\ scale\: :ref:`Vector3`\ ) |static| :ref:`🔗` -根据给定的 ``scale`` 向量构造仅表示缩放的 **Basis**\ ,不包含旋转和倾斜。 +Constructs a new **Basis** that only represents scale, with no rotation or shear, from the given ``scale`` vector. .. tabs:: @@ -421,21 +435,21 @@ Basis var my_basis = Basis.from_scale(Vector3(2, 4, 8)) - print(my_basis.x) # 输出 (2, 0, 0). - print(my_basis.y) # 输出 (0, 4, 0). - print(my_basis.z) # 输出 (0, 0, 8). + print(my_basis.x) # Prints (2.0, 0.0, 0.0) + print(my_basis.y) # Prints (0.0, 4.0, 0.0) + print(my_basis.z) # Prints (0.0, 0.0, 8.0) .. code-tab:: csharp var myBasis = Basis.FromScale(new Vector3(2.0f, 4.0f, 8.0f)); - GD.Print(myBasis.X); // 输出 (2, 0, 0). - GD.Print(myBasis.Y); // 输出 (0, 4, 0). - GD.Print(myBasis.Z); // 输出 (0, 0, 8). + GD.Print(myBasis.X); // Prints (2, 0, 0) + GD.Print(myBasis.Y); // Prints (0, 4, 0) + GD.Print(myBasis.Z); // Prints (0, 0, 8) -\ **注意:**\ 在线性代数中,这种基矩阵也被称作\ `对角矩阵 `__\ 。 +\ **Note:** In linear algebra, the matrix of this basis is also known as a `diagonal matrix `__. .. rst-class:: classref-item-separator @@ -447,19 +461,21 @@ Basis :ref:`Vector3` **get_euler**\ (\ order\: :ref:`int` = 2\ ) |const| :ref:`🔗` -以 :ref:`Vector3` 的形式返回基的旋转,这个向量为 `欧拉角 `__\ ,单位为弧度。 +Returns this basis's rotation as a :ref:`Vector3` of `Euler angles `__, in radians. For the returned value: -- :ref:`Vector3.x` 包含围绕 :ref:`x` 轴的角度(俯仰)。 +- The :ref:`Vector3.x` contains the angle around the :ref:`x` axis (pitch); -- :ref:`Vector3.y` 包含围绕 :ref:`y` 轴的角度(偏摆)。 +- The :ref:`Vector3.y` contains the angle around the :ref:`y` axis (yaw); -- :ref:`Vector3.z` 包含围绕 :ref:`z` 轴的角度(翻滚)。 +- The :ref:`Vector3.z` contains the angle around the :ref:`z` axis (roll). -连续旋转的顺序可以通过 ``order`` 修改(见 :ref:`EulerOrder` 常量)。默认使用 YXZ 约定(\ :ref:`@GlobalScope.EULER_ORDER_YXZ`\ ):首先计算围绕 Z 轴的旋转(翻滚),然后计算围绕 X 轴的旋转(俯仰),最后计算围绕 Y 轴旋转(偏摆)。这个顺序在相对的函数 :ref:`from_euler` 中是相反的。 +The order of each consecutive rotation can be changed with ``order`` (see :ref:`EulerOrder` constants). By default, the YXZ convention is used (:ref:`@GlobalScope.EULER_ORDER_YXZ`): Z (roll) is calculated first, then X (pitch), and lastly Y (yaw). When using the opposite method :ref:`from_euler`, this order is reversed. -\ **注意:**\ 欧拉角更符合直觉,但是并不适合 3D 数学。因此请考虑改用返回 :ref:`Quaternion` 的 :ref:`get_rotation_quaternion`\ 。 +\ **Note:** For this method to return correctly, the basis needs to be *orthonormal* (see :ref:`orthonormalized`). -\ **注意:**\ 在检查器面板中,基的旋转通常是以欧拉角的形式显示的(单位为度),与 :ref:`Node3D.rotation` 属性相同。 +\ **Note:** Euler angles are much more intuitive but are not suitable for 3D math. Because of this, consider using the :ref:`get_rotation_quaternion` method instead, which returns a :ref:`Quaternion`. + +\ **Note:** In the Inspector dock, a basis's rotation is often displayed in Euler angles (in degrees), as is the case with the :ref:`Node3D.rotation` property. .. rst-class:: classref-item-separator @@ -471,9 +487,9 @@ Basis :ref:`Quaternion` **get_rotation_quaternion**\ (\ ) |const| :ref:`🔗` -以 :ref:`Quaternion` 的形式返回基的旋转。 +Returns this basis's rotation as a :ref:`Quaternion`. -\ **注意:**\ 四元数更适合 3D 数学,但是并不那么符合直觉。用户界面相关的场合请考虑使用返回欧拉角的 :ref:`get_euler` 方法。 +\ **Note:** Quaternions are much more suitable for 3D math but are less intuitive. For user interfaces, consider using the :ref:`get_euler` method, which returns Euler angles. .. rst-class:: classref-item-separator @@ -485,7 +501,7 @@ Basis :ref:`Vector3` **get_scale**\ (\ ) |const| :ref:`🔗` -返回该基的每个轴的长度,作为一个 :ref:`Vector3`\ 。如果该基未经倾斜,这就是缩放系数。它不受旋转的影响。 +Returns the length of each axis of this basis, as a :ref:`Vector3`. If the basis is not sheared, this value is the scaling factor. It is not affected by rotation. .. tabs:: @@ -497,11 +513,11 @@ Basis Vector3(0, 4, 0), Vector3(0, 0, 8) ) - # 以任何方式旋转基都会保持其缩放。 + # Rotating the Basis in any way preserves its scale. my_basis = my_basis.rotated(Vector3.UP, TAU / 2) my_basis = my_basis.rotated(Vector3.RIGHT, TAU / 4) - print(my_basis.get_scale()) # 输出 (2, 4, 8)。 + print(my_basis.get_scale()) # Prints (2.0, 4.0, 8.0) .. code-tab:: csharp @@ -510,15 +526,15 @@ Basis Vector3(0.0f, 4.0f, 0.0f), Vector3(0.0f, 0.0f, 8.0f) ); - // 以任何方式旋转基都会保持其缩放。 + // Rotating the Basis in any way preserves its scale. myBasis = myBasis.Rotated(Vector3.Up, Mathf.Tau / 2.0f); myBasis = myBasis.Rotated(Vector3.Right, Mathf.Tau / 4.0f); - GD.Print(myBasis.Scale); // 输出 (2, 4, 8)。 + GD.Print(myBasis.Scale); // Prints (2, 4, 8) -\ **注意:**\ 如果 :ref:`determinant` 返回的值为负数,则缩放也为负数。 +\ **Note:** If the value returned by :ref:`determinant` is negative, the scale is also negative. .. rst-class:: classref-item-separator @@ -578,11 +594,13 @@ Basis :ref:`Basis` **looking_at**\ (\ target\: :ref:`Vector3`, up\: :ref:`Vector3` = Vector3(0, 1, 0), use_model_front\: :ref:`bool` = false\ ) |static| :ref:`🔗` -创建一个带有旋转的新 **Basis**\ ,使向前轴(-Z)指向 ``target`` 的位置。 +Creates a new **Basis** with a rotation such that the forward axis (-Z) points towards the ``target`` position. -默认情况下,-Z 轴(相机向前)被视为向前(意味着 +X 位于右侧)。如果 ``use_model_front`` 为 ``true``\ ,则 +Z 轴(资产正面)被视为向前(意味着 +X 位于左侧)并指向 ``target`` 的位置。 +By default, the -Z axis (camera forward) is treated as forward (implies +X is right). If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forward (implies +X is left) and points toward the ``target`` position. -向上轴(+Y)尽可能靠近 ``up`` 向量,同时保持垂直于向前轴。返回的基是正交归一化的(参见 :ref:`orthonormalized`\ )。\ ``target`` 和 ``up`` 向量不能是 :ref:`Vector3.ZERO`\ ,并且不能彼此平行。 +The up axis (+Y) points as close to the ``up`` vector as possible while staying perpendicular to the forward axis. The returned basis is orthonormalized (see :ref:`orthonormalized`). + +The ``target`` and the ``up`` cannot be :ref:`Vector3.ZERO`, and shouldn't be colinear to avoid unintended rotation around local Z axis. .. rst-class:: classref-item-separator @@ -594,16 +612,16 @@ Basis :ref:`Basis` **orthonormalized**\ (\ ) |const| :ref:`🔗` -返回该基的正交归一化版本。正交归一化基既是\ *正交的*\ (轴彼此垂直)又是\ *归一化的*\ (轴长度为 ``1``\ ),这也意味着它只能代表旋转。 +Returns the orthonormalized version of this basis. An orthonormal basis is both *orthogonal* (the axes are perpendicular to each other) and *normalized* (the axes have a length of ``1.0``), which also means it can only represent a rotation. -调用该方法通常很有用,以避免旋转基上的舍入错误: +It is often useful to call this method to avoid rounding errors on a rotating basis: .. tabs:: .. code-tab:: gdscript - # 每帧旋转该 Node3D。 + # Rotate this Node3D every frame. func _process(delta): basis = basis.rotated(Vector3.UP, TAU * delta) basis = basis.rotated(Vector3.RIGHT, TAU * delta) @@ -612,7 +630,7 @@ Basis .. code-tab:: csharp - // 每帧旋转该 Node3D。 + // Rotate this Node3D every frame. public override void _Process(double delta) { Basis = Basis.Rotated(Vector3.Up, Mathf.Tau * (float)delta) @@ -632,9 +650,9 @@ Basis :ref:`Basis` **rotated**\ (\ axis\: :ref:`Vector3`, angle\: :ref:`float`\ ) |const| :ref:`🔗` -返回围绕给定 ``axis`` 旋转 ``angle``\ (单位为弧度)的基。\ ``axis`` 必须是归一化的向量(请参阅 :ref:`Vector3.normalized`\ )。 +Returns a copy of this basis rotated around the given ``axis`` by the given ``angle`` (in radians). -正值绕该轴顺时针旋转该基,而负值则逆时针旋转该基。 +The ``axis`` must be a normalized vector (see :ref:`Vector3.normalized`). If ``angle`` is positive, the basis is rotated counter-clockwise around the axis. .. tabs:: @@ -644,18 +662,18 @@ Basis var my_basis = Basis.IDENTITY var angle = TAU / 2 - my_basis = my_basis.rotated(Vector3.UP, angle) # 绕向上轴旋转(偏航)。 - my_basis = my_basis.rotated(Vector3.RIGHT, angle) # 绕向右轴旋转(俯仰)。 - my_basis = my_basis.rotated(Vector3.BACK, angle) # 绕向后轴旋转(滚动)。 + my_basis = my_basis.rotated(Vector3.UP, angle) # Rotate around the up axis (yaw). + my_basis = my_basis.rotated(Vector3.RIGHT, angle) # Rotate around the right axis (pitch). + my_basis = my_basis.rotated(Vector3.BACK, angle) # Rotate around the back axis (roll). .. code-tab:: csharp var myBasis = Basis.Identity; var angle = Mathf.Tau / 2.0f; - myBasis = myBasis.Rotated(Vector3.Up, angle); // 绕向上轴旋转(偏航)。 - myBasis = myBasis.Rotated(Vector3.Right, angle); // 绕向右轴旋转(俯仰)。 - myBasis = myBasis.Rotated(Vector3.Back, angle); // 绕向后轴旋转(滚动)。 + myBasis = myBasis.Rotated(Vector3.Up, angle); // Rotate around the up axis (yaw). + myBasis = myBasis.Rotated(Vector3.Right, angle); // Rotate around the right axis (pitch). + myBasis = myBasis.Rotated(Vector3.Back, angle); // Rotate around the back axis (roll). @@ -669,9 +687,9 @@ Basis :ref:`Basis` **scaled**\ (\ scale\: :ref:`Vector3`\ ) |const| :ref:`🔗` -返回该基,其中每个轴的分量都按给定的 ``scale`` 的分量缩放。 +Returns this basis with each axis's components scaled by the given ``scale``'s components. -该基矩阵的行乘以 ``scale`` 的分量。该操作是全局缩放(相对于父级)。 +The basis matrix's rows are multiplied by ``scale``'s components. This operation is a global scale (relative to the parent). .. tabs:: @@ -685,9 +703,9 @@ Basis ) my_basis = my_basis.scaled(Vector3(0, 2, -2)) - print(my_basis.x) # 输出 (0, 2, -2). - print(my_basis.y) # 输出 (0, 4, -4). - print(my_basis.z) # 输出 (0, 6, -6). + print(my_basis.x) # Prints (0.0, 2.0, -2.0) + print(my_basis.y) # Prints (0.0, 4.0, -4.0) + print(my_basis.z) # Prints (0.0, 6.0, -6.0) .. code-tab:: csharp @@ -698,9 +716,9 @@ Basis ); myBasis = myBasis.Scaled(new Vector3(0.0f, 2.0f, -2.0f)); - GD.Print(myBasis.X); // 输出 (0, 2, -2). - GD.Print(myBasis.Y); // 输出 (0, 4, -4). - GD.Print(myBasis.Z); // 输出 (0, 6, -6). + GD.Print(myBasis.X); // Prints (0, 2, -2) + GD.Print(myBasis.Y); // Prints (0, 4, -4) + GD.Print(myBasis.Z); // Prints (0, 6, -6) @@ -714,9 +732,9 @@ Basis :ref:`Basis` **slerp**\ (\ to\: :ref:`Basis`, weight\: :ref:`float`\ ) |const| :ref:`🔗` -使用 ``to`` 基在给定 ``weight`` 的情况下执行球面线性插值。该基和 ``to`` 两者都应该代表一个旋转。 +Performs a spherical-linear interpolation with the ``to`` basis, given a ``weight``. Both this basis and ``to`` should represent a rotation. -\ **示例:**\ 使用 :ref:`Tween` 随时间平滑地将 :ref:`Node3D` 旋转到目标基。 +\ **Example:** Smoothly rotate a :ref:`Node3D` to the target basis over time, with a :ref:`Tween`: :: @@ -781,7 +799,7 @@ Basis :ref:`Basis` **transposed**\ (\ ) |const| :ref:`🔗` -返回该基的转置版本。这会将基矩阵的列转换为行,并将其行转换为列。 +Returns the transposed version of this basis. This turns the basis matrix's columns into rows, and its rows into columns. .. tabs:: @@ -795,9 +813,9 @@ Basis ) my_basis = my_basis.transposed() - print(my_basis.x) # 输出 (1, 4, 7). - print(my_basis.y) # 输出 (2, 5, 8). - print(my_basis.z) # 输出 (3, 6, 9). + print(my_basis.x) # Prints (1.0, 4.0, 7.0) + print(my_basis.y) # Prints (2.0, 5.0, 8.0) + print(my_basis.z) # Prints (3.0, 6.0, 9.0) .. code-tab:: csharp @@ -808,9 +826,9 @@ Basis ); myBasis = myBasis.Transposed(); - GD.Print(myBasis.X); // 输出 (1, 4, 7). - GD.Print(myBasis.Y); // 输出 (2, 5, 8). - GD.Print(myBasis.Z); // 输出 (3, 6, 9). + GD.Print(myBasis.X); // Prints (1, 4, 7) + GD.Print(myBasis.Y); // Prints (2, 5, 8) + GD.Print(myBasis.Z); // Prints (3, 6, 9) @@ -857,22 +875,22 @@ Basis :ref:`Vector3` **operator ***\ (\ right\: :ref:`Vector3`\ ) :ref:`🔗` -由该基变换(乘以)\ ``right`` 向量,返回一个 :ref:`Vector3`\ 。 +Transforms (multiplies) the ``right`` vector by this basis, returning a :ref:`Vector3`. .. tabs:: .. code-tab:: gdscript - # 交换 X/Z 轴并使缩放加倍的基。 + # Basis that swaps the X/Z axes and doubles the scale. var my_basis = Basis(Vector3(0, 2, 0), Vector3(2, 0, 0), Vector3(0, 0, 2)) - print(my_basis * Vector3(1, 2, 3)) # 输出 (4, 2, 6) + print(my_basis * Vector3(1, 2, 3)) # Prints (4.0, 2.0, 6.0) .. code-tab:: csharp - // 交换 X/Z 轴并使缩放加倍的基。 + // Basis that swaps the X/Z axes and doubles the scale. var myBasis = new Basis(new Vector3(0, 2, 0), new Vector3(2, 0, 0), new Vector3(0, 0, 2)); - GD.Print(myBasis * new Vector3(1, 2, 3)); // 输出 (4, 2, 6) + GD.Print(myBasis * new Vector3(1, 2, 3)); // Prints (4, 2, 6) diff --git a/classes/zh_CN/class_bitmap.rst b/classes/zh_CN/class_bitmap.rst index 4208dc47c9..85c0a38b6f 100644 --- a/classes/zh_CN/class_bitmap.rst +++ b/classes/zh_CN/class_bitmap.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BitMap.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BitMap.xml. .. _class_BitMap: diff --git a/classes/zh_CN/class_bone2d.rst b/classes/zh_CN/class_bone2d.rst index 9184f423b8..63f16e193e 100644 --- a/classes/zh_CN/class_bone2d.rst +++ b/classes/zh_CN/class_bone2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Bone2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Bone2D.xml. .. _class_Bone2D: diff --git a/classes/zh_CN/class_boneattachment3d.rst b/classes/zh_CN/class_boneattachment3d.rst index a594a0c01e..32332dd38b 100644 --- a/classes/zh_CN/class_boneattachment3d.rst +++ b/classes/zh_CN/class_boneattachment3d.rst @@ -5,8 +5,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BoneAttachment3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BoneAttachment3D.xml. .. _class_BoneAttachment3D: @@ -48,17 +48,19 @@ BoneAttachment3D .. table:: :widths: auto - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`NodePath` | :ref:`get_external_skeleton`\ (\ ) |const| | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`get_use_external_skeleton`\ (\ ) |const| | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`on_skeleton_update`\ (\ ) | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_external_skeleton`\ (\ external_skeleton\: :ref:`NodePath`\ ) | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_use_external_skeleton`\ (\ use_external_skeleton\: :ref:`bool`\ ) | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`NodePath` | :ref:`get_external_skeleton`\ (\ ) |const| | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Skeleton3D` | :ref:`get_skeleton`\ (\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_use_external_skeleton`\ (\ ) |const| | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`on_skeleton_update`\ (\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_external_skeleton`\ (\ external_skeleton\: :ref:`NodePath`\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_use_external_skeleton`\ (\ use_external_skeleton\: :ref:`bool`\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -139,6 +141,18 @@ BoneAttachment3D 节点是否会覆盖所附着骨骼的骨骼姿势。设置为 ---- +.. _class_BoneAttachment3D_method_get_skeleton: + +.. rst-class:: classref-method + +:ref:`Skeleton3D` **get_skeleton**\ (\ ) :ref:`🔗` + +Get parent or external :ref:`Skeleton3D` node if found. + +.. rst-class:: classref-item-separator + +---- + .. _class_BoneAttachment3D_method_get_use_external_skeleton: .. rst-class:: classref-method diff --git a/classes/zh_CN/class_bonemap.rst b/classes/zh_CN/class_bonemap.rst index 5d29c94d12..0e2904d070 100644 --- a/classes/zh_CN/class_bonemap.rst +++ b/classes/zh_CN/class_bonemap.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BoneMap.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BoneMap.xml. .. _class_BoneMap: diff --git a/classes/zh_CN/class_bool.rst b/classes/zh_CN/class_bool.rst index 6ea23cb7e7..a49f45bb77 100644 --- a/classes/zh_CN/class_bool.rst +++ b/classes/zh_CN/class_bool.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/bool.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/bool.xml. .. _class_bool: diff --git a/classes/zh_CN/class_boxcontainer.rst b/classes/zh_CN/class_boxcontainer.rst index affbd9c84f..e7126824cf 100644 --- a/classes/zh_CN/class_boxcontainer.rst +++ b/classes/zh_CN/class_boxcontainer.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BoxContainer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BoxContainer.xml. .. _class_BoxContainer: diff --git a/classes/zh_CN/class_boxmesh.rst b/classes/zh_CN/class_boxmesh.rst index de40be9304..ff50eee924 100644 --- a/classes/zh_CN/class_boxmesh.rst +++ b/classes/zh_CN/class_boxmesh.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BoxMesh.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BoxMesh.xml. .. _class_BoxMesh: diff --git a/classes/zh_CN/class_boxoccluder3d.rst b/classes/zh_CN/class_boxoccluder3d.rst index 27a7c40bbe..bdf4f6022a 100644 --- a/classes/zh_CN/class_boxoccluder3d.rst +++ b/classes/zh_CN/class_boxoccluder3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BoxOccluder3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BoxOccluder3D.xml. .. _class_BoxOccluder3D: diff --git a/classes/zh_CN/class_boxshape3d.rst b/classes/zh_CN/class_boxshape3d.rst index d9ad0daee9..5d252c26ce 100644 --- a/classes/zh_CN/class_boxshape3d.rst +++ b/classes/zh_CN/class_boxshape3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/BoxShape3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BoxShape3D.xml. .. _class_BoxShape3D: diff --git a/classes/zh_CN/class_button.rst b/classes/zh_CN/class_button.rst index a3cab891ce..b3d50580e0 100644 --- a/classes/zh_CN/class_button.rst +++ b/classes/zh_CN/class_button.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Button.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Button.xml. .. _class_Button: @@ -21,9 +21,9 @@ Button 描述 ---- -**Button** 是标准的主题按钮,可以包含文字和图标,显示样式会根据当前的 :ref:`Theme` 改变。 +**Button** is the standard themed button. It can contain text and an icon, and it will display them according to the current :ref:`Theme`. -\ **示例:通过代码创建按钮并指定在按下时的动作**\ +\ **Example:** Create a button and connect a method that will be called when the button is pressed: .. tabs:: @@ -33,7 +33,7 @@ Button func _ready(): var button = Button.new() button.text = "Click me" - button.pressed.connect(self._button_pressed) + button.pressed.connect(_button_pressed) add_child(button) func _button_pressed(): @@ -56,9 +56,9 @@ Button -另请参阅 :ref:`BaseButton`\ ,其中包含与此节点相关联的通用属性和方法。 +See also :ref:`BaseButton` which contains common properties and methods associated with this node. -\ **注意:**\ 按钮不处理触摸输入,因此不支持多点触控,因为模拟鼠标在给定时间只能按下一个按钮。请用 :ref:`TouchScreenButton` 制作触发游戏移动或动作的按钮。 +\ **Note:** Buttons do not detect touch input and therefore don't support multitouch, since mouse emulation can only press one button at a given time. Use :ref:`TouchScreenButton` for buttons that trigger gameplay movement or actions. .. rst-class:: classref-introduction-group @@ -144,6 +144,8 @@ Button +-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`icon_max_width` | ``0`` | +-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`line_spacing` | ``0`` | + +-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`outline_size` | ``0`` | +-----------------------------------+-----------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Font` | :ref:`font` | | @@ -229,7 +231,7 @@ Button - |void| **set_clip_text**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_clip_text**\ (\ ) -当此属性被启用时,过大而无法容纳按钮的文本会被剪掉,当被禁用时,按钮将始终有足够的宽度来容纳文本。 +If ``true``, text that is too large to fit the button is clipped horizontally. If ``false``, the button will always be wide enough to hold the text. The text is not vertically clipped, and the button's height is not affected by this property. .. rst-class:: classref-item-separator @@ -587,6 +589,18 @@ Button ---- +.. _class_Button_theme_constant_line_spacing: + +.. rst-class:: classref-themeproperty + +:ref:`int` **line_spacing** = ``0`` :ref:`🔗` + +Additional vertical spacing between lines (in pixels), spacing is added to line descent. This value can be negative. + +.. rst-class:: classref-item-separator + +---- + .. _class_Button_theme_constant_outline_size: .. rst-class:: classref-themeproperty diff --git a/classes/zh_CN/class_buttongroup.rst b/classes/zh_CN/class_buttongroup.rst index 1ef018842f..3e3aa0d10b 100644 --- a/classes/zh_CN/class_buttongroup.rst +++ b/classes/zh_CN/class_buttongroup.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ButtonGroup.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ButtonGroup.xml. .. _class_ButtonGroup: diff --git a/classes/zh_CN/class_callable.rst b/classes/zh_CN/class_callable.rst index e88be7faec..386d9908bd 100644 --- a/classes/zh_CN/class_callable.rst +++ b/classes/zh_CN/class_callable.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Callable.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Callable.xml. .. _class_Callable: @@ -17,9 +17,7 @@ Callable 描述 ---- -可调用体 **Callable** 是表示函数的内置 :ref:`Variant` 类型。它可以是 :ref:`Object` 实例中的方法,也可以是用于不同目的的自定义可调用函数(请参阅 :ref:`is_custom`\ )。与所有 :ref:`Variant` 类型一样,它可以存储在变量中,也可以传递给其他函数。它最常用于信号回调。 - -\ **示例:**\ +**Callable** is a built-in :ref:`Variant` type that represents a function. It can either be a method within an :ref:`Object` instance, or a custom callable used for different purposes (see :ref:`is_custom`). Like all :ref:`Variant` types, it can be stored in variables and passed to other functions. It is most commonly used for signal callbacks. .. tabs:: @@ -31,13 +29,13 @@ Callable func test(): var callable = Callable(self, "print_args") - callable.call("hello", "world") # 输出 “hello world ”。 - callable.call(Vector2.UP, 42, callable) # Prints "(0, -1) 42 Node(node.gd)::print_args". - callable.call("invalid") # 无效调用,应当至少有 2 个参数。 + callable.call("hello", "world") # Prints "hello world ". + callable.call(Vector2.UP, 42, callable) # Prints "(0.0, -1.0) 42 Node(node.gd)::print_args" + callable.call("invalid") # Invalid call, should have at least 2 arguments. .. code-tab:: csharp - // 不支持参数默认值。 + // Default parameter values are not supported. public void PrintArgs(Variant arg1, Variant arg2, Variant arg3 = default) { GD.PrintS(arg1, arg2, arg3); @@ -47,14 +45,14 @@ Callable { // Invalid calls fail silently. Callable callable = new Callable(this, MethodName.PrintArgs); - callable.Call("hello", "world"); // 不支持参数默认值,应当有 3 个参数。 - callable.Call(Vector2.Up, 42, callable); // 输出 “(0, -1) 42 Node(Node.cs)::PrintArgs”。 - callable.Call("invalid"); // 无效调用,应当有 3 个参数。 + callable.Call("hello", "world"); // Default parameter values are not supported, should have 3 arguments. + callable.Call(Vector2.Up, 42, callable); // Prints "(0, -1) 42 Node(Node.cs)::PrintArgs" + callable.Call("invalid"); // Invalid call, should have 3 arguments. } -GDScript 中可以在方法里创建 lambda 函数。Lambda 函数是自定义的可调用体,不与 :ref:`Object` 实例关联。也可以为 Lambda 函数命名。该名称会显示在调试器中,也会在 :ref:`get_method` 中使用。 +In GDScript, it's possible to create lambda functions within a method. Lambda functions are custom callables that are not associated with an :ref:`Object` instance. Optionally, lambda functions can also be named. The name will be displayed in the debugger, or when calling :ref:`get_method`. :: @@ -62,30 +60,30 @@ GDScript 中可以在方法里创建 lambda 函数。Lambda 函数是自定义 var my_lambda = func (message): print(message) - # 输出 大家好呀! - my_lambda.call("大家好呀!") + # Prints "Hello everyone!" + my_lambda.call("Hello everyone!") - # 发出 button_pressed 信号时输出 "全军出击!"。 - button_pressed.connect(func(): print("全军出击!")) + # Prints "Attack!", when the button_pressed signal is emitted. + button_pressed.connect(func(): print("Attack!")) -在 GDScript 中,可以将方法和全局函数作为 **Callable** 进行访问: +In GDScript, you can access methods and global functions as **Callable**\ s: :: - tween.tween_callback(node.queue_free) # Object 的方法。 - tween.tween_callback(array.clear) # 内置类型的方法。 - tween.tween_callback(print.bind("Test")) # 全局函数。 + tween.tween_callback(node.queue_free) # Object methods. + tween.tween_callback(array.clear) # Methods of built-in types. + tween.tween_callback(print.bind("Test")) # Global functions. -\ **注意:**\ 由于键不明确,\ :ref:`Dictionary` 不支持上述内容。 +\ **Note:** :ref:`Dictionary` does not support the above due to ambiguity with keys. :: var dictionary = {"hello": "world"} - # 这行不通,“clear” 被视为一个键。 + # This will not work, `clear` is treated as a key. tween.tween_callback(dictionary.clear) - # 这会有效。 + # This will work. tween.tween_callback(Callable.create(dictionary, "clear")) .. note:: @@ -141,6 +139,8 @@ GDScript 中可以在方法里创建 lambda 函数。Lambda 函数是自定义 +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_object_id`\ (\ ) |const| | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_unbound_arguments_count`\ (\ ) |const| | + +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`hash`\ (\ ) |const| | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_custom`\ (\ ) |const| | @@ -337,7 +337,15 @@ GDScript 中可以在方法里创建 lambda 函数。Lambda 函数是自定义 :ref:`Array` **get_bound_arguments**\ (\ ) |const| :ref:`🔗` -返回绑定的参数(只要 :ref:`get_bound_arguments_count` 大于零)或者空数组(如果 :ref:`get_bound_arguments_count` 小于等于零)。 +Returns the array of arguments bound via successive :ref:`bind` or :ref:`unbind` calls. These arguments will be added *after* the arguments passed to the call, from which :ref:`get_unbound_arguments_count` arguments on the right have been previously excluded. + +:: + + func get_effective_arguments(callable, call_args): + assert(call_args.size() - callable.get_unbound_arguments_count() >= 0) + var result = call_args.slice(0, call_args.size() - callable.get_unbound_arguments_count()) + result.append_array(callable.get_bound_arguments()) + return result .. rst-class:: classref-item-separator @@ -349,7 +357,9 @@ GDScript 中可以在方法里创建 lambda 函数。Lambda 函数是自定义 :ref:`int` **get_bound_arguments_count**\ (\ ) |const| :ref:`🔗` -返回通过成功调用 :ref:`bind` 或 :ref:`unbind` 绑定(或解绑)参数的总数。如果解绑参数的总数比绑定参数大,则这个函数的返回值小于零。 +Returns the total amount of arguments bound via successive :ref:`bind` or :ref:`unbind` calls. This is the same as the size of the array returned by :ref:`get_bound_arguments`. See :ref:`get_bound_arguments` for details. + +\ **Note:** The :ref:`get_bound_arguments_count` and :ref:`get_unbound_arguments_count` methods can both return positive values. .. rst-class:: classref-item-separator @@ -391,6 +401,20 @@ GDScript 中可以在方法里创建 lambda 函数。Lambda 函数是自定义 ---- +.. _class_Callable_method_get_unbound_arguments_count: + +.. rst-class:: classref-method + +:ref:`int` **get_unbound_arguments_count**\ (\ ) |const| :ref:`🔗` + +Returns the total amount of arguments unbound via successive :ref:`bind` or :ref:`unbind` calls. See :ref:`get_bound_arguments` for details. + +\ **Note:** The :ref:`get_bound_arguments_count` and :ref:`get_unbound_arguments_count` methods can both return positive values. + +.. rst-class:: classref-item-separator + +---- + .. _class_Callable_method_hash: .. rst-class:: classref-method @@ -431,7 +455,9 @@ GDScript 中可以在方法里创建 lambda 函数。Lambda 函数是自定义 :ref:`bool` **is_null**\ (\ ) |const| :ref:`🔗` -如果该 **Callable** 没有调用方法的目标,则返回 ``true``\ 。 +Returns ``true`` if this **Callable** has no target to call the method on. Equivalent to ``callable == Callable()``. + +\ **Note:** This is *not* the same as ``not is_valid()`` and using ``not is_null()`` will *not* guarantee that this callable can be called. Use :ref:`is_valid` instead. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_callbacktweener.rst b/classes/zh_CN/class_callbacktweener.rst index 35bc63a5cc..a297a1ea9f 100644 --- a/classes/zh_CN/class_callbacktweener.rst +++ b/classes/zh_CN/class_callbacktweener.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CallbackTweener.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CallbackTweener.xml. .. _class_CallbackTweener: @@ -52,14 +52,14 @@ CallbackTweener :ref:`CallbackTweener` **set_delay**\ (\ delay\: :ref:`float`\ ) :ref:`🔗` -让该回调延迟给定的时间,单位为秒。 +Makes the callback call delayed by given time in seconds. -\ **示例:**\ +\ **Example:** Call :ref:`Node.queue_free` after 2 seconds: :: var tween = get_tree().create_tween() - tween.tween_callback(queue_free).set_delay(2) # 会在 2 秒后调用 queue_free() + tween.tween_callback(queue_free).set_delay(2) .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` diff --git a/classes/zh_CN/class_camera2d.rst b/classes/zh_CN/class_camera2d.rst index 9168a98e2b..7b4e1b33a3 100644 --- a/classes/zh_CN/class_camera2d.rst +++ b/classes/zh_CN/class_camera2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Camera2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Camera2D.xml. .. _class_Camera2D: diff --git a/classes/zh_CN/class_camera3d.rst b/classes/zh_CN/class_camera3d.rst index e5dbaff8d1..0c007294d0 100644 --- a/classes/zh_CN/class_camera3d.rst +++ b/classes/zh_CN/class_camera3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Camera3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Camera3D.xml. .. _class_Camera3D: diff --git a/classes/zh_CN/class_cameraattributes.rst b/classes/zh_CN/class_cameraattributes.rst index 0ffcc5a302..dd4913798c 100644 --- a/classes/zh_CN/class_cameraattributes.rst +++ b/classes/zh_CN/class_cameraattributes.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CameraAttributes.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CameraAttributes.xml. .. _class_CameraAttributes: @@ -137,7 +137,11 @@ CameraAttributes - |void| **set_exposure_sensitivity**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_exposure_sensitivity**\ (\ ) -相机传感器的灵敏度,以 ISO 测量。灵敏度越高,图像越亮。仅在启用 :ref:`ProjectSettings.rendering/lights_and_shadows/use_physical_light_units` 时可用。当 :ref:`auto_exposure_enabled` 启用时,这可以用作曝光补偿的方法,将该值加倍将使曝光值(以 EV100 测量)增加 1 档。 +Sensitivity of camera sensors, measured in ISO. A higher sensitivity results in a brighter image. + +If :ref:`auto_exposure_enabled` is ``true``, this can be used as a method of exposure compensation, doubling the value will increase the exposure value (measured in EV100) by 1 stop. + +\ **Note:** Only available when :ref:`ProjectSettings.rendering/lights_and_shadows/use_physical_light_units` is enabled. .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` diff --git a/classes/zh_CN/class_cameraattributesphysical.rst b/classes/zh_CN/class_cameraattributesphysical.rst index 0e30fb8c5f..d56c4da6e4 100644 --- a/classes/zh_CN/class_cameraattributesphysical.rst +++ b/classes/zh_CN/class_cameraattributesphysical.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CameraAttributesPhysical.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CameraAttributesPhysical.xml. .. _class_CameraAttributesPhysical: @@ -109,7 +109,7 @@ CameraAttributesPhysical - |void| **set_auto_exposure_min_exposure_value**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_auto_exposure_min_exposure_value**\ (\ ) -计算自动曝光时使用的最小亮度(单位:EV100)。在计算场景平均亮度时,颜色值将至少被钳制在这个值上。这限制了自动曝光在超过一定的亮度进行曝光时,导致场景将保持黑暗的一个截止点。 +The minimum luminance (in EV100) used when calculating auto exposure. When calculating scene average luminance, color values will be clamped to at least this value. This limits the auto-exposure from exposing above a certain brightness, resulting in a cut off point where the scene will remain dark. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_cameraattributespractical.rst b/classes/zh_CN/class_cameraattributespractical.rst index 8be0e3b4e7..4d0edaa83e 100644 --- a/classes/zh_CN/class_cameraattributespractical.rst +++ b/classes/zh_CN/class_cameraattributespractical.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CameraAttributesPractical.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CameraAttributesPractical.xml. .. _class_CameraAttributesPractical: diff --git a/classes/zh_CN/class_camerafeed.rst b/classes/zh_CN/class_camerafeed.rst index 1f3b83e4ae..f0e60d0800 100644 --- a/classes/zh_CN/class_camerafeed.rst +++ b/classes/zh_CN/class_camerafeed.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CameraFeed.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CameraFeed.xml. .. _class_CameraFeed: @@ -19,9 +19,11 @@ CameraFeed 描述 ---- -通过相机源,你可以访问连接到设备的单个物理相机。启用后,Godot 将开始从相机捕获帧,然后使用。另请参阅 :ref:`CameraServer`\ 。 +A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used. See also :ref:`CameraServer`. -\ **注意:**\ 很多相机会返回 YCbCr 图像,这些图像被分成两个纹理,需要在着色器中组合。如果你将环境设置为在背景中显示相机图像,Godot 会自动为将执行此操作。 +\ **Note:** Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background. + +\ **Note:** This class is currently only implemented on Linux, macOS, and iOS. On other platforms no **CameraFeed**\ s will be available. To get a **CameraFeed** on iOS, the camera plugin from `godot-ios-plugins `__ is required. .. rst-class:: classref-reftable-group @@ -36,6 +38,8 @@ CameraFeed +---------------------------------------+-----------------------------------------------------------------+------------------------------------+ | :ref:`Transform2D` | :ref:`feed_transform` | ``Transform2D(1, 0, 0, -1, 0, 1)`` | +---------------------------------------+-----------------------------------------------------------------+------------------------------------+ + | :ref:`Array` | :ref:`formats` | ``[]`` | + +---------------------------------------+-----------------------------------------------------------------+------------------------------------+ .. rst-class:: classref-reftable-group @@ -45,15 +49,62 @@ CameraFeed .. table:: :widths: auto - +---------------------------------------------------+-------------------------------------------------------------------------+ - | :ref:`FeedDataType` | :ref:`get_datatype`\ (\ ) |const| | - +---------------------------------------------------+-------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_id`\ (\ ) |const| | - +---------------------------------------------------+-------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_name`\ (\ ) |const| | - +---------------------------------------------------+-------------------------------------------------------------------------+ - | :ref:`FeedPosition` | :ref:`get_position`\ (\ ) |const| | - +---------------------------------------------------+-------------------------------------------------------------------------+ + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_activate_feed`\ (\ ) |virtual| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_deactivate_feed`\ (\ ) |virtual| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`FeedDataType` | :ref:`get_datatype`\ (\ ) |const| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_id`\ (\ ) |const| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_name`\ (\ ) |const| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`FeedPosition` | :ref:`get_position`\ (\ ) |const| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_texture_tex_id`\ (\ feed_image_type\: :ref:`FeedImage`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_external`\ (\ width\: :ref:`int`, height\: :ref:`int`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`set_format`\ (\ index\: :ref:`int`, parameters\: :ref:`Dictionary`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_name`\ (\ name\: :ref:`String`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_position`\ (\ position\: :ref:`FeedPosition`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_rgb_image`\ (\ rgb_image\: :ref:`Image`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_ycbcr_image`\ (\ ycbcr_image\: :ref:`Image`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +信号 +---- + +.. _class_CameraFeed_signal_format_changed: + +.. rst-class:: classref-signal + +**format_changed**\ (\ ) :ref:`🔗` + +Emitted when the format has changed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_signal_frame_changed: + +.. rst-class:: classref-signal + +**frame_changed**\ (\ ) :ref:`🔗` + +Emitted when a new frame is available. .. rst-class:: classref-section-separator @@ -102,6 +153,14 @@ enum **FeedDataType**: :ref:`🔗` 源提供单独的 Y 和 CbCr 图像,需要合并并转换为 RGB。 +.. _class_CameraFeed_constant_FEED_EXTERNAL: + +.. rst-class:: classref-enumeration-constant + +:ref:`FeedDataType` **FEED_EXTERNAL** = ``4`` + +Feed supplies external image. + .. rst-class:: classref-item-separator ---- @@ -175,6 +234,22 @@ enum **FeedPosition**: :ref:`🔗` 应用于相机图像的变换。 +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_property_formats: + +.. rst-class:: classref-property + +:ref:`Array` **formats** = ``[]`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- :ref:`Array` **get_formats**\ (\ ) + +Formats supported by the feed. Each entry is a :ref:`Dictionary` describing format parameters. + .. rst-class:: classref-section-separator ---- @@ -184,6 +259,30 @@ enum **FeedPosition**: :ref:`🔗` 方法说明 -------- +.. _class_CameraFeed_private_method__activate_feed: + +.. rst-class:: classref-method + +:ref:`bool` **_activate_feed**\ (\ ) |virtual| :ref:`🔗` + +Called when the camera feed is activated. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_private_method__deactivate_feed: + +.. rst-class:: classref-method + +|void| **_deactivate_feed**\ (\ ) |virtual| :ref:`🔗` + +Called when the camera feed is deactivated. + +.. rst-class:: classref-item-separator + +---- + .. _class_CameraFeed_method_get_datatype: .. rst-class:: classref-method @@ -228,6 +327,96 @@ enum **FeedPosition**: :ref:`🔗` 返回设备上的相机位置。 +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_get_texture_tex_id: + +.. rst-class:: classref-method + +:ref:`int` **get_texture_tex_id**\ (\ feed_image_type\: :ref:`FeedImage`\ ) :ref:`🔗` + +Returns the texture backend ID (usable by some external libraries that need a handle to a texture to write data). + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_external: + +.. rst-class:: classref-method + +|void| **set_external**\ (\ width\: :ref:`int`, height\: :ref:`int`\ ) :ref:`🔗` + +Sets the feed as external feed provided by another library. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_format: + +.. rst-class:: classref-method + +:ref:`bool` **set_format**\ (\ index\: :ref:`int`, parameters\: :ref:`Dictionary`\ ) :ref:`🔗` + +Sets the feed format parameters for the given index in the :ref:`formats` array. Returns ``true`` on success. By default YUYV encoded stream is transformed to FEED_RGB. YUYV encoded stream output format can be changed with ``parameters``.output value: + +\ ``separate`` will result in FEED_YCBCR_SEP + +\ ``grayscale`` will result in desaturated FEED_RGB + +\ ``copy`` will result in FEED_YCBCR + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_name: + +.. rst-class:: classref-method + +|void| **set_name**\ (\ name\: :ref:`String`\ ) :ref:`🔗` + +Sets the camera's name. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_position: + +.. rst-class:: classref-method + +|void| **set_position**\ (\ position\: :ref:`FeedPosition`\ ) :ref:`🔗` + +Sets the position of this camera. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_rgb_image: + +.. rst-class:: classref-method + +|void| **set_rgb_image**\ (\ rgb_image\: :ref:`Image`\ ) :ref:`🔗` + +Sets RGB image for this feed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_ycbcr_image: + +.. rst-class:: classref-method + +|void| **set_ycbcr_image**\ (\ ycbcr_image\: :ref:`Image`\ ) :ref:`🔗` + +Sets YCbCr image for this feed. + .. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` .. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` .. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)` diff --git a/classes/zh_CN/class_cameraserver.rst b/classes/zh_CN/class_cameraserver.rst index 165026651b..caa81a2b7c 100644 --- a/classes/zh_CN/class_cameraserver.rst +++ b/classes/zh_CN/class_cameraserver.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CameraServer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CameraServer.xml. .. _class_CameraServer: @@ -19,11 +19,11 @@ CameraServer 描述 ---- -**CameraServer** 记录了 Godot 中可访问的不同相机。此处的相机指外部相机,例如网络摄像头或手机上的摄像头。 +The **CameraServer** keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone. -主要用于为 AR 模块提供来自相机的视频源。 +It is notably used to provide AR modules with a video feed from the camera. -\ **注意:**\ 这个类目前只在 macOS 和 iOS 上实现。要在 iOS 上获取 :ref:`CameraFeed`\ ,需要来自 `godot-ios-plugins `__ 的相机插件。在其他平台上没有可用的 :ref:`CameraFeed`\ 。 +\ **Note:** This class is currently only implemented on Linux, macOS, and iOS. On other platforms no :ref:`CameraFeed`\ s will be available. To get a :ref:`CameraFeed` on iOS, the camera plugin from `godot-ios-plugins `__ is required. .. rst-class:: classref-reftable-group diff --git a/classes/zh_CN/class_cameratexture.rst b/classes/zh_CN/class_cameratexture.rst index ef8c08b8da..af5fd408e5 100644 --- a/classes/zh_CN/class_cameratexture.rst +++ b/classes/zh_CN/class_cameratexture.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CameraTexture.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CameraTexture.xml. .. _class_CameraTexture: diff --git a/classes/zh_CN/class_canvasgroup.rst b/classes/zh_CN/class_canvasgroup.rst index 188f29acb6..72b6bb116c 100644 --- a/classes/zh_CN/class_canvasgroup.rst +++ b/classes/zh_CN/class_canvasgroup.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CanvasGroup.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CanvasGroup.xml. .. _class_CanvasGroup: diff --git a/classes/zh_CN/class_canvasitem.rst b/classes/zh_CN/class_canvasitem.rst index 65f4624296..0b7efc434e 100644 --- a/classes/zh_CN/class_canvasitem.rst +++ b/classes/zh_CN/class_canvasitem.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CanvasItem.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CanvasItem.xml. .. _class_CanvasItem: @@ -169,6 +169,8 @@ CanvasItem +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform2D` | :ref:`get_global_transform_with_canvas`\ (\ ) |const| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`get_instance_shader_parameter`\ (\ name\: :ref:`StringName`\ ) |const| | + +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_local_mouse_position`\ (\ ) |const| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform2D` | :ref:`get_screen_transform`\ (\ ) |const| | @@ -191,7 +193,7 @@ CanvasItem +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_visible_in_tree`\ (\ ) |const| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2` | :ref:`make_canvas_position_local`\ (\ screen_point\: :ref:`Vector2`\ ) |const| | + | :ref:`Vector2` | :ref:`make_canvas_position_local`\ (\ viewport_point\: :ref:`Vector2`\ ) |const| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`InputEvent` | :ref:`make_input_local`\ (\ event\: :ref:`InputEvent`\ ) |const| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -199,6 +201,8 @@ CanvasItem +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`queue_redraw`\ (\ ) | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_instance_shader_parameter`\ (\ name\: :ref:`StringName`, value\: :ref:`Variant`\ ) | + +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_notify_local_transform`\ (\ enable\: :ref:`bool`\ ) | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_notify_transform`\ (\ enable\: :ref:`bool`\ ) | @@ -237,7 +241,7 @@ CanvasItem **hidden**\ (\ ) :ref:`🔗` -当隐藏时发出。 +Emitted when the **CanvasItem** is hidden, i.e. it's no longer visible in the tree (see :ref:`is_visible_in_tree`). .. rst-class:: classref-item-separator @@ -249,7 +253,7 @@ CanvasItem **item_rect_changed**\ (\ ) :ref:`🔗` -当 CanvasItem 的 :ref:`Rect2` 边界(位置或大小)发生变化时,或者当发生可能影响这些边界的操作(例如,更改 :ref:`Sprite2D.texture`\ )时发出。 +Emitted when the **CanvasItem**'s boundaries (position or size) change, or when an action took place that may have affected these boundaries (e.g. changing :ref:`Sprite2D.texture`). .. rst-class:: classref-item-separator @@ -261,7 +265,7 @@ CanvasItem **visibility_changed**\ (\ ) :ref:`🔗` -当可见性(隐藏/可见)更改时发出。 +Emitted when the **CanvasItem**'s visibility changes, either because its own :ref:`visible` property changed or because its visibility in the tree changed (see :ref:`is_visible_in_tree`). .. rst-class:: classref-section-separator @@ -527,7 +531,9 @@ enum **ClipChildrenMode**: :ref:`🔗` - |void| **set_clip_children_mode**\ (\ value\: :ref:`ClipChildrenMode`\ ) - :ref:`ClipChildrenMode` **get_clip_children_mode**\ (\ ) -允许当前节点裁剪子节点,本质上是充当遮罩。 +Allows the current node to clip child nodes, essentially acting as a mask. + +\ **Note:** Clipping nodes cannot be nested or placed within :ref:`CanvasGroup`\ s. If an ancestor of this node clips its children or is a :ref:`CanvasGroup`, then this node's clip mode should be set to :ref:`CLIP_CHILDREN_DISABLED` to avoid unexpected behavior. .. rst-class:: classref-item-separator @@ -716,9 +722,9 @@ enum **ClipChildrenMode**: :ref:`🔗` - |void| **set_visible**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_visible**\ (\ ) -如果为 ``true``\ ,这个 **CanvasItem** 被绘制。只有当它的所有父节点也可见时,该节点才是可见的(换句话说,\ :ref:`is_visible_in_tree` 必须返回 ``true``\ )。 +If ``true``, this **CanvasItem** may be drawn. Whether this **CanvasItem** is actually drawn depends on the visibility of all of its **CanvasItem** ancestors. In other words: this **CanvasItem** will be drawn when :ref:`is_visible_in_tree` returns ``true`` and all **CanvasItem** ancestors share at least one :ref:`visibility_layer` with this **CanvasItem**. -\ **注意:**\ 对于继承了 :ref:`Popup` 的控件,使其可见的正确方法是调用多个 ``popup*()`` 函数之一。 +\ **Note:** For controls that inherit :ref:`Popup`, the correct way to make them visible is to call one of the multiple ``popup*()`` functions instead. .. rst-class:: classref-item-separator @@ -735,11 +741,11 @@ enum **ClipChildrenMode**: :ref:`🔗` - |void| **set_y_sort_enabled**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_y_sort_enabled**\ (\ ) -如果为 ``true``\ ,则该节点及其子 **CanvasItem** 节点中 Y 位置较高的节点会渲染在 Y 位置较低的节点的前面。如果为 ``false``\ ,则该节点及其子 **CanvasItem** 节点会按照场景树的顺序正常渲染。 +If ``true``, this and child **CanvasItem** nodes with a higher Y position are rendered in front of nodes with a lower Y position. If ``false``, this and child **CanvasItem** nodes are rendered normally in scene tree order. -如果父节点(“A”)启用了 Y 排序,而子节点(“B”)没有启用,那么子节点(“B”)会进行排序,但它自己的子节点(“C1”“C2”等)会渲染在与子节点(“B”)相同的 Y 位置。这样你就可以在不修改场景树的前提下组织场景的渲染顺序了。 +With Y-sorting enabled on a parent node ('A') but disabled on a child node ('B'), the child node ('B') is sorted but its children ('C1', 'C2', etc.) render together on the same Y position as the child node ('B'). This allows you to organize the render order of a scene without changing the scene tree. -只有 :ref:`z_index` 相同的节点才会互相进行排序。 +Nodes sort relative to each other only if they are on the same :ref:`z_index`. .. rst-class:: classref-item-separator @@ -878,7 +884,9 @@ enum **ClipChildrenMode**: :ref:`🔗` |void| **draw_colored_polygon**\ (\ points\: :ref:`PackedVector2Array`, color\: :ref:`Color`, uvs\: :ref:`PackedVector2Array` = PackedVector2Array(), texture\: :ref:`Texture2D` = null\ ) :ref:`🔗` -绘制一个由任意数量的点组成的彩色多边形,凸形或凹形。与 :ref:`draw_polygon` 不同,必须为整个多边形指定一个单一颜色。 +Draws a colored polygon of any number of points, convex or concave. Unlike :ref:`draw_polygon`, a single color must be specified for the whole polygon. + +\ **Note:** If you frequently redraw the same polygon with a large number of vertices, consider pre-calculating the triangulation with :ref:`Geometry2D.triangulate_polygon` and using :ref:`draw_mesh`, :ref:`draw_multimesh`, or :ref:`RenderingServer.canvas_item_add_triangle_array`. .. rst-class:: classref-item-separator @@ -1051,7 +1059,9 @@ enum **ClipChildrenMode**: :ref:`🔗` |void| **draw_polygon**\ (\ points\: :ref:`PackedVector2Array`, colors\: :ref:`PackedColorArray`, uvs\: :ref:`PackedVector2Array` = PackedVector2Array(), texture\: :ref:`Texture2D` = null\ ) :ref:`🔗` -绘制一个由任意数量的点构成的实心多边形,凸形或凹形。与 :ref:`draw_colored_polygon` 不同,每个点的颜色都可以单独改变。另见 :ref:`draw_polyline` 和 :ref:`draw_polyline_colors`\ 。如果你需要更大的自由度(例如能够使用骨骼),请改用 :ref:`RenderingServer.canvas_item_add_triangle_array`\ 。 +Draws a solid polygon of any number of points, convex or concave. Unlike :ref:`draw_colored_polygon`, each point's color can be changed individually. See also :ref:`draw_polyline` and :ref:`draw_polyline_colors`. If you need more flexibility (such as being able to use bones), use :ref:`RenderingServer.canvas_item_add_triangle_array` instead. + +\ **Note:** If you frequently redraw the same polygon with a large number of vertices, consider pre-calculating the triangulation with :ref:`Geometry2D.triangulate_polygon` and using :ref:`draw_mesh`, :ref:`draw_multimesh`, or :ref:`RenderingServer.canvas_item_add_triangle_array`. .. rst-class:: classref-item-separator @@ -1149,34 +1159,34 @@ enum **ClipChildrenMode**: :ref:`🔗` |void| **draw_string**\ (\ font\: :ref:`Font`, pos\: :ref:`Vector2`, text\: :ref:`String`, alignment\: :ref:`HorizontalAlignment` = 0, width\: :ref:`float` = -1, font_size\: :ref:`int` = 16, modulate\: :ref:`Color` = Color(1, 1, 1, 1), justification_flags\: |bitfield|\[:ref:`JustificationFlag`\] = 3, direction\: :ref:`Direction` = 0, orientation\: :ref:`Orientation` = 0\ ) |const| :ref:`🔗` -使用指定的 ``font`` 在 ``pos``\ (使用的字体的基线的左下角)处绘制 ``text``\ 。该文本的颜色将乘以 ``modulate``\ 。如果 ``width`` 大于等于 0,则文本超过指定宽度将被裁剪。 +Draws ``text`` using the specified ``font`` at the ``pos`` (bottom-left corner using the baseline of the font). The text will have its color multiplied by ``modulate``. If ``width`` is greater than or equal to 0, the text will be clipped if it exceeds the specified width. -\ **使用项目默认字体的例子:**\ +\ **Example:** Draw "Hello world", using the project's default font: .. tabs:: .. code-tab:: gdscript - # 如果在不断重绘的脚本中使用此方法, - # 则将 `default_font` 声明移动到在 `_ready()` 中赋值的成员变量中 - # 这样 Control 只创建一次。 + # If using this method in a script that redraws constantly, move the + # `default_font` declaration to a member variable assigned in `_ready()` + # so the Control is only created once. var default_font = ThemeDB.fallback_font var default_font_size = ThemeDB.fallback_font_size draw_string(default_font, Vector2(64, 64), "Hello world", HORIZONTAL_ALIGNMENT_LEFT, -1, default_font_size) .. code-tab:: csharp - // 如果在不断重绘的脚本中使用此方法, - // 则将 `default_font` 声明移动到在 `_ready()` 中赋值的成员变量中 - // 这样 Control 只创建一次。 + // If using this method in a script that redraws constantly, move the + // `default_font` declaration to a member variable assigned in `_Ready()` + // so the Control is only created once. Font defaultFont = ThemeDB.FallbackFont; int defaultFontSize = ThemeDB.FallbackFontSize; DrawString(defaultFont, new Vector2(64, 64), "Hello world", HORIZONTAL_ALIGNMENT_LEFT, -1, defaultFontSize); -另请参阅 :ref:`Font.draw_string`\ 。 +See also :ref:`Font.draw_string`. .. rst-class:: classref-item-separator @@ -1340,6 +1350,18 @@ enum **ClipChildrenMode**: :ref:`🔗` ---- +.. _class_CanvasItem_method_get_instance_shader_parameter: + +.. rst-class:: classref-method + +:ref:`Variant` **get_instance_shader_parameter**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`🔗` + +获取在该实例上设置的着色器参数值。 + +.. rst-class:: classref-item-separator + +---- + .. _class_CanvasItem_method_get_local_mouse_position: .. rst-class:: classref-method @@ -1468,9 +1490,11 @@ enum **ClipChildrenMode**: :ref:`🔗` :ref:`bool` **is_visible_in_tree**\ (\ ) |const| :ref:`🔗` -如果节点存在于 :ref:`SceneTree` 中,其 :ref:`visible` 属性为 ``true``\ ,并且其所有祖先也可见,则返回 ``true``\ 。如果任何祖先被隐藏,则该节点在场景树中将不可见,因此也不会被绘制(参见 :ref:`_draw`\ )。 +Returns ``true`` if the node is present in the :ref:`SceneTree`, its :ref:`visible` property is ``true`` and all its ancestors are also visible. If any ancestor is hidden, this node will not be visible in the scene tree, and is therefore not drawn (see :ref:`_draw`). -可见性仅在从 **CanvasItem**\ 、\ :ref:`CanvasLayer` 和 :ref:`Window` 继承的父节点中检查。如果父节点是任何其他类型(例如 :ref:`Node`\ 、\ :ref:`AnimationPlayer` 或 :ref:`Node3D`\ ),则假定它是可见的。 +Visibility is checked only in parent nodes that inherit from **CanvasItem**, :ref:`CanvasLayer`, and :ref:`Window`. If the parent is of any other type (such as :ref:`Node`, :ref:`AnimationPlayer`, or :ref:`Node3D`), it is assumed to be visible. + +\ **Note:** This method does not take :ref:`visibility_layer` into account, so even if this method returns ``true``, the node might end up not being rendered. .. rst-class:: classref-item-separator @@ -1480,9 +1504,15 @@ enum **ClipChildrenMode**: :ref:`🔗` .. rst-class:: classref-method -:ref:`Vector2` **make_canvas_position_local**\ (\ screen_point\: :ref:`Vector2`\ ) |const| :ref:`🔗` +:ref:`Vector2` **make_canvas_position_local**\ (\ viewport_point\: :ref:`Vector2`\ ) |const| :ref:`🔗` -将 ``screen_point`` 指定为该节点的新局部变换。 +Transforms ``viewport_point`` from the viewport's coordinates to this node's local coordinates. + +For the opposite operation, use :ref:`get_global_transform_with_canvas`. + +:: + + var viewport_point = get_global_transform_with_canvas() * local_point .. rst-class:: classref-item-separator @@ -1526,6 +1556,22 @@ enum **ClipChildrenMode**: :ref:`🔗` ---- +.. _class_CanvasItem_method_set_instance_shader_parameter: + +.. rst-class:: classref-method + +|void| **set_instance_shader_parameter**\ (\ name\: :ref:`StringName`, value\: :ref:`Variant`\ ) :ref:`🔗` + +Set the value of a shader uniform for this instance only (`per-instance uniform <../tutorials/shaders/shader_reference/shading_language.html#per-instance-uniforms>`__). See also :ref:`ShaderMaterial.set_shader_parameter` to assign a uniform on all instances using the same :ref:`ShaderMaterial`. + +\ **Note:** For a shader uniform to be assignable on a per-instance basis, it *must* be defined with ``instance uniform ...`` rather than ``uniform ...`` in the shader code. + +\ **Note:** ``name`` is case-sensitive and must match the name of the uniform in the code exactly (not the capitalized name in the inspector). + +.. rst-class:: classref-item-separator + +---- + .. _class_CanvasItem_method_set_notify_local_transform: .. rst-class:: classref-method diff --git a/classes/zh_CN/class_canvasitemmaterial.rst b/classes/zh_CN/class_canvasitemmaterial.rst index 738dc29b5e..1bb5434ec9 100644 --- a/classes/zh_CN/class_canvasitemmaterial.rst +++ b/classes/zh_CN/class_canvasitemmaterial.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CanvasItemMaterial.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CanvasItemMaterial.xml. .. _class_CanvasItemMaterial: diff --git a/classes/zh_CN/class_canvaslayer.rst b/classes/zh_CN/class_canvaslayer.rst index 37f4af6cd9..0f62428b6a 100644 --- a/classes/zh_CN/class_canvaslayer.rst +++ b/classes/zh_CN/class_canvaslayer.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CanvasLayer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CanvasLayer.xml. .. _class_CanvasLayer: @@ -140,9 +140,9 @@ CanvasLayer - |void| **set_follow_viewport**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_following_viewport**\ (\ ) -启用时,该 **CanvasLayer** 会使用视口的变换,所以它会随相机移动,而不是保持在屏幕上的某个固定位置。 +If enabled, the **CanvasLayer** stays in a fixed position on the screen. If disabled, the **CanvasLayer** maintains its position in world space. -与 :ref:`follow_viewport_scale` 配合可以实现伪 3D 效果。 +Together with :ref:`follow_viewport_scale`, this can be used for a pseudo-3D effect. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_canvasmodulate.rst b/classes/zh_CN/class_canvasmodulate.rst index f826dc79e3..ddb2429563 100644 --- a/classes/zh_CN/class_canvasmodulate.rst +++ b/classes/zh_CN/class_canvasmodulate.rst @@ -5,8 +5,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CanvasModulate.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CanvasModulate.xml. .. _class_CanvasModulate: @@ -24,6 +24,13 @@ CanvasModulate **CanvasModulate** 将一种色调应用于一张画布上的所有节点。一张画布只有一个可用于为画布着色,但 :ref:`CanvasLayer` 可用于独立渲染事物。 +.. rst-class:: classref-introduction-group + +教程 +---- + +- :doc:`2D 灯光和阴影 <../tutorials/2d/2d_lights_and_shadows>` + .. rst-class:: classref-reftable-group 属性 diff --git a/classes/zh_CN/class_canvastexture.rst b/classes/zh_CN/class_canvastexture.rst index 7322f2cc1e..ebfa8c35b4 100644 --- a/classes/zh_CN/class_canvastexture.rst +++ b/classes/zh_CN/class_canvastexture.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CanvasTexture.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CanvasTexture.xml. .. _class_CanvasTexture: diff --git a/classes/zh_CN/class_capsulemesh.rst b/classes/zh_CN/class_capsulemesh.rst index 67bd83eee2..a137948c1a 100644 --- a/classes/zh_CN/class_capsulemesh.rst +++ b/classes/zh_CN/class_capsulemesh.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CapsuleMesh.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CapsuleMesh.xml. .. _class_CapsuleMesh: diff --git a/classes/zh_CN/class_capsuleshape2d.rst b/classes/zh_CN/class_capsuleshape2d.rst index af1bdd892a..aea4c7d44e 100644 --- a/classes/zh_CN/class_capsuleshape2d.rst +++ b/classes/zh_CN/class_capsuleshape2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CapsuleShape2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CapsuleShape2D.xml. .. _class_CapsuleShape2D: diff --git a/classes/zh_CN/class_capsuleshape3d.rst b/classes/zh_CN/class_capsuleshape3d.rst index 96933b7c11..e2992820ae 100644 --- a/classes/zh_CN/class_capsuleshape3d.rst +++ b/classes/zh_CN/class_capsuleshape3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CapsuleShape3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CapsuleShape3D.xml. .. _class_CapsuleShape3D: diff --git a/classes/zh_CN/class_centercontainer.rst b/classes/zh_CN/class_centercontainer.rst index 2eb1d967f1..030dd33b08 100644 --- a/classes/zh_CN/class_centercontainer.rst +++ b/classes/zh_CN/class_centercontainer.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CenterContainer.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CenterContainer.xml. .. _class_CenterContainer: diff --git a/classes/zh_CN/class_characterbody2d.rst b/classes/zh_CN/class_characterbody2d.rst index 10efffc529..9ff22accbf 100644 --- a/classes/zh_CN/class_characterbody2d.rst +++ b/classes/zh_CN/class_characterbody2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CharacterBody2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CharacterBody2D.xml. .. _class_CharacterBody2D: @@ -572,9 +572,9 @@ enum **PlatformOnLeave**: :ref:`🔗` :ref:`KinematicCollision2D` **get_slide_collision**\ (\ slide_idx\: :ref:`int`\ ) :ref:`🔗` -返回 :ref:`KinematicCollision2D`\ ,包含最近一次调用 :ref:`move_and_slide` 时发生的碰撞信息。因为单次调用 :ref:`move_and_slide` 可能发生多次碰撞,所以你必须指定碰撞索引,范围为 0 到 (:ref:`get_slide_collision_count` - 1)。 +Returns a :ref:`KinematicCollision2D`, which contains information about a collision that occurred during the last call to :ref:`move_and_slide`. Since the body can collide several times in a single call to :ref:`move_and_slide`, you must specify the index of the collision in the range 0 to (:ref:`get_slide_collision_count` - 1). -\ **用法示例:**\ +\ **Example:** Iterate through the collisions with a ``for`` loop: .. tabs:: @@ -582,15 +582,15 @@ enum **PlatformOnLeave**: :ref:`🔗` .. code-tab:: gdscript for i in get_slide_collision_count(): - var collision = get_slide_collision(i) - print("碰到了:", collision.get_collider().name) + var collision = get_slide_collision(i) + print("Collided with: ", collision.get_collider().name) .. code-tab:: csharp for (int i = 0; i < GetSlideCollisionCount(); i++) { KinematicCollision2D collision = GetSlideCollision(i); - GD.Print("碰到了:", (collision.GetCollider() as Node).Name); + GD.Print("Collided with: ", (collision.GetCollider() as Node).Name); } diff --git a/classes/zh_CN/class_characterbody3d.rst b/classes/zh_CN/class_characterbody3d.rst index 66f625fa4a..898f4043fa 100644 --- a/classes/zh_CN/class_characterbody3d.rst +++ b/classes/zh_CN/class_characterbody3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CharacterBody3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CharacterBody3D.xml. .. _class_CharacterBody3D: diff --git a/classes/zh_CN/class_charfxtransform.rst b/classes/zh_CN/class_charfxtransform.rst index 91b7a3deab..a88587fdb4 100644 --- a/classes/zh_CN/class_charfxtransform.rst +++ b/classes/zh_CN/class_charfxtransform.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CharFXTransform.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CharFXTransform.xml. .. _class_CharFXTransform: @@ -28,8 +28,6 @@ CharFXTransform - :doc:`RichTextLabel 中的 BBCode <../tutorials/ui/bbcode_in_richtextlabel>` -- `RichTextEffect 测试项目(第三方) `__ - .. rst-class:: classref-reftable-group 属性 @@ -145,7 +143,9 @@ CharFXTransform - |void| **set_font**\ (\ value\: :ref:`RID`\ ) - :ref:`RID` **get_font**\ (\ ) -用于渲染字形的字体资源。 +:ref:`TextServer` RID of the font used to render glyph, this value can be used with ``TextServer.font_*`` methods to retrieve font information. + +\ **Note:** Read-only. Setting this property won't affect drawing. .. rst-class:: classref-item-separator @@ -162,7 +162,9 @@ CharFXTransform - |void| **set_glyph_count**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_glyph_count**\ (\ ) -字素簇中的字形数量。该值在簇的第一个字形中设置。设置此属性不会影响绘制。 +Number of glyphs in the grapheme cluster. This value is set in the first glyph of a cluster. + +\ **Note:** Read-only. Setting this property won't affect drawing. .. rst-class:: classref-item-separator @@ -179,7 +181,9 @@ CharFXTransform - |void| **set_glyph_flags**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_glyph_flags**\ (\ ) -字形标志。详情见 :ref:`GraphemeFlag`\ 。设置此属性不会影响绘制。 +Glyph flags. See :ref:`GraphemeFlag` for more info. + +\ **Note:** Read-only. Setting this property won't affect drawing. .. rst-class:: classref-item-separator @@ -196,7 +200,7 @@ CharFXTransform - |void| **set_glyph_index**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_glyph_index**\ (\ ) -字体特定字形的索引。 +Glyph index specific to the :ref:`font`. If you want to replace this glyph, use :ref:`TextServer.font_get_glyph_index` with :ref:`font` to get a new glyph index for a single character. .. rst-class:: classref-item-separator @@ -230,7 +234,9 @@ CharFXTransform - |void| **set_outline**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_outline**\ (\ ) -如果为 ``true``\ ,则调用 FX 变换进行轮廓绘制。设置该属性不会影响绘制。 +If ``true``, FX transform is called for outline drawing. + +\ **Note:** Read-only. Setting this property won't affect drawing. .. rst-class:: classref-item-separator @@ -247,7 +253,9 @@ CharFXTransform - |void| **set_range**\ (\ value\: :ref:`Vector2i`\ ) - :ref:`Vector2i` **get_range**\ (\ ) -该字符串中的绝对字符范围,对应于字形。设置该属性不会影响绘制。 +Absolute character range in the string, corresponding to the glyph. + +\ **Note:** Read-only. Setting this property won't affect drawing. .. rst-class:: classref-item-separator @@ -264,7 +272,9 @@ CharFXTransform - |void| **set_relative_index**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_relative_index**\ (\ ) -该字形的字符偏移量,相对于当前 :ref:`RichTextEffect` 自定义块。设置该属性不会影响绘制。 +The character offset of the glyph, relative to the current :ref:`RichTextEffect` custom block. + +\ **Note:** Read-only. Setting this property won't affect drawing. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_checkbox.rst b/classes/zh_CN/class_checkbox.rst index 9ee1bd3112..a77024e270 100644 --- a/classes/zh_CN/class_checkbox.rst +++ b/classes/zh_CN/class_checkbox.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CheckBox.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CheckBox.xml. .. _class_CheckBox: diff --git a/classes/zh_CN/class_checkbutton.rst b/classes/zh_CN/class_checkbutton.rst index cac1c2db78..7593af005b 100644 --- a/classes/zh_CN/class_checkbutton.rst +++ b/classes/zh_CN/class_checkbutton.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CheckButton.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CheckButton.xml. .. _class_CheckButton: diff --git a/classes/zh_CN/class_circleshape2d.rst b/classes/zh_CN/class_circleshape2d.rst index 01f9d1dd18..46d0b012d6 100644 --- a/classes/zh_CN/class_circleshape2d.rst +++ b/classes/zh_CN/class_circleshape2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CircleShape2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CircleShape2D.xml. .. _class_CircleShape2D: diff --git a/classes/zh_CN/class_classdb.rst b/classes/zh_CN/class_classdb.rst index 859bbe57f6..d11393ec8f 100644 --- a/classes/zh_CN/class_classdb.rst +++ b/classes/zh_CN/class_classdb.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ClassDB.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ClassDB.xml. .. _class_ClassDB: @@ -32,8 +32,12 @@ ClassDB +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`can_instantiate`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`class_call_static`\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| | + +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`class_exists`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`APIType` | :ref:`class_get_api_type`\ (\ class\: :ref:`StringName`\ ) |const| | + +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`class_get_enum_constants`\ (\ class\: :ref:`StringName`, enum\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`class_get_enum_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | @@ -52,8 +56,12 @@ ClassDB +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`class_get_property_default_value`\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`class_get_property_getter`\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) | + +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`class_get_property_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`class_get_property_setter`\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) | + +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`class_get_signal`\ (\ class\: :ref:`StringName`, signal\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`class_get_signal_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | @@ -89,6 +97,61 @@ ClassDB .. rst-class:: classref-descriptions-group +枚举 +---- + +.. _enum_ClassDB_APIType: + +.. rst-class:: classref-enumeration + +enum **APIType**: :ref:`🔗` + +.. _class_ClassDB_constant_API_CORE: + +.. rst-class:: classref-enumeration-constant + +:ref:`APIType` **API_CORE** = ``0`` + +Native Core class type. + +.. _class_ClassDB_constant_API_EDITOR: + +.. rst-class:: classref-enumeration-constant + +:ref:`APIType` **API_EDITOR** = ``1`` + +Native Editor class type. + +.. _class_ClassDB_constant_API_EXTENSION: + +.. rst-class:: classref-enumeration-constant + +:ref:`APIType` **API_EXTENSION** = ``2`` + +GDExtension class type. + +.. _class_ClassDB_constant_API_EDITOR_EXTENSION: + +.. rst-class:: classref-enumeration-constant + +:ref:`APIType` **API_EDITOR_EXTENSION** = ``3`` + +GDExtension Editor class type. + +.. _class_ClassDB_constant_API_NONE: + +.. rst-class:: classref-enumeration-constant + +:ref:`APIType` **API_NONE** = ``4`` + +Unknown class type. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + 方法说明 -------- @@ -104,6 +167,18 @@ ClassDB ---- +.. _class_ClassDB_method_class_call_static: + +.. rst-class:: classref-method + +:ref:`Variant` **class_call_static**\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| :ref:`🔗` + +Calls a static method on a class. + +.. rst-class:: classref-item-separator + +---- + .. _class_ClassDB_method_class_exists: .. rst-class:: classref-method @@ -116,6 +191,18 @@ ClassDB ---- +.. _class_ClassDB_method_class_get_api_type: + +.. rst-class:: classref-method + +:ref:`APIType` **class_get_api_type**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` + +Returns the API type of ``class``. See :ref:`APIType`. + +.. rst-class:: classref-item-separator + +---- + .. _class_ClassDB_method_class_get_enum_constants: .. rst-class:: classref-method @@ -226,6 +313,18 @@ ClassDB ---- +.. _class_ClassDB_method_class_get_property_getter: + +.. rst-class:: classref-method + +:ref:`StringName` **class_get_property_getter**\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) :ref:`🔗` + +Returns the getter method name of ``property`` of ``class``. + +.. rst-class:: classref-item-separator + +---- + .. _class_ClassDB_method_class_get_property_list: .. rst-class:: classref-method @@ -238,6 +337,18 @@ ClassDB ---- +.. _class_ClassDB_method_class_get_property_setter: + +.. rst-class:: classref-method + +:ref:`StringName` **class_get_property_setter**\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) :ref:`🔗` + +Returns the setter method name of ``property`` of ``class``. + +.. rst-class:: classref-item-separator + +---- + .. _class_ClassDB_method_class_get_signal: .. rst-class:: classref-method diff --git a/classes/zh_CN/class_codeedit.rst b/classes/zh_CN/class_codeedit.rst index b87f82f0eb..6d95540ce4 100644 --- a/classes/zh_CN/class_codeedit.rst +++ b/classes/zh_CN/class_codeedit.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CodeEdit.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CodeEdit.xml. .. _class_CodeEdit: @@ -74,6 +74,8 @@ CodeEdit 是一种专门用于编辑纯文本代码文件的 :ref:`TextEdit` | :ref:`symbol_lookup_on_click` | ``false`` | +----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`symbol_tooltip_on_hover` | ``false`` | + +----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`TextDirection` | text_direction | ``1`` (overrides :ref:`TextEdit`) | +----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ @@ -280,6 +282,8 @@ CodeEdit 是一种专门用于编辑纯文本代码文件的 :ref:`TextEdit` | :ref:`can_fold_code_region` | | +-----------------------------------+----------------------------------------------------------------------------------------------------+-----------------------------------+ + | :ref:`Texture2D` | :ref:`completion_color_bg` | | + +-----------------------------------+----------------------------------------------------------------------------------------------------+-----------------------------------+ | :ref:`Texture2D` | :ref:`executing_line` | | +-----------------------------------+----------------------------------------------------------------------------------------------------+-----------------------------------+ | :ref:`Texture2D` | :ref:`folded` | | @@ -318,7 +322,21 @@ CodeEdit 是一种专门用于编辑纯文本代码文件的 :ref:`TextEdit` -当用户请求代码补全时触发。 +Emitted when the user requests code completion. This signal will not be sent if :ref:`_request_code_completion` is overridden or :ref:`code_completion_enabled` is ``false``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CodeEdit_signal_symbol_hovered: + +.. rst-class:: classref-signal + +**symbol_hovered**\ (\ symbol\: :ref:`String`, line\: :ref:`int`, column\: :ref:`int`\ ) :ref:`🔗` + +Emitted when the user hovers over a symbol. Unlike :ref:`Control.mouse_entered`, this signal is not emitted immediately, but when the cursor is over the symbol for :ref:`ProjectSettings.gui/timers/tooltip_delay_sec` seconds. + +\ **Note:** :ref:`symbol_tooltip_on_hover` must be ``true`` for this signal to be emitted. .. rst-class:: classref-item-separator @@ -342,7 +360,9 @@ CodeEdit 是一种专门用于编辑纯文本代码文件的 :ref:`TextEdit`\ ) :ref:`🔗` -用户将鼠标悬停在符号上时发出。应该通过调用 :ref:`set_symbol_lookup_word_as_valid` 对该符号进行验证和响应。 +Emitted when the user hovers over a symbol. The symbol should be validated and responded to, by calling :ref:`set_symbol_lookup_word_as_valid`. + +\ **Note:** :ref:`symbol_lookup_on_click` must be ``true`` for this signal to be emitted. .. rst-class:: classref-section-separator @@ -501,7 +521,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_auto_brace_completion_enabled**\ (\ ) -设置括号对是否应自动补全。 +If ``true``, uses :ref:`auto_brace_completion_pairs` to automatically insert the closing brace when the opening brace is inserted by typing or autocompletion. Also automatically removes the closing brace when using backspace on the opening brace. .. rst-class:: classref-item-separator @@ -518,7 +538,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_highlight_matching_braces_enabled**\ (\ ) -高亮不匹配的括号对。 +If ``true``, highlights brace pairs when the caret is on either one, using :ref:`auto_brace_completion_pairs`. If matching, the pairs will be underlined. If a brace is unmatched, it is colored with :ref:`brace_mismatch_color`. .. rst-class:: classref-item-separator @@ -535,7 +555,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`Dictionary` **get_auto_brace_completion_pairs**\ (\ ) -将括号对设置为自动补全。 +Sets the brace pairs to be autocompleted. For each entry in the dictionary, the key is the opening brace and the value is the closing brace that matches it. A brace is a :ref:`String` made of symbols. See :ref:`auto_brace_completion_enabled` and :ref:`auto_brace_completion_highlight_matching`. .. rst-class:: classref-item-separator @@ -552,7 +572,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_code_completion_enabled**\ (\ ) -设置是否允许代码补全。 +If ``true``, the :ref:`ProjectSettings.input/ui_text_completion_query` action requests code completion. To handle it, see :ref:`_request_code_completion` or :ref:`code_completion_requested`. .. rst-class:: classref-item-separator @@ -620,7 +640,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_drawing_bookmarks_gutter**\ (\ ) -设置是否应在边栏中绘制书签。该边栏与断点和执行行共享。 +If ``true``, bookmarks are drawn in the gutter. This gutter is shared with breakpoints and executing lines. See :ref:`set_line_as_bookmarked`. .. rst-class:: classref-item-separator @@ -637,7 +657,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_drawing_breakpoints_gutter**\ (\ ) -设置是否应在边栏中绘制断点。该边栏与书签和执行行共享。 +If ``true``, breakpoints are drawn in the gutter. This gutter is shared with bookmarks and executing lines. Clicking the gutter will toggle the breakpoint for the line, see :ref:`set_line_as_breakpoint`. .. rst-class:: classref-item-separator @@ -654,7 +674,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_drawing_executing_lines_gutter**\ (\ ) -设置是否应在边栏中绘制执行行。该边栏与断点和书签共享。 +If ``true``, executing lines are marked in the gutter. This gutter is shared with breakpoints and bookmarks. See :ref:`set_line_as_executing`. .. rst-class:: classref-item-separator @@ -671,7 +691,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_drawing_fold_gutter**\ (\ ) -设置是否应在装订线中绘制可折叠行图标。 +If ``true``, the fold gutter is drawn. In this gutter, the :ref:`can_fold_code_region` icon is drawn for each foldable line (see :ref:`can_fold_line`) and the :ref:`folded_code_region` icon is drawn for each folded line (see :ref:`is_line_folded`). These icons can be clicked to toggle the fold state, see :ref:`toggle_foldable_line`. :ref:`line_folding` must be ``true`` to show icons. .. rst-class:: classref-item-separator @@ -688,7 +708,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_draw_line_numbers_enabled**\ (\ ) -设置是否应在装订线中绘制行号。 +If ``true``, the line number gutter is drawn. Line numbers start at ``1`` and are incremented for each line of text. Clicking and dragging in the line number gutter will select entire lines of text. .. rst-class:: classref-item-separator @@ -705,7 +725,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_line_numbers_zero_padded**\ (\ ) -设置在装订线中绘制的行号是否填充零。 +If ``true``, line numbers drawn in the gutter are zero padded based on the total line count. Requires :ref:`gutters_draw_line_numbers` to be set to ``true``. .. rst-class:: classref-item-separator @@ -722,7 +742,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_auto_indent_enabled**\ (\ ) -设置是否启用自动缩进,如果找到前缀或括号,这将添加额外的缩进。 +If ``true``, an extra indent is automatically inserted when a new line is added and a prefix in :ref:`indent_automatic_prefixes` is found. If a brace pair opening key is found, the matching closing brace will be moved to another new line (see :ref:`auto_brace_completion_pairs`). .. rst-class:: classref-item-separator @@ -739,7 +759,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\[:ref:`String`\]\ ) - :ref:`Array`\[:ref:`String`\] **get_auto_indent_prefixes**\ (\ ) -触发自动缩进的前缀。 +Prefixes to trigger an automatic indent. Used when :ref:`indent_automatic` is set to ``true``. .. rst-class:: classref-item-separator @@ -790,7 +810,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) - :ref:`bool` **is_line_folding_enabled**\ (\ ) -设置是否允许折叠行。 +If ``true``, lines can be folded. Otherwise, line folding methods like :ref:`fold_line` will not work and :ref:`can_fold_line` will always return ``false``. See :ref:`gutters_draw_fold_gutter`. .. rst-class:: classref-item-separator @@ -826,6 +846,23 @@ enum **CodeCompletionLocation**: :ref:`🔗` 的验证词被点击时,应发出 :ref:`symbol_lookup`\ 。 +.. rst-class:: classref-item-separator + +---- + +.. _class_CodeEdit_property_symbol_tooltip_on_hover: + +.. rst-class:: classref-property + +:ref:`bool` **symbol_tooltip_on_hover** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_symbol_tooltip_on_hover_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_symbol_tooltip_on_hover_enabled**\ (\ ) + +Set when a word is hovered, the :ref:`symbol_hovered` should be emitted. + .. rst-class:: classref-section-separator ---- @@ -937,7 +974,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` **can_fold_line**\ (\ line\: :ref:`int`\ ) |const| :ref:`🔗` -返回给定的行是否可折叠,也就是说,它的正下方有缩进的行或注释 / 字符串块。 +Returns ``true`` if the given line is foldable. A line is foldable if it is the start of a valid code region (see :ref:`get_code_region_start_tag`), if it is the start of a comment or string block, or if the next non-empty line is more indented (see :ref:`TextEdit.get_indent_level`). .. rst-class:: classref-item-separator @@ -1077,7 +1114,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` -执行一个缩进,就像用户触发了“ui_text_indent”动作一样。 +If there is no selection, indentation is inserted at the caret. Otherwise, the selected lines are indented like :ref:`indent_lines`. Equivalent to the :ref:`ProjectSettings.input/ui_text_indent` action. The indentation characters used depend on :ref:`indent_use_spaces` and :ref:`indent_size`. .. rst-class:: classref-item-separator @@ -1305,7 +1342,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\[:ref:`int`\] **get_folded_lines**\ (\ ) |const| :ref:`🔗` -返回当前折叠的所有行。 +Returns all lines that are currently folded. .. rst-class:: classref-item-separator @@ -1401,7 +1438,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` -缩进选定的行,或者在没有选择的情况下,将光标行缩进一个。 +Indents all lines that are selected or have a caret on them. Uses spaces or a tab depending on :ref:`indent_use_spaces`. See :ref:`unindent_lines`. .. rst-class:: classref-item-separator @@ -1437,7 +1474,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` **is_line_bookmarked**\ (\ line\: :ref:`int`\ ) |const| :ref:`🔗` -返回指定索引处的行是否添加了书签。 +Returns ``true`` if the given line is bookmarked. See :ref:`set_line_as_bookmarked`. .. rst-class:: classref-item-separator @@ -1449,7 +1486,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` **is_line_breakpointed**\ (\ line\: :ref:`int`\ ) |const| :ref:`🔗` -返回指定索引处的行是否有断点。 +Returns ``true`` if the given line is breakpointed. See :ref:`set_line_as_breakpoint`. .. rst-class:: classref-item-separator @@ -1461,7 +1498,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` **is_line_code_region_end**\ (\ line\: :ref:`int`\ ) |const| :ref:`🔗` -返回指定索引处的行是否是代码区块末尾。 +Returns ``true`` if the given line is a code region end. See :ref:`set_code_region_tags`. .. rst-class:: classref-item-separator @@ -1473,7 +1510,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` **is_line_code_region_start**\ (\ line\: :ref:`int`\ ) |const| :ref:`🔗` -返回指定索引处的行是否是代码区块开始。 +Returns ``true`` if the given line is a code region start. See :ref:`set_code_region_tags`. .. rst-class:: classref-item-separator @@ -1485,7 +1522,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` **is_line_executing**\ (\ line\: :ref:`int`\ ) |const| :ref:`🔗` -返回指定索引处的行是否标记为正在执行。 +Returns ``true`` if the given line is marked as executing. See :ref:`set_line_as_executing`. .. rst-class:: classref-item-separator @@ -1497,7 +1534,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` **is_line_folded**\ (\ line\: :ref:`int`\ ) |const| :ref:`🔗` -返回指定索引处的行是否折叠。 +Returns ``true`` if the given line is folded. See :ref:`fold_line`. .. rst-class:: classref-item-separator @@ -1593,7 +1630,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) :ref:`🔗` -设置代码提示是否应绘制在文本下方。 +If ``true``, the code hint will draw below the main caret. If ``false``, the code hint will draw above the main caret. See :ref:`set_code_hint`. .. rst-class:: classref-item-separator @@ -1617,7 +1654,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`, bookmarked\: :ref:`bool`\ ) :ref:`🔗` -将该行设置为书签。 +Sets the given line as bookmarked. If ``true`` and :ref:`gutters_draw_bookmarks` is ``true``, draws the :ref:`bookmark` icon in the gutter for this line. See :ref:`get_bookmarked_lines` and :ref:`is_line_bookmarked`. .. rst-class:: classref-item-separator @@ -1629,7 +1666,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`, breakpointed\: :ref:`bool`\ ) :ref:`🔗` -将该行设置为断点。 +Sets the given line as a breakpoint. If ``true`` and :ref:`gutters_draw_breakpoints_gutter` is ``true``, draws the :ref:`breakpoint` icon in the gutter for this line. See :ref:`get_breakpointed_lines` and :ref:`is_line_breakpointed`. .. rst-class:: classref-item-separator @@ -1641,7 +1678,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`, executing\: :ref:`bool`\ ) :ref:`🔗` -将该行设置为正在执行。 +Sets the given line as executing. If ``true`` and :ref:`gutters_draw_executing_lines` is ``true``, draws the :ref:`executing_line` icon in the gutter for this line. See :ref:`get_executing_lines` and :ref:`is_line_executing`. .. rst-class:: classref-item-separator @@ -1689,7 +1726,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` -展开所有行,无论是否被折叠。 +Unfolds all lines that are folded. .. rst-class:: classref-item-separator @@ -1701,7 +1738,7 @@ enum **CodeCompletionLocation**: :ref:`🔗`\ ) :ref:`🔗` -展开之前被折叠的所有行。 +Unfolds the given line if it is folded or if it is hidden under a folded line. .. rst-class:: classref-item-separator @@ -1713,7 +1750,7 @@ enum **CodeCompletionLocation**: :ref:`🔗` -解除所选行的缩进,或者在没有选择的情况下,将光标行缩进一个。与触发“ui_text_unindent ”动作相同。 +Unindents all lines that are selected or have a caret on them. Uses spaces or a tab depending on :ref:`indent_use_spaces`. Equivalent to the :ref:`ProjectSettings.input/ui_text_dedent` action. See :ref:`indent_lines`. .. rst-class:: classref-item-separator @@ -1978,6 +2015,18 @@ enum **CodeCompletionLocation**: :ref:`🔗` **completion_color_bg** :ref:`🔗` + +Background panel for the color preview box in autocompletion (visible when the color is translucent). + +.. rst-class:: classref-item-separator + +---- + .. _class_CodeEdit_theme_icon_executing_line: .. rst-class:: classref-themeproperty diff --git a/classes/zh_CN/class_codehighlighter.rst b/classes/zh_CN/class_codehighlighter.rst index 391f170e76..d3b5148762 100644 --- a/classes/zh_CN/class_codehighlighter.rst +++ b/classes/zh_CN/class_codehighlighter.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CodeHighlighter.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CodeHighlighter.xml. .. _class_CodeHighlighter: diff --git a/classes/zh_CN/class_collisionobject2d.rst b/classes/zh_CN/class_collisionobject2d.rst index 8e81a2874e..1bd322a54a 100644 --- a/classes/zh_CN/class_collisionobject2d.rst +++ b/classes/zh_CN/class_collisionobject2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CollisionObject2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CollisionObject2D.xml. .. _class_CollisionObject2D: diff --git a/classes/zh_CN/class_collisionobject3d.rst b/classes/zh_CN/class_collisionobject3d.rst index fea75a84e7..27135837fa 100644 --- a/classes/zh_CN/class_collisionobject3d.rst +++ b/classes/zh_CN/class_collisionobject3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CollisionObject3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CollisionObject3D.xml. .. _class_CollisionObject3D: diff --git a/classes/zh_CN/class_collisionpolygon2d.rst b/classes/zh_CN/class_collisionpolygon2d.rst index 083f746048..9c7f21a56c 100644 --- a/classes/zh_CN/class_collisionpolygon2d.rst +++ b/classes/zh_CN/class_collisionpolygon2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CollisionPolygon2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CollisionPolygon2D.xml. .. _class_CollisionPolygon2D: @@ -19,9 +19,9 @@ CollisionPolygon2D 描述 ---- -一个节点,为 :ref:`CollisionObject2D` 父级提供多边形形状并允许对其进行编辑。该多边形可以是凹的或凸的。这可以为 :ref:`Area2D` 提供检测形状,将 :ref:`PhysicsBody2D` 变成实体对象,或为 :ref:`StaticBody2D` 提供空心形状。 +A node that provides a polygon shape to a :ref:`CollisionObject2D` parent and allows to edit it. The polygon can be concave or convex. This can give a detection shape to an :ref:`Area2D`, turn :ref:`PhysicsBody2D` into a solid object, or give a hollow shape to a :ref:`StaticBody2D`. -\ **警告:**\ 非均匀缩放的 :ref:`CollisionShape2D` 可能不会按预期运行。请确保在所有轴上保持其缩放相同,可改为调整其形状资源。 +\ **Warning:** A non-uniformly scaled **CollisionPolygon2D** will likely not behave as expected. Make sure to keep its scale the same on all axes and adjust its polygon instead. .. rst-class:: classref-reftable-group diff --git a/classes/zh_CN/class_collisionpolygon3d.rst b/classes/zh_CN/class_collisionpolygon3d.rst index de1cd20740..06bdffe872 100644 --- a/classes/zh_CN/class_collisionpolygon3d.rst +++ b/classes/zh_CN/class_collisionpolygon3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CollisionPolygon3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CollisionPolygon3D.xml. .. _class_CollisionPolygon3D: @@ -31,15 +31,19 @@ CollisionPolygon3D .. table:: :widths: auto - +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ - | :ref:`float` | :ref:`depth` | ``1.0`` | - +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ - | :ref:`bool` | :ref:`disabled` | ``false`` | - +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ - | :ref:`float` | :ref:`margin` | ``0.04`` | - +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ - | :ref:`PackedVector2Array` | :ref:`polygon` | ``PackedVector2Array()`` | - +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ + +-----------------------------------------------------+-------------------------------------------------------------------+--------------------------+ + | :ref:`Color` | :ref:`debug_color` | ``Color(0, 0, 0, 0)`` | + +-----------------------------------------------------+-------------------------------------------------------------------+--------------------------+ + | :ref:`bool` | :ref:`debug_fill` | ``true`` | + +-----------------------------------------------------+-------------------------------------------------------------------+--------------------------+ + | :ref:`float` | :ref:`depth` | ``1.0`` | + +-----------------------------------------------------+-------------------------------------------------------------------+--------------------------+ + | :ref:`bool` | :ref:`disabled` | ``false`` | + +-----------------------------------------------------+-------------------------------------------------------------------+--------------------------+ + | :ref:`float` | :ref:`margin` | ``0.04`` | + +-----------------------------------------------------+-------------------------------------------------------------------+--------------------------+ + | :ref:`PackedVector2Array` | :ref:`polygon` | ``PackedVector2Array()`` | + +-----------------------------------------------------+-------------------------------------------------------------------+--------------------------+ .. rst-class:: classref-section-separator @@ -50,6 +54,42 @@ CollisionPolygon3D 属性说明 -------- +.. _class_CollisionPolygon3D_property_debug_color: + +.. rst-class:: classref-property + +:ref:`Color` **debug_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_debug_color**\ (\ value\: :ref:`Color`\ ) +- :ref:`Color` **get_debug_color**\ (\ ) + +The collision shape color that is displayed in the editor, or in the running project if **Debug > Visible Collision Shapes** is checked at the top of the editor. + +\ **Note:** The default value is :ref:`ProjectSettings.debug/shapes/collision/shape_color`. The ``Color(0, 0, 0, 0)`` value documented here is a placeholder, and not the actual default debug color. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CollisionPolygon3D_property_debug_fill: + +.. rst-class:: classref-property + +:ref:`bool` **debug_fill** = ``true`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_enable_debug_fill**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **get_enable_debug_fill**\ (\ ) + +If ``true``, when the shape is displayed, it will show a solid fill color in addition to its wireframe. + +.. rst-class:: classref-item-separator + +---- + .. _class_CollisionPolygon3D_property_depth: .. rst-class:: classref-property diff --git a/classes/zh_CN/class_collisionshape2d.rst b/classes/zh_CN/class_collisionshape2d.rst index 84bf5ef886..bc9c454f9a 100644 --- a/classes/zh_CN/class_collisionshape2d.rst +++ b/classes/zh_CN/class_collisionshape2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CollisionShape2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CollisionShape2D.xml. .. _class_CollisionShape2D: @@ -43,7 +43,7 @@ CollisionShape2D :widths: auto +-------------------------------+-------------------------------------------------------------------------------------------+-----------------------+ - | :ref:`Color` | :ref:`debug_color` | ``Color(0, 0, 0, 1)`` | + | :ref:`Color` | :ref:`debug_color` | ``Color(0, 0, 0, 0)`` | +-------------------------------+-------------------------------------------------------------------------------------------+-----------------------+ | :ref:`bool` | :ref:`disabled` | ``false`` | +-------------------------------+-------------------------------------------------------------------------------------------+-----------------------+ @@ -67,16 +67,16 @@ CollisionShape2D .. rst-class:: classref-property -:ref:`Color` **debug_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗` +:ref:`Color` **debug_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_debug_color**\ (\ value\: :ref:`Color`\ ) - :ref:`Color` **get_debug_color**\ (\ ) -碰撞形状的调试颜色。 +The collision shape color that is displayed in the editor, or in the running project if **Debug > Visible Collision Shapes** is checked at the top of the editor. -\ **注意:**\ 默认值为 :ref:`ProjectSettings.debug/shapes/collision/shape_color`\ 。这里记录的 ``Color(0, 0, 0, 1)`` 值是占位符,不是实际的默认调试颜色。 +\ **Note:** The default value is :ref:`ProjectSettings.debug/shapes/collision/shape_color`. The ``Color(0, 0, 0, 0)`` value documented here is a placeholder, and not the actual default debug color. .. rst-class:: classref-item-separator diff --git a/classes/zh_CN/class_collisionshape3d.rst b/classes/zh_CN/class_collisionshape3d.rst index b38d638757..473f9ede0d 100644 --- a/classes/zh_CN/class_collisionshape3d.rst +++ b/classes/zh_CN/class_collisionshape3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CollisionShape3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CollisionShape3D.xml. .. _class_CollisionShape3D: @@ -44,11 +44,15 @@ CollisionShape3D .. table:: :widths: auto - +-------------------------------+-----------------------------------------------------------+-----------+ - | :ref:`bool` | :ref:`disabled` | ``false`` | - +-------------------------------+-----------------------------------------------------------+-----------+ - | :ref:`Shape3D` | :ref:`shape` | | - +-------------------------------+-----------------------------------------------------------+-----------+ + +-------------------------------+-----------------------------------------------------------------+-----------------------+ + | :ref:`Color` | :ref:`debug_color` | ``Color(0, 0, 0, 0)`` | + +-------------------------------+-----------------------------------------------------------------+-----------------------+ + | :ref:`bool` | :ref:`debug_fill` | ``true`` | + +-------------------------------+-----------------------------------------------------------------+-----------------------+ + | :ref:`bool` | :ref:`disabled` | ``false`` | + +-------------------------------+-----------------------------------------------------------------+-----------------------+ + | :ref:`Shape3D` | :ref:`shape` | | + +-------------------------------+-----------------------------------------------------------------+-----------------------+ .. rst-class:: classref-reftable-group @@ -73,6 +77,42 @@ CollisionShape3D 属性说明 -------- +.. _class_CollisionShape3D_property_debug_color: + +.. rst-class:: classref-property + +:ref:`Color` **debug_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_debug_color**\ (\ value\: :ref:`Color`\ ) +- :ref:`Color` **get_debug_color**\ (\ ) + +The collision shape color that is displayed in the editor, or in the running project if **Debug > Visible Collision Shapes** is checked at the top of the editor. + +\ **Note:** The default value is :ref:`ProjectSettings.debug/shapes/collision/shape_color`. The ``Color(0, 0, 0, 0)`` value documented here is a placeholder, and not the actual default debug color. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CollisionShape3D_property_debug_fill: + +.. rst-class:: classref-property + +:ref:`bool` **debug_fill** = ``true`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_enable_debug_fill**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **get_enable_debug_fill**\ (\ ) + +If ``true``, when the shape is displayed, it will show a solid fill color in addition to its wireframe. + +.. rst-class:: classref-item-separator + +---- + .. _class_CollisionShape3D_property_disabled: .. rst-class:: classref-property diff --git a/classes/zh_CN/class_color.rst b/classes/zh_CN/class_color.rst index 0dd776b58b..34a50b8a82 100644 --- a/classes/zh_CN/class_color.rst +++ b/classes/zh_CN/class_color.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Color.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Color.xml. .. _class_Color: @@ -48,29 +48,35 @@ Color .. table:: :widths: auto - +---------------------------+------------------------------------+---------+ - | :ref:`float` | :ref:`a` | ``1.0`` | - +---------------------------+------------------------------------+---------+ - | :ref:`int` | :ref:`a8` | ``255`` | - +---------------------------+------------------------------------+---------+ - | :ref:`float` | :ref:`b` | ``0.0`` | - +---------------------------+------------------------------------+---------+ - | :ref:`int` | :ref:`b8` | ``0`` | - +---------------------------+------------------------------------+---------+ - | :ref:`float` | :ref:`g` | ``0.0`` | - +---------------------------+------------------------------------+---------+ - | :ref:`int` | :ref:`g8` | ``0`` | - +---------------------------+------------------------------------+---------+ - | :ref:`float` | :ref:`h` | ``0.0`` | - +---------------------------+------------------------------------+---------+ - | :ref:`float` | :ref:`r` | ``0.0`` | - +---------------------------+------------------------------------+---------+ - | :ref:`int` | :ref:`r8` | ``0`` | - +---------------------------+------------------------------------+---------+ - | :ref:`float` | :ref:`s` | ``0.0`` | - +---------------------------+------------------------------------+---------+ - | :ref:`float` | :ref:`v` | ``0.0`` | - +---------------------------+------------------------------------+---------+ + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`a` | ``1.0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`int` | :ref:`a8` | ``255`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`b` | ``0.0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`int` | :ref:`b8` | ``0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`g` | ``0.0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`int` | :ref:`g8` | ``0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`h` | ``0.0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`ok_hsl_h` | ``0.0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`ok_hsl_l` | ``0.0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`ok_hsl_s` | ``0.0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`r` | ``0.0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`int` | :ref:`r8` | ``0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`s` | ``0.0`` | + +---------------------------+------------------------------------------------+---------+ + | :ref:`float` | :ref:`v` | ``0.0`` | + +---------------------------+------------------------------------------------+---------+ .. rst-class:: classref-reftable-group @@ -115,6 +121,8 @@ Color +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`from_ok_hsl`\ (\ h\: :ref:`float`, s\: :ref:`float`, l\: :ref:`float`, alpha\: :ref:`float` = 1.0\ ) |static| | +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`from_rgba8`\ (\ r8\: :ref:`int`, g8\: :ref:`int`, b8\: :ref:`int`, a8\: :ref:`int` = 255\ ) |static| | + +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`from_rgbe9995`\ (\ rgbe\: :ref:`int`\ ) |static| | +-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`from_string`\ (\ str\: :ref:`String`, default\: :ref:`Color`\ ) |static| | @@ -1462,6 +1470,42 @@ Color ---- +.. _class_Color_property_ok_hsl_h: + +.. rst-class:: classref-property + +:ref:`float` **ok_hsl_h** = ``0.0`` :ref:`🔗` + +The OKHSL hue of this color, on the range 0 to 1. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Color_property_ok_hsl_l: + +.. rst-class:: classref-property + +:ref:`float` **ok_hsl_l** = ``0.0`` :ref:`🔗` + +The OKHSL lightness of this color, on the range 0 to 1. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Color_property_ok_hsl_s: + +.. rst-class:: classref-property + +:ref:`float` **ok_hsl_s** = ``0.0`` :ref:`🔗` + +The OKHSL saturation of this color, on the range 0 to 1. + +.. rst-class:: classref-item-separator + +---- + .. _class_Color_property_r: .. rst-class:: classref-property @@ -1521,9 +1565,9 @@ Color :ref:`Color` **Color**\ (\ ) :ref:`🔗` -用不透明的黑色构造默认的 **Color**\ ,与 :ref:`BLACK` 相同。 +Constructs a default **Color** from opaque black. This is the same as :ref:`BLACK`. -\ **注意:**\ 在 C# 中构造的空颜色,其所有分量都为 ``0.0``\ (透明黑)。 +\ **Note:** In C#, this constructs a **Color** with all of its components set to ``0.0`` (transparent black). .. rst-class:: classref-item-separator @@ -1747,6 +1791,26 @@ Color +.. rst-class:: classref-item-separator + +---- + +.. _class_Color_method_from_rgba8: + +.. rst-class:: classref-method + +:ref:`Color` **from_rgba8**\ (\ r8\: :ref:`int`, g8\: :ref:`int`, b8\: :ref:`int`, a8\: :ref:`int` = 255\ ) |static| :ref:`🔗` + +Returns a **Color** constructed from red (``r8``), green (``g8``), blue (``b8``), and optionally alpha (``a8``) integer channels, each divided by ``255.0`` for their final value. + +:: + + var red = Color.from_rgba8(255, 0, 0) # Same as Color(1, 0, 0). + var dark_blue = Color.from_rgba8(0, 0, 51) # Same as Color(0, 0, 0.2). + var my_color = Color.from_rgba8(306, 255, 0, 102) # Same as Color(1.2, 1, 0, 0.4). + +\ **Note:** Due to the lower precision of :ref:`from_rgba8` compared to the standard **Color** constructor, a color created with :ref:`from_rgba8` will generally not be equal to the same color created with the standard **Color** constructor. Use :ref:`is_equal_approx` for comparisons to avoid issues with floating-point precision error. + .. rst-class:: classref-item-separator ---- diff --git a/classes/zh_CN/class_colorpalette.rst b/classes/zh_CN/class_colorpalette.rst new file mode 100644 index 0000000000..39e50954d8 --- /dev/null +++ b/classes/zh_CN/class_colorpalette.rst @@ -0,0 +1,67 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ColorPalette.xml. + +.. _class_ColorPalette: + +ColorPalette +============ + +**继承:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` + +A resource class for managing a palette of colors, which can be loaded and saved using :ref:`ColorPicker`. + +.. rst-class:: classref-introduction-group + +描述 +---- + +The **ColorPalette** resource is designed to store and manage a collection of colors. This resource is useful in scenarios where a predefined set of colors is required, such as for creating themes, designing user interfaces, or managing game assets. The built-in :ref:`ColorPicker` control can also make use of **ColorPalette** without additional code. + +.. rst-class:: classref-reftable-group + +属性 +---- + +.. table:: + :widths: auto + + +-------------------------------------------------+---------------------------------------------------+------------------------+ + | :ref:`PackedColorArray` | :ref:`colors` | ``PackedColorArray()`` | + +-------------------------------------------------+---------------------------------------------------+------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +属性说明 +-------- + +.. _class_ColorPalette_property_colors: + +.. rst-class:: classref-property + +:ref:`PackedColorArray` **colors** = ``PackedColorArray()`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_colors**\ (\ value\: :ref:`PackedColorArray`\ ) +- :ref:`PackedColorArray` **get_colors**\ (\ ) + +A :ref:`PackedColorArray` containing the colors in the palette. + +**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedColorArray` for more details. + +.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)` +.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)` +.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)` +.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)` +.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)` +.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)` +.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)` +.. |void| replace:: :abbr:`void (无返回值。)` diff --git a/classes/zh_CN/class_colorpicker.rst b/classes/zh_CN/class_colorpicker.rst index d92171a971..b303c80979 100644 --- a/classes/zh_CN/class_colorpicker.rst +++ b/classes/zh_CN/class_colorpicker.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ColorPicker.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ColorPicker.xml. .. _class_ColorPicker: @@ -111,16 +111,18 @@ ColorPicker +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`color_hue` | | +-----------------------------------+----------------------------------------------------------------------------------------+---------+ - | :ref:`Texture2D` | :ref:`color_okhsl_hue` | | - +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`expanded_arrow` | | +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`folded_arrow` | | +-----------------------------------+----------------------------------------------------------------------------------------+---------+ + | :ref:`Texture2D` | :ref:`menu_option` | | + +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`overbright_indicator` | | +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`picker_cursor` | | +-----------------------------------+----------------------------------------------------------------------------------------+---------+ + | :ref:`Texture2D` | :ref:`picker_cursor_bg` | | + +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`sample_bg` | | +-----------------------------------+----------------------------------------------------------------------------------------+---------+ | :ref:`Texture2D` | :ref:`sample_revert` | | @@ -666,18 +668,6 @@ HSL OK 颜色模型圆形色彩空间。 ---- -.. _class_ColorPicker_theme_icon_color_okhsl_hue: - -.. rst-class:: classref-themeproperty - -:ref:`Texture2D` **color_okhsl_hue** :ref:`🔗` - -OKHSL 颜色模式的 H 滑块的自定义纹理。 - -.. rst-class:: classref-item-separator - ----- - .. _class_ColorPicker_theme_icon_expanded_arrow: .. rst-class:: classref-themeproperty @@ -702,6 +692,18 @@ OKHSL 颜色模式的 H 滑块的自定义纹理。 ---- +.. _class_ColorPicker_theme_icon_menu_option: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **menu_option** :ref:`🔗` + +The icon for color preset option menu. + +.. rst-class:: classref-item-separator + +---- + .. _class_ColorPicker_theme_icon_overbright_indicator: .. rst-class:: classref-themeproperty @@ -726,6 +728,18 @@ OKHSL 颜色模式的 H 滑块的自定义纹理。 ---- +.. _class_ColorPicker_theme_icon_picker_cursor_bg: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **picker_cursor_bg** :ref:`🔗` + +The fill image displayed behind the picker cursor. + +.. rst-class:: classref-item-separator + +---- + .. _class_ColorPicker_theme_icon_sample_bg: .. rst-class:: classref-themeproperty diff --git a/classes/zh_CN/class_colorpickerbutton.rst b/classes/zh_CN/class_colorpickerbutton.rst index 0bc843f132..56b254ed8c 100644 --- a/classes/zh_CN/class_colorpickerbutton.rst +++ b/classes/zh_CN/class_colorpickerbutton.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ColorPickerButton.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ColorPickerButton.xml. .. _class_ColorPickerButton: diff --git a/classes/zh_CN/class_colorrect.rst b/classes/zh_CN/class_colorrect.rst index bbc4b33c29..861f907498 100644 --- a/classes/zh_CN/class_colorrect.rst +++ b/classes/zh_CN/class_colorrect.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ColorRect.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ColorRect.xml. .. _class_ColorRect: diff --git a/classes/zh_CN/class_compositor.rst b/classes/zh_CN/class_compositor.rst index f0b45f8cc5..82d3f76494 100644 --- a/classes/zh_CN/class_compositor.rst +++ b/classes/zh_CN/class_compositor.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Compositor.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Compositor.xml. .. _class_Compositor: @@ -23,6 +23,13 @@ Compositor 合成器资源存储用于自定义 :ref:`Viewport` 渲染方式的属性。 +.. rst-class:: classref-introduction-group + +教程 +---- + +- :doc:`The Compositor <../tutorials/rendering/compositor>` + .. rst-class:: classref-reftable-group 属性 diff --git a/classes/zh_CN/class_compositoreffect.rst b/classes/zh_CN/class_compositoreffect.rst index e40cd43c39..be9490f64f 100644 --- a/classes/zh_CN/class_compositoreffect.rst +++ b/classes/zh_CN/class_compositoreffect.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CompositorEffect.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CompositorEffect.xml. .. _class_CompositorEffect: @@ -23,6 +23,13 @@ CompositorEffect 这种资源定义的是自定义渲染效果,可以通过视口的 :ref:`Environment` 应用到 :ref:`Viewport` 上。可以实现在渲染管道的给定阶段进行渲染期间调用的回调,并允许插入其他阶段。请注意,该回调是在渲染线程上执行的。CompositorEffect 是抽象基类,实现特定的渲染逻辑必须对该类进行扩展。 +.. rst-class:: classref-introduction-group + +教程 +---- + +- :doc:`The Compositor <../tutorials/rendering/compositor>` + .. rst-class:: classref-reftable-group 属性 @@ -112,7 +119,7 @@ enum **EffectCallbackType**: :ref:`🔗` **EFFECT_CALLBACK_TYPE_POST_TRANSPARENT** = ``4`` -该回调在我们的透明渲染阶段之后、任何构建后期效果和输出到渲染目标之前调用。 +The callback is called after our transparent rendering pass, but before any built-in post-processing effects and output to our render target. .. _class_CompositorEffect_constant_EFFECT_CALLBACK_TYPE_MAX: @@ -142,13 +149,13 @@ enum **EffectCallbackType**: :ref:`🔗`\ ) - :ref:`bool` **get_access_resolved_color**\ (\ ) -如果为 ``true`` 并且启用了 MSAA,则会在执行该效果之前触发颜色缓冲的解析。 +If ``true`` and MSAA is enabled, this will trigger a color buffer resolve before the effect is run. -\ **注意:**\ 要在 :ref:`_render_callback` 中访问解析后的缓冲,请使用: +\ **Note:** In :ref:`_render_callback`, to access the resolved buffer use: :: - var render_scene_buffers : RenderSceneBuffersRD = render_data.get_render_scene_buffers() + var render_scene_buffers = render_data.get_render_scene_buffers() var color_buffer = render_scene_buffers.get_texture("render_buffers", "color") .. rst-class:: classref-item-separator @@ -166,13 +173,13 @@ enum **EffectCallbackType**: :ref:`🔗`\ ) - :ref:`bool` **get_access_resolved_depth**\ (\ ) -如果为 ``true`` 并且启用了 MSAA,则会在执行该效果之前触发深度缓冲的解析。 +If ``true`` and MSAA is enabled, this will trigger a depth buffer resolve before the effect is run. -\ **注意:**\ 要在 :ref:`_render_callback` 中访问解析后的缓冲,请使用: +\ **Note:** In :ref:`_render_callback`, to access the resolved buffer use: :: - var render_scene_buffers : RenderSceneBuffersRD = render_data.get_render_scene_buffers() + var render_scene_buffers = render_data.get_render_scene_buffers() var depth_buffer = render_scene_buffers.get_texture("render_buffers", "depth") .. rst-class:: classref-item-separator @@ -224,13 +231,13 @@ enum **EffectCallbackType**: :ref:`🔗`\ ) - :ref:`bool` **get_needs_motion_vectors**\ (\ ) -如果为 ``true``\ ,则会在不透明渲染状态下触发运动向量的计算。 +If ``true`` this triggers motion vectors being calculated during the opaque render state. -**\ **注意:**\ 要在 :ref:`_render_callback` 中访问运动向量缓冲,请使用: +\ **Note:** In :ref:`_render_callback`, to access the motion vector buffer use: :: - var render_scene_buffers : RenderSceneBuffersRD = render_data.get_render_scene_buffers() + var render_scene_buffers = render_data.get_render_scene_buffers() var motion_buffer = render_scene_buffers.get_velocity_texture() .. rst-class:: classref-item-separator @@ -248,15 +255,28 @@ enum **EffectCallbackType**: :ref:`🔗`\ ) - :ref:`bool` **get_needs_normal_roughness**\ (\ ) -如果为 ``true``\ ,则会在深度预阶段触发法线和粗糙度数据的输出,仅适用于 Forward+ 渲染器。 +If ``true`` this triggers normal and roughness data to be output during our depth pre-pass, only applicable for the Forward+ renderer. -**\ **注意:**\ 要在 :ref:`_render_callback` 中访问粗糙度缓冲,请使用: +\ **Note:** In :ref:`_render_callback`, to access the roughness buffer use: :: - var render_scene_buffers : RenderSceneBuffersRD = render_data.get_render_scene_buffers() + var render_scene_buffers = render_data.get_render_scene_buffers() var roughness_buffer = render_scene_buffers.get_texture("forward_clustered", "normal_roughness") +The raw normal and roughness buffer is stored in an optimized format, different than the one available in Spatial shaders. When sampling the buffer, a conversion function must be applied. Use this function, copied from `here `__: + +:: + + vec4 normal_roughness_compatibility(vec4 p_normal_roughness) { + float roughness = p_normal_roughness.w; + if (roughness > 0.5) { + roughness = 1.0 - roughness; + } + roughness /= (127.0 / 255.0); + return vec4(normalize(p_normal_roughness.xyz * 2.0 - 1.0) * 0.5 + 0.5, roughness); + } + .. rst-class:: classref-item-separator ---- diff --git a/classes/zh_CN/class_compressedcubemap.rst b/classes/zh_CN/class_compressedcubemap.rst index 07825213a4..534fd1fe50 100644 --- a/classes/zh_CN/class_compressedcubemap.rst +++ b/classes/zh_CN/class_compressedcubemap.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CompressedCubemap.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CompressedCubemap.xml. .. _class_CompressedCubemap: diff --git a/classes/zh_CN/class_compressedcubemaparray.rst b/classes/zh_CN/class_compressedcubemaparray.rst index 71de631db6..e1aa5f2012 100644 --- a/classes/zh_CN/class_compressedcubemaparray.rst +++ b/classes/zh_CN/class_compressedcubemaparray.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CompressedCubemapArray.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CompressedCubemapArray.xml. .. _class_CompressedCubemapArray: diff --git a/classes/zh_CN/class_compressedtexture2d.rst b/classes/zh_CN/class_compressedtexture2d.rst index 21f37c459f..0ed5977764 100644 --- a/classes/zh_CN/class_compressedtexture2d.rst +++ b/classes/zh_CN/class_compressedtexture2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CompressedTexture2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CompressedTexture2D.xml. .. _class_CompressedTexture2D: diff --git a/classes/zh_CN/class_compressedtexture2darray.rst b/classes/zh_CN/class_compressedtexture2darray.rst index 4e42769f8c..5d242be1c5 100644 --- a/classes/zh_CN/class_compressedtexture2darray.rst +++ b/classes/zh_CN/class_compressedtexture2darray.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CompressedTexture2DArray.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CompressedTexture2DArray.xml. .. _class_CompressedTexture2DArray: diff --git a/classes/zh_CN/class_compressedtexture3d.rst b/classes/zh_CN/class_compressedtexture3d.rst index 18c533504f..892e4dcaa8 100644 --- a/classes/zh_CN/class_compressedtexture3d.rst +++ b/classes/zh_CN/class_compressedtexture3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CompressedTexture3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CompressedTexture3D.xml. .. _class_CompressedTexture3D: diff --git a/classes/zh_CN/class_compressedtexturelayered.rst b/classes/zh_CN/class_compressedtexturelayered.rst index 8c1d2af607..4ff0b0241f 100644 --- a/classes/zh_CN/class_compressedtexturelayered.rst +++ b/classes/zh_CN/class_compressedtexturelayered.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/CompressedTextureLayered.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CompressedTextureLayered.xml. .. _class_CompressedTextureLayered: diff --git a/classes/zh_CN/class_concavepolygonshape2d.rst b/classes/zh_CN/class_concavepolygonshape2d.rst index b2da7e0f6a..75ac718cfe 100644 --- a/classes/zh_CN/class_concavepolygonshape2d.rst +++ b/classes/zh_CN/class_concavepolygonshape2d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ConcavePolygonShape2D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ConcavePolygonShape2D.xml. .. _class_ConcavePolygonShape2D: diff --git a/classes/zh_CN/class_concavepolygonshape3d.rst b/classes/zh_CN/class_concavepolygonshape3d.rst index 25f963c7d8..55387d305b 100644 --- a/classes/zh_CN/class_concavepolygonshape3d.rst +++ b/classes/zh_CN/class_concavepolygonshape3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ConcavePolygonShape3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ConcavePolygonShape3D.xml. .. _class_ConcavePolygonShape3D: diff --git a/classes/zh_CN/class_conetwistjoint3d.rst b/classes/zh_CN/class_conetwistjoint3d.rst index 738634ab6a..f0871c6ff6 100644 --- a/classes/zh_CN/class_conetwistjoint3d.rst +++ b/classes/zh_CN/class_conetwistjoint3d.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ConeTwistJoint3D.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ConeTwistJoint3D.xml. .. _class_ConeTwistJoint3D: diff --git a/classes/zh_CN/class_configfile.rst b/classes/zh_CN/class_configfile.rst index faedab1ff7..8f3b1425e9 100644 --- a/classes/zh_CN/class_configfile.rst +++ b/classes/zh_CN/class_configfile.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ConfigFile.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ConfigFile.xml. .. _class_ConfigFile: diff --git a/classes/zh_CN/class_confirmationdialog.rst b/classes/zh_CN/class_confirmationdialog.rst index 3160a6c4f9..67dd76c021 100644 --- a/classes/zh_CN/class_confirmationdialog.rst +++ b/classes/zh_CN/class_confirmationdialog.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/ConfirmationDialog.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ConfirmationDialog.xml. .. _class_ConfirmationDialog: diff --git a/classes/zh_CN/class_container.rst b/classes/zh_CN/class_container.rst index f77752f6cb..a8666aa66a 100644 --- a/classes/zh_CN/class_container.rst +++ b/classes/zh_CN/class_container.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Container.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Container.xml. .. _class_Container: diff --git a/classes/zh_CN/class_control.rst b/classes/zh_CN/class_control.rst index 61fe1f73e3..feb536693c 100644 --- a/classes/zh_CN/class_control.rst +++ b/classes/zh_CN/class_control.rst @@ -2,8 +2,8 @@ .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. -.. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py. -.. XML source: https://github.com/godotengine/godot/tree/4.3/doc/classes/Control.xml. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Control.xml. .. _class_Control: @@ -21,25 +21,27 @@ Control 描述 ---- -所有 UI 相关节点的基类。\ **Control** 具有定义其范围的边界矩形,相对于父控件或当前视口的锚点位置,以及相对于锚点的偏移。当节点、任何父节点或屏幕尺寸发生变化时,偏移就会自动更新。 +Base class for all UI-related nodes. **Control** features a bounding rectangle that defines its extents, an anchor position relative to its parent control or the current viewport, and offsets relative to the anchor. The offsets update automatically when the node, any of its parents, or the screen size change. -更多关于 Godot 的 UI 系统、锚点、偏移和容器的信息,请参阅手册中的相关教程。要构建灵活的 UI,你需要混合使用从 **Control** 和 :ref:`Container` 节点继承的 UI 元素。 +For more information on Godot's UI system, anchors, offsets, and containers, see the related tutorials in the manual. To build flexible UIs, you'll need a mix of UI elements that inherit from **Control** and :ref:`Container` nodes. -\ **用户界面节点与输入**\ +\ **Note:** Since both :ref:`Node2D` and **Control** inherit from :ref:`CanvasItem`, they share several concepts from the class such as the :ref:`CanvasItem.z_index` and :ref:`CanvasItem.visible` properties. -Godot 使用视口来传播输入事件。视口负责将 :ref:`InputEvent` 传播给它的子节点。因为 :ref:`SceneTree.root` 是 :ref:`Window`\ ,所以游戏中的所有 UI 元素都会自动进行传播。 +\ **User Interface nodes and input**\ -输入事件通过调用 :ref:`Node._input` 在 :ref:`SceneTree` 中传播,从根节点传播到所有子节点。对 UI 元素而言,覆盖的最好是 :ref:`_gui_input`\ ,可以过滤掉无关的输入事件,例如它会对 Z 顺序、\ :ref:`mouse_filter`\ 、焦点、事件是否在该控件的边界框内等条件进行检查。 +Godot propagates input events via viewports. Each :ref:`Viewport` is responsible for propagating :ref:`InputEvent`\ s to their child nodes. As the :ref:`SceneTree.root` is a :ref:`Window`, this already happens automatically for all UI elements in your game. -请调用 :ref:`accept_event`\ ,这样其他节点就不会收到该事件。输入被接受后,就会被标记为已处理,\ :ref:`Node._unhandled_input` 不会对它进行处理。 +Input events are propagated through the :ref:`SceneTree` from the root node to all child nodes by calling :ref:`Node._input`. For UI elements specifically, it makes more sense to override the virtual method :ref:`_gui_input`, which filters out unrelated input events, such as by checking z-order, :ref:`mouse_filter`, focus, or if the event was inside of the control's bounding box. -只能有一个 **Control** 节点处于焦点。只有处于焦点的节点才会接收到事件。要获得焦点,请调用 :ref:`grab_focus`\ 。导致 **Control** 节点失去焦点的情况有:其他节点获得了焦点、隐藏了聚焦节点。 +Call :ref:`accept_event` so no other node receives the event. Once you accept an input, it becomes handled so :ref:`Node._unhandled_input` will not process it. -将 :ref:`mouse_filter` 设置为 :ref:`MOUSE_FILTER_IGNORE` 可以让 **Control** 节点忽略鼠标或触摸事件。如果你在按钮上放了一个图标,就会需要用到。 +Only one **Control** node can be in focus. Only the node in focus will receive events. To get the focus, call :ref:`grab_focus`. **Control** nodes lose focus when another node grabs it, or if you hide the node in focus. -\ :ref:`Theme` 资源会更改控件的外观。如果你更改了 **Control** 节点上的 :ref:`Theme`\ ,则会影响其所有子节点。要覆盖某些主题的参数,请调用 ``add_theme_*_override`` 方法,例如 :ref:`add_theme_font_override`\ 。你可以使用检查器覆盖主题。 +Sets :ref:`mouse_filter` to :ref:`MOUSE_FILTER_IGNORE` to tell a **Control** node to ignore mouse or touch events. You'll need it if you place an icon on top of a button. -\ **注意:**\ 主题项\ *不是* :ref:`Object` 的属性。这意味着你无法使用 :ref:`Object.get` 和 :ref:`Object.set` 访问它们的值。请改用这个类的 ``get_theme_*`` 和 ``add_theme_*_override`` 方法。 +\ :ref:`Theme` resources change the control's appearance. The :ref:`theme` of a **Control** node affects all of its direct and indirect children (as long as a chain of controls is uninterrupted). To override some of the theme items, call one of the ``add_theme_*_override`` methods, like :ref:`add_theme_font_override`. You can also override theme items in the Inspector. + +\ **Note:** Theme items are *not* :ref:`Object` properties. This means you can't access their values using :ref:`Object.get` and :ref:`Object.set`. Instead, use the ``get_theme_*`` and ``add_theme_*_override`` methods provided by this class. .. rst-class:: classref-introduction-group @@ -143,6 +145,8 @@ Godot 使用视口来传播输入事件。视口负责将 :ref:`InputEvent` | :ref:`theme_type_variation` | ``&""`` | +---------------------------------------------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`AutoTranslateMode` | :ref:`tooltip_auto_translate_mode` | ``0`` | + +---------------------------------------------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`String` | :ref:`tooltip_text` | ``""`` | +---------------------------------------------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ @@ -894,7 +898,7 @@ enum **MouseFilter**: :ref:`🔗` :ref:`MouseFilter` **MOUSE_FILTER_STOP** = ``0`` -在控件上点击时,将通过 :ref:`_gui_input` 收到鼠标移动输入事件和鼠标按钮输入事件。控件能够接收到 :ref:`mouse_entered` 和 :ref:`mouse_exited` 信号。这些事件将自动被标记为已处理,不会进一步传播到其他控件。这也会导致其他控件中的信号被阻止。 +The control will receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input`. The control will also receive the :ref:`mouse_entered` and :ref:`mouse_exited` signals. These events are automatically marked as handled, and they will not propagate further to other controls. This also results in blocking signals in other controls. .. _class_Control_constant_MOUSE_FILTER_PASS: @@ -902,7 +906,9 @@ enum **MouseFilter**: :ref:`🔗` :ref:`MouseFilter` **MOUSE_FILTER_PASS** = ``1`` -在控件上点击时,将通过 :ref:`_gui_input` 收到鼠标移动输入事件和鼠标按钮输入事件。并且控件能够接收到 :ref:`mouse_entered` 和 :ref:`mouse_exited` 信号。如果此控件不处理事件,则将考虑其父控件(如果有的话),依此类推,直到没有更多的父控件可以处理该事件。这也允许信号在其他控件中触发。如果没有控件处理它,该事件将被传递到 :ref:`Node._shortcut_input` 进行进一步处理。 +The control will receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input`. The control will also receive the :ref:`mouse_entered` and :ref:`mouse_exited` signals. + +If this control does not handle the event, the event will propagate up to its parent control if it has one. The event is bubbled up the node hierarchy until it reaches a non-:ref:`CanvasItem`, a control with :ref:`MOUSE_FILTER_STOP`, or a :ref:`CanvasItem` with :ref:`CanvasItem.top_level` enabled. This will allow signals to fire in all controls it reaches. If no control handled it, the event will be passed to :ref:`Node._shortcut_input` for further processing. .. _class_Control_constant_MOUSE_FILTER_IGNORE: @@ -910,9 +916,9 @@ enum **MouseFilter**: :ref:`🔗` :ref:`MouseFilter` **MOUSE_FILTER_IGNORE** = ``2`` -在控件上点击时,不会通过 :ref:`_gui_input` 收到鼠标移动输入事件和鼠标按钮输入事件,也不会接收到 :ref:`mouse_entered` 和 :ref:`mouse_exited` 信号。这不会阻止其他控件接收这些事件或触发信号。被忽略的事件将不会被自动处理。 +The control will not receive any mouse movement input events nor mouse button input events through :ref:`_gui_input`. The control will also not receive the :ref:`mouse_entered` nor :ref:`mouse_exited` signals. This will not block other controls from receiving these events or firing the signals. Ignored events will not be handled automatically. If a child has :ref:`MOUSE_FILTER_PASS` and an event was passed to this control, the event will further propagate up to the control's parent. -\ **注意:**\ 如果控件已收到 :ref:`mouse_entered` 但未收到 :ref:`mouse_exited`\ ,则将 :ref:`mouse_filter` 更改为 :ref:`MOUSE_FILTER_IGNORE` 将导致发出 :ref:`mouse_exited`\ 。 +\ **Note:** If the control has received :ref:`mouse_entered` but not :ref:`mouse_exited`, changing the :ref:`mouse_filter` to :ref:`MOUSE_FILTER_IGNORE` will cause :ref:`mouse_exited` to be emitted. .. rst-class:: classref-item-separator @@ -992,11 +998,11 @@ enum **LayoutDirection**: :ref:`🔗` 自动布局方向,由父控件布局方向决定。 -.. _class_Control_constant_LAYOUT_DIRECTION_LOCALE: +.. _class_Control_constant_LAYOUT_DIRECTION_APPLICATION_LOCALE: .. rst-class:: classref-enumeration-constant -:ref:`LayoutDirection` **LAYOUT_DIRECTION_LOCALE** = ``1`` +:ref:`LayoutDirection` **LAYOUT_DIRECTION_APPLICATION_LOCALE** = ``1`` 自动布局方向,根据当前语言环境确定。 @@ -1016,6 +1022,32 @@ enum **LayoutDirection**: :ref:`🔗` 从右至左的布局方向。 +.. _class_Control_constant_LAYOUT_DIRECTION_SYSTEM_LOCALE: + +.. rst-class:: classref-enumeration-constant + +:ref:`LayoutDirection` **LAYOUT_DIRECTION_SYSTEM_LOCALE** = ``4`` + +Automatic layout direction, determined from the system locale. + +.. _class_Control_constant_LAYOUT_DIRECTION_MAX: + +.. rst-class:: classref-enumeration-constant + +:ref:`LayoutDirection` **LAYOUT_DIRECTION_MAX** = ``5`` + +Represents the size of the :ref:`LayoutDirection` enum. + +.. _class_Control_constant_LAYOUT_DIRECTION_LOCALE: + +.. rst-class:: classref-enumeration-constant + +:ref:`LayoutDirection` **LAYOUT_DIRECTION_LOCALE** = ``1`` + +**已弃用:** Use :ref:`LAYOUT_DIRECTION_APPLICATION_LOCALE` instead. + + + .. rst-class:: classref-item-separator ---- @@ -1581,9 +1613,11 @@ enum **TextDirection**: :ref:`🔗` - |void| **set_force_pass_scroll_events**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_force_pass_scroll_events**\ (\ ) -启用后,即使 :ref:`mouse_filter` 被设置为 :ref:`MOUSE_FILTER_STOP`\ ,由 :ref:`_gui_input` 处理的滚轮事件也会被传递给父控件。由于它默认为“真”,这允许嵌套的可滚动容器可以开箱即用。 +When enabled, scroll wheel events processed by :ref:`_gui_input` will be passed to the parent control even if :ref:`mouse_filter` is set to :ref:`MOUSE_FILTER_STOP`. -如果不希望滚动事件进入 :ref:`Node._unhandled_input` 处理,则应该在用户界面的根部禁用它。 +You should disable it on the root of your UI if you do not want scroll events to go to the :ref:`Node._unhandled_input` processing. + +\ **Note:** Because this property defaults to ``true``, this allows nested scrollable containers to work out of the box. .. rst-class:: classref-item-separator @@ -1883,6 +1917,25 @@ enum **TextDirection**: :ref:`🔗` ---- +.. _class_Control_property_tooltip_auto_translate_mode: + +.. rst-class:: classref-property + +:ref:`AutoTranslateMode` **tooltip_auto_translate_mode** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_tooltip_auto_translate_mode**\ (\ value\: :ref:`AutoTranslateMode`\ ) +- :ref:`AutoTranslateMode` **get_tooltip_auto_translate_mode**\ (\ ) + +Defines if tooltip text should automatically change to its translated version depending on the current locale. Uses the same auto translate mode as this control when set to :ref:`Node.AUTO_TRANSLATE_MODE_INHERIT`. + +\ **Note:** Tooltips customized using :ref:`_make_custom_tooltip` do not use this auto translate mode automatically. + +.. rst-class:: classref-item-separator + +---- + .. _class_Control_property_tooltip_text: .. rst-class:: classref-property @@ -1894,9 +1947,11 @@ enum **TextDirection**: :ref:`🔗` - |void| **set_tooltip_text**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_tooltip_text**\ (\ ) -默认工具提示文本。如果 :ref:`mouse_filter` 属性不是 :ref:`MOUSE_FILTER_IGNORE`\ ,则当用户的鼠标光标在此控件上停留片刻时,将出现工具提示。可以使用 :ref:`ProjectSettings.gui/timers/tooltip_delay_sec` 选项更改工具提示出现所需的时间。另见 :ref:`get_tooltip`\ 。 +The default tooltip text. The tooltip appears when the user's mouse cursor stays idle over this control for a few moments, provided that the :ref:`mouse_filter` property is not :ref:`MOUSE_FILTER_IGNORE`. The time required for the tooltip to appear can be changed with the :ref:`ProjectSettings.gui/timers/tooltip_delay_sec` setting. -工具提示弹出窗口将使用默认实现,或者使用通过覆盖 :ref:`_make_custom_tooltip` 提供的自定义实现。默认工具提示包括一个 :ref:`PopupPanel` 和 :ref:`Label`\ ,其主题属性可以使用 :ref:`Theme` 方法分别对 ``"TooltipPanel"`` 和 ``"TooltipLabel"`` 进行自定义。例如: +This string is the default return value of :ref:`get_tooltip`. Override :ref:`_get_tooltip` to generate tooltip text dynamically. Override :ref:`_make_custom_tooltip` to customize the tooltip interface and behavior. + +The tooltip popup will use either a default implementation, or a custom one that you can provide by overriding :ref:`_make_custom_tooltip`. The default tooltip includes a :ref:`PopupPanel` and :ref:`Label` whose theme properties can be customized using :ref:`Theme` methods with the ``"TooltipPanel"`` and ``"TooltipLabel"`` respectively. For example: .. tabs:: @@ -1906,7 +1961,7 @@ enum **TextDirection**: :ref:`🔗` var style_box = StyleBoxFlat.new() style_box.set_bg_color(Color(1, 1, 0)) style_box.set_border_width_all(2) - # 我们在这里假设`Theme`属性已经被事先分配了一个自定义的主题。 + # We assume here that the `theme` property has been assigned a custom Theme beforehand. theme.set_stylebox("panel", "TooltipPanel", style_box) theme.set_color("font_color", "TooltipLabel", Color(0, 1, 1)) @@ -1915,7 +1970,7 @@ enum **TextDirection**: :ref:`🔗` var styleBox = new StyleBoxFlat(); styleBox.SetBgColor(new Color(1, 1, 0)); styleBox.SetBorderWidthAll(2); - // 我们在这里假设`Theme`属性已经被事先分配了一个自定义的主题。 + // We assume here that the `Theme` property has been assigned a custom Theme beforehand. Theme.SetStyleBox("panel", "TooltipPanel", styleBox); Theme.SetColor("font_color", "TooltipLabel", new Color(0, 1, 1)); @@ -1971,7 +2026,7 @@ Godot 调用这个方法来检查是否能够将来自某个控件 :ref:`_get_dr |void| **_drop_data**\ (\ at_position\: :ref:`Vector2`, data\: :ref:`Variant`\ ) |virtual| :ref:`🔗` -Godot 调用该方法把 ``data`` 传给你,这是从某个控件的 :ref:`_get_drag_data` 获得的结果。Godot 首先会调用 :ref:`_can_drop_data` 来检查是否允许把 ``data`` 拖放到 ``at_position``\ ,这里的 ``at_position`` 使用的是这个控件的局部坐标系。 +Godot calls this method to pass you the ``data`` from a control's :ref:`_get_drag_data` result. Godot first calls :ref:`_can_drop_data` to test if ``data`` is allowed to drop at ``at_position`` where ``at_position`` is local to this control. .. tabs:: @@ -1988,7 +2043,7 @@ Godot 调用该方法把 ``data`` 传给你,这是从某个控件的 :ref:`_ge public override bool _CanDropData(Vector2 atPosition, Variant data) { - return data.VariantType == Variant.Type.Dictionary && dict.AsGodotDictionary().ContainsKey("color"); + return data.VariantType == Variant.Type.Dictionary && data.AsGodotDictionary().ContainsKey("color"); } public override void _DropData(Vector2 atPosition, Variant data) @@ -2059,9 +2114,9 @@ Godot 调用该方法来获取数据,这个数据将用于拖动操作,放 :ref:`String` **_get_tooltip**\ (\ at_position\: :ref:`Vector2`\ ) |virtual| |const| :ref:`🔗` -用户实现的虚方法。返回位于控件局部坐标系中 ``at_position`` 位置的工具提示文本,工具提示一般会在鼠标停留在该控件上时显示。见 :ref:`get_tooltip`\ 。 +Virtual method to be implemented by the user. Returns the tooltip text for the position ``at_position`` in control's local coordinates, which will typically appear when the cursor is resting over this control. See :ref:`get_tooltip`. -\ **注意:**\ 如果返回的是空 :ref:`String`\ ,则不会显示工具提示。 +\ **Note:** If this method returns an empty :ref:`String` and :ref:`_make_custom_tooltip` is not overridden, no tooltip is displayed. .. rst-class:: classref-item-separator @@ -2073,9 +2128,9 @@ Godot 调用该方法来获取数据,这个数据将用于拖动操作,放 |void| **_gui_input**\ (\ event\: :ref:`InputEvent`\ ) |virtual| :ref:`🔗` -由用户实现的虚方法。使用此方法处理和接受 UI 元素上的输入。请参阅 :ref:`accept_event`\ 。 +Virtual method to be implemented by the user. Override this method to handle and accept inputs on UI elements. See also :ref:`accept_event`. -\ **点击控件的用法示例:**\ +\ **Example:** Click on the control to print a message: .. tabs:: @@ -2085,7 +2140,7 @@ Godot 调用该方法来获取数据,这个数据将用于拖动操作,放 func _gui_input(event): if event is InputEventMouseButton: if event.button_index == MOUSE_BUTTON_LEFT and event.pressed: - print("我已被点击 D:") + print("I've been clicked D:") .. code-tab:: csharp @@ -2095,26 +2150,26 @@ Godot 调用该方法来获取数据,这个数据将用于拖动操作,放 { if (mb.ButtonIndex == MouseButton.Left && mb.Pressed) { - GD.Print("我已被点击 D:"); + GD.Print("I've been clicked D:"); } } } -如果出现以下情况,则不会触发该事件: +If the ``event`` inherits :ref:`InputEventMouse`, this method will **not** be called when: -\* 在控件外点击(参阅\ :ref:`_has_point`\ ); +- the control's :ref:`mouse_filter` is set to :ref:`MOUSE_FILTER_IGNORE`; -\* 控件将 :ref:`mouse_filter` 设置为 :ref:`MOUSE_FILTER_IGNORE`\ ; +- the control is obstructed by another control on top, that doesn't have :ref:`mouse_filter` set to :ref:`MOUSE_FILTER_IGNORE`; -\* 控件被其上的另一个 **Control** 阻挡,该控件没有将 :ref:`mouse_filter` 设置为 :ref:`MOUSE_FILTER_IGNORE`\ ; +- the control's parent has :ref:`mouse_filter` set to :ref:`MOUSE_FILTER_STOP` or has accepted the event; -\* 控件的父级已将 :ref:`mouse_filter` 设置为 :ref:`MOUSE_FILTER_STOP` 或已接受该事件; +- the control's parent has :ref:`clip_contents` enabled and the ``event``'s position is outside the parent's rectangle; -\* 它发生在父级的矩形之外,并且父级已启用 :ref:`clip_contents`\ 。 +- the ``event``'s position is outside the control (see :ref:`_has_point`). -\ **注意:**\ 事件位置相对于该控件原点。 +\ **Note:** The ``event``'s position is relative to this control's origin. .. rst-class:: classref-item-separator @@ -2142,17 +2197,19 @@ Godot 调用该方法来获取数据,这个数据将用于拖动操作,放 :ref:`Object` **_make_custom_tooltip**\ (\ for_text\: :ref:`String`\ ) |virtual| |const| :ref:`🔗` -由用户实现的虚方法。返回一个 **Control** 节点,该节点取代默认节点以用作工具提示。\ ``for_text`` 包含 :ref:`tooltip_text` 属性的内容。 +Virtual method to be implemented by the user. Returns a **Control** node that should be used as a tooltip instead of the default one. ``for_text`` is the return value of :ref:`get_tooltip`. -返回的节点必须是 **Control** 类型或 Control 派生类型。它可以有任何类型的子节点。当工具提示消失时它会被释放,因此请确保你始终提供一个新实例(如果你想使用场景树中预先存在的节点,你可以复制它并传递复制的实例)。当返回 ``null`` 或非控制节点时,将使用默认的工具提示。 +The returned node must be of type **Control** or Control-derived. It can have child nodes of any type. It is freed when the tooltip disappears, so make sure you always provide a new instance (if you want to use a pre-existing node from your scene tree, you can duplicate it and pass the duplicated instance). When ``null`` or a non-Control node is returned, the default tooltip will be used instead. -返回的节点将作为子节点添加到 :ref:`PopupPanel`\ ,因此你应该只提供该面板的内容。该 :ref:`PopupPanel` 可以使用 :ref:`Theme.set_stylebox` 为类型 ``"TooltipPanel"`` 设置主题(参见 :ref:`tooltip_text` 示例)。 +The returned node will be added as child to a :ref:`PopupPanel`, so you should only provide the contents of that panel. That :ref:`PopupPanel` can be themed using :ref:`Theme.set_stylebox` for the type ``"TooltipPanel"`` (see :ref:`tooltip_text` for an example). -\ **注意:**\ 工具提示会被缩小到最小大小。如果你想确保它完全可见,你可能需要将其 :ref:`custom_minimum_size` 设置为非零值。 +\ **Note:** The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its :ref:`custom_minimum_size` to some non-zero value. -\ **注意:**\ 返回时节点(和任何相关的子节点)应该是 :ref:`CanvasItem.visible`\ ,否则,实例化它的视口将无法可靠地计算它的最小大小。 +\ **Note:** The node (and any relevant children) should have their :ref:`CanvasItem.visible` set to ``true`` when returned, otherwise, the viewport that instantiates it will not be able to calculate its minimum size reliably. -\ **自定义构造节点的用法示例:**\ +\ **Note:** If overridden, this method is called even if :ref:`get_tooltip` returns an empty string. When this happens with the default tooltip, it is not displayed. To copy this behavior, return ``null`` in this method when ``for_text`` is empty. + +\ **Example:** Use a constructed node as a tooltip: .. tabs:: @@ -2175,7 +2232,7 @@ Godot 调用该方法来获取数据,这个数据将用于拖动操作,放 -\ **自定义场景实例的使用示例:**\ +\ **Example:** Usa a scene instance as a tooltip: .. tabs:: @@ -2236,31 +2293,31 @@ Godot 调用该方法来获取数据,这个数据将用于拖动操作,放 |void| **add_theme_color_override**\ (\ name\: :ref:`StringName`, color\: :ref:`Color`\ ) :ref:`🔗` -为名称为 ``name`` 的主题 :ref:`Color` 创建本地覆盖项。为控件获取主题项目时,本地覆盖项始终优先。覆盖项可以使用 :ref:`remove_theme_color_override` 移除。 +Creates a local override for a theme :ref:`Color` with the specified ``name``. Local overrides always take precedence when fetching theme items for the control. An override can be removed with :ref:`remove_theme_color_override`. -另见 :ref:`get_theme_color`\ 。 +See also :ref:`get_theme_color`. -\ **覆盖标签颜色并在之后重置的示例:**\ +\ **Example:** Override a :ref:`Label`'s color and reset it later: .. tabs:: .. code-tab:: gdscript - # 存在名叫“MyLabel”的子 Label 节点,使用自定义的值覆盖其字体颜色。 + # Given the child Label node "MyLabel", override its font color with a custom value. $MyLabel.add_theme_color_override("font_color", Color(1, 0.5, 0)) - # 重置该子标签的字体颜色。 + # Reset the font color of the child label. $MyLabel.remove_theme_color_override("font_color") - # 也可以使用 Label 类型的默认值覆盖。 + # Alternatively it can be overridden with the default value from the Label type. $MyLabel.add_theme_color_override("font_color", get_theme_color("font_color", "Label")) .. code-tab:: csharp - // 存在名叫“MyLabel”的子 Label 节点,使用自定义的值覆盖其字体颜色。 + // Given the child Label node "MyLabel", override its font color with a custom value. GetNode