Godot3からGodot4に移植するときのメモ

移植中なのでなんか気がついたら更新します(2023/03/02)

絶対にやった方がいいこと

バックアップをとっておきましょう。 しつこく確認ダイアログが出ます。英語だから読み飛ばすのはダメ!

Godot3のプロジェクト設定でいろいろオフにしましょう。(1敗)

  • アドオン
  • オートロード
  • 翻訳とか

これをオフにしておかないと、初回起動時にエラーになってしまい、起動できなくなってしまいます。

そうなってしまった場合はやり直しで、もう一度Godot3を開いてオフにしてもう一度やったほうがいいです。

どうしてもそのままやりたいなら project.godot を直接テキスト編集して該当部分を消すといけます。

困ったらテキスト編集! は色々な場面で役に立ちます。Godotはほとんどがテキストファイルなので、テキスト編集が問題解決できることが多いです。


関数名を指定するタイプはCallableになってしまう

改行の関数チェーンをsuperだと認識してしまう

image-20230303123558288

	tween.parallel().tween_method(set_shader_value,0.0,1.0,delay)\
	.set_ease(Tween.EASE_IN)\
	.set_trans(Tween.TRANS_SINE)

CallableCallableはこのままでも動く……んだけどわざわざ新しく CallableCallableを作る必要はないことがほとんどです。

Godot4は関数をオブジェクトとして使うことができるようになりました!


StringStringName になっているところが多い


File と Directory の FileAccess, DirAccess

image-20230303130159127

var file:FileAccess = FileAccess.open(global_save_file_path,FileAccess.WRITE)

行数が短くなったりしたのは良い

書き直すのはとてもめんどくさい!


String パス結合が plus_file から path_joinになってる


シェーダー

image-20230304012602127

SCREEN_TEXTURE は削除され、hint_screen_textureuniformで使用することに変更されました。

だそうです。

エラーメッセージのコードはここ。

https://github.com/godotengine/godot/blob/master/servers/rendering/shader_language.cpp#L5486

uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;

とりあえず言われるとおりに上のほうに置いてみました。動きました。

ワード、クラス一覧とか

and await in get set not or as breakpoint class class_name extends is func signal const enum static var break continue if elif else for pass return match while super 

self super false true 

PI TAU NAN INF

@export @export_color_no_alpha @export_dir @export_enum @export_exp_easing @export_file @export_flags @export_flags_2d_navigation @export_flags_2d_physics @export_flags_2d_render @export_flags_3d_navigation @export_flags_3d_physics @export_flags_3d_render @export_global_dir @export_global_file @export_multiline @export_node_path @export_placeholder @export_range @icon @onready @rpc @tool @warning_ignore

abs absf absi acos asin atan atan2 bezier_derivative bezier_interpolate bytes_to_var bytes_to_var_with_objects ceil ceilf ceili clamp clampf clampi cos cosh cubic_interpolate cubic_interpolate_angle cubic_interpolate_angle_in_time cubic_interpolate_in_time db_to_linear deg_to_rad ease error_string exp floor floorf floori fmod fposmod hash instance_from_id inverse_lerp is_equal_approx is_finite is_inf is_instance_id_valid is_instance_valid is_nan is_same is_zero_approx lerp lerp_angle lerpf linear_to_db log max maxf maxi min minf mini move_toward nearest_po2 pingpong posmod pow print print_rich print_verbose printerr printraw prints printt push_error push_warning rad_to_deg rand_from_seed randf randf_range randfn randi randi_range randomize remap rid_allocate_id rid_from_int64 round roundf roundi seed sign signf signi sin sinh smoothstep snapped snappedf snappedi sqrt step_decimals str str_to_var tan tanh typeof var_to_bytes var_to_bytes_with_objects var_to_str weakref wrap wrapf wrapi Color8 assert char convert dict_to_inst get_stack inst_to_dict is_instance_of len load preload print_debug print_stack range type_exists 

Node AcceptDialog AnimatableBody2D AnimatableBody3D AnimatedSprite2D AnimatedSprite3D AnimationPlayer AnimationTree Area2D Area3D AspectRatioContainer AudioListener2D AudioListener3D AudioStreamPlayer AudioStreamPlayer2D AudioStreamPlayer3D BackBufferCopy BaseButton Bone2D BoneAttachment3D BoxContainer Button Camera2D Camera3D CanvasGroup CanvasItem CanvasLayer CanvasModulate CenterContainer CharacterBody2D CharacterBody3D CheckBox CheckButton CodeEdit CollisionObject2D CollisionObject3D CollisionPolygon2D CollisionPolygon3D CollisionShape2D CollisionShape3D ColorPicker ColorPickerButton ColorRect ConeTwistJoint3D ConfirmationDialog Container Control CPUParticles2D CPUParticles3D CSGBox3D CSGCombiner3D CSGCylinder3D CSGMesh3D CSGPolygon3D CSGPrimitive3D CSGShape3D CSGSphere3D CSGTorus3D DampedSpringJoint2D Decal DirectionalLight2D DirectionalLight3D EditorCommandPalette EditorFileDialog EditorFileSystem EditorInspector EditorInterface EditorPlugin EditorProperty EditorResourcePicker EditorResourcePreview EditorScriptPicker EditorSpinSlider FileDialog FileSystemDock FlowContainer FogVolume Generic6DOFJoint3D GeometryInstance3D GPUParticles2D GPUParticles3D GPUParticlesAttractor3D GPUParticlesAttractorBox3D GPUParticlesAttractorSphere3D GPUParticlesAttractorVectorField3D GPUParticlesCollision3D GPUParticlesCollisionBox3D GPUParticlesCollisionHeightField3D GPUParticlesCollisionSDF3D GPUParticlesCollisionSphere3D GraphEdit GraphNode GridContainer GridMap GrooveJoint2D HBoxContainer HFlowContainer HingeJoint3D HScrollBar HSeparator HSlider HSplitContainer HTTPRequest ImporterMeshInstance3D InstancePlaceholder ItemList Joint2D Joint3D Label Label3D Light2D Light3D LightmapGI LightmapProbe LightOccluder2D Line2D LineEdit LinkButton MarginContainer Marker2D Marker3D MenuBar MenuButton MeshInstance2D MeshInstance3D MissingNode MultiMeshInstance2D MultiMeshInstance3D MultiplayerSpawner MultiplayerSynchronizer NavigationAgent2D NavigationAgent3D NavigationLink2D NavigationLink3D NavigationObstacle2D NavigationObstacle3D NavigationRegion2D NavigationRegion3D NinePatchRect Node2D Node3D OccluderInstance3D OmniLight3D OpenXRHand OptionButton Panel PanelContainer ParallaxBackground ParallaxLayer Path2D Path3D PathFollow2D PathFollow3D PhysicalBone2D PhysicalBone3D PhysicsBody2D PhysicsBody3D PinJoint2D PinJoint3D PointLight2D Polygon2D Popup PopupMenu PopupPanel ProgressBar Range RayCast2D RayCast3D ReferenceRect ReflectionProbe RemoteTransform2D RemoteTransform3D ResourcePreloader RichTextLabel RigidBody2D RigidBody3D RootMotionView ScriptCreateDialog ScriptEditor ScriptEditorBase ScrollBar ScrollContainer Separator ShaderGlobalsOverride ShapeCast2D ShapeCast3D Skeleton2D Skeleton3D SkeletonIK3D Slider SliderJoint3D SoftBody3D SpinBox SplitContainer SpotLight3D SpringArm3D Sprite2D Sprite3D SpriteBase3D StaticBody2D StaticBody3D SubViewport SubViewportContainer TabBar TabContainer TextEdit TextureButton TextureProgressBar TextureRect TileMap Timer TouchScreenButton Tree VBoxContainer VehicleBody3D VehicleWheel3D VFlowContainer VideoStreamPlayer Viewport VisibleOnScreenEnabler2D VisibleOnScreenEnabler3D VisibleOnScreenNotifier2D VisibleOnScreenNotifier3D VisualInstance3D VoxelGI VScrollBar VSeparator VSlider VSplitContainer Window WorldEnvironment XRAnchor3D XRCamera3D XRController3D XRNode3D XROrigin3D

Resource AnimatedTexture Animation AnimationLibrary AnimationNode AnimationNodeAdd2 AnimationNodeAdd3 AnimationNodeAnimation AnimationNodeBlend2 AnimationNodeBlend3 AnimationNodeBlendSpace1D AnimationNodeBlendSpace2D AnimationNodeBlendTree AnimationNodeOneShot AnimationNodeOutput AnimationNodeStateMachine AnimationNodeStateMachinePlayback AnimationNodeStateMachineTransition AnimationNodeSync AnimationNodeTimeScale AnimationNodeTimeSeek AnimationNodeTransition AnimationRootNode ArrayMesh ArrayOccluder3D AtlasTexture AudioBusLayout AudioEffect AudioEffectAmplify AudioEffectBandLimitFilter AudioEffectBandPassFilter AudioEffectCapture AudioEffectChorus AudioEffectCompressor AudioEffectDelay AudioEffectDistortion AudioEffectEQ AudioEffectEQ10 AudioEffectEQ21 AudioEffectEQ6 AudioEffectFilter AudioEffectHighPassFilter AudioEffectHighShelfFilter AudioEffectLimiter AudioEffectLowPassFilter AudioEffectLowShelfFilter AudioEffectNotchFilter AudioEffectPanner AudioEffectPhaser AudioEffectPitchShift AudioEffectRecord AudioEffectReverb AudioEffectSpectrumAnalyzer AudioEffectStereoEnhance AudioStream AudioStreamGenerator AudioStreamMicrophone AudioStreamMP3 AudioStreamOggVorbis AudioStreamPolyphonic AudioStreamRandomizer AudioStreamWAV BaseMaterial3D BitMap BoneMap BoxMesh BoxOccluder3D BoxShape3D ButtonGroup CameraAttributes CameraAttributesPhysical CameraAttributesPractical CameraTexture CanvasItemMaterial CanvasTexture CapsuleMesh CapsuleShape2D CapsuleShape3D CircleShape2D CodeHighlighter CompressedCubemap CompressedCubemapArray CompressedTexture2D CompressedTexture2DArray CompressedTexture3D CompressedTextureLayered ConcavePolygonShape2D ConcavePolygonShape3D ConvexPolygonShape2D ConvexPolygonShape3D CryptoKey CSharpScript Cubemap CubemapArray Curve Curve2D Curve3D CurveTexture CurveXYZTexture CylinderMesh CylinderShape3D EditorNode3DGizmoPlugin EditorSettings EditorSyntaxHighlighter Environment FastNoiseLite FogMaterial Font FontFile FontVariation GDExtension GDScript GLTFAccessor GLTFAnimation GLTFBufferView GLTFCamera GLTFDocument GLTFDocumentExtension GLTFDocumentExtensionConvertImporterMesh GLTFLight GLTFMesh GLTFNode GLTFSkeleton GLTFSkin GLTFSpecGloss GLTFState GLTFTexture GLTFTextureSampler Gradient GradientTexture1D GradientTexture2D HeightMapShape3D Image ImageTexture ImageTexture3D ImageTextureLayered ImmediateMesh ImporterMesh InputEvent InputEventAction InputEventFromWindow InputEventGesture InputEventJoypadButton InputEventJoypadMotion InputEventKey InputEventMagnifyGesture InputEventMIDI InputEventMouse InputEventMouseButton InputEventMouseMotion InputEventPanGesture InputEventScreenDrag InputEventScreenTouch InputEventShortcut InputEventWithModifiers JSON LabelSettings LightmapGIData Material Mesh MeshLibrary MeshTexture MissingResource MultiMesh NavigationMesh NavigationPolygon Noise NoiseTexture2D Occluder3D OccluderPolygon2D OggPacketSequence OpenXRAction OpenXRActionMap OpenXRActionSet OpenXRInteractionProfile OpenXRIPBinding OptimizedTranslation ORMMaterial3D PackedDataContainer PackedScene PanoramaSkyMaterial ParticleProcessMaterial PhysicalSkyMaterial PhysicsMaterial PlaceholderCubemap PlaceholderCubemapArray PlaceholderMaterial PlaceholderMesh PlaceholderTexture2D PlaceholderTexture2DArray PlaceholderTexture3D PlaceholderTextureLayered PlaneMesh PointMesh PolygonOccluder3D PolygonPathFinder PortableCompressedTexture2D PrimitiveMesh PrismMesh ProceduralSkyMaterial QuadMesh QuadOccluder3D RDShaderFile RDShaderSPIRV RectangleShape2D RibbonTrailMesh RichTextEffect SceneReplicationConfig Script ScriptExtension SegmentShape2D SeparationRayShape2D SeparationRayShape3D Shader ShaderInclude ShaderMaterial Shape2D Shape3D Shortcut SkeletonModification2D SkeletonModification2DCCDIK SkeletonModification2DFABRIK SkeletonModification2DJiggle SkeletonModification2DLookAt SkeletonModification2DPhysicalBones SkeletonModification2DStackHolder SkeletonModification2DTwoBoneIK SkeletonModificationStack2D SkeletonProfile SkeletonProfileHumanoid Skin Sky SphereMesh SphereOccluder3D SphereShape3D SpriteFrames StandardMaterial3D StyleBox StyleBoxEmpty StyleBoxFlat StyleBoxLine StyleBoxTexture SyntaxHighlighter SystemFont TextMesh Texture Texture2D Texture2DArray Texture3D TextureLayered Theme TileMapPattern TileSet TileSetAtlasSource TileSetScenesCollectionSource TileSetSource TorusMesh Translation TubeTrailMesh VideoStream VideoStreamPlayback VideoStreamTheora ViewportTexture VisualShader VisualShaderNode VisualShaderNodeBillboard VisualShaderNodeBooleanConstant VisualShaderNodeBooleanParameter VisualShaderNodeClamp VisualShaderNodeColorConstant VisualShaderNodeColorFunc VisualShaderNodeColorOp VisualShaderNodeColorParameter VisualShaderNodeComment VisualShaderNodeCompare VisualShaderNodeConstant VisualShaderNodeCubemap VisualShaderNodeCubemapParameter VisualShaderNodeCurveTexture VisualShaderNodeCurveXYZTexture VisualShaderNodeCustom VisualShaderNodeDerivativeFunc VisualShaderNodeDeterminant VisualShaderNodeDistanceFade VisualShaderNodeDotProduct VisualShaderNodeExpression VisualShaderNodeFaceForward VisualShaderNodeFloatConstant VisualShaderNodeFloatFunc VisualShaderNodeFloatOp VisualShaderNodeFloatParameter VisualShaderNodeFresnel VisualShaderNodeGlobalExpression VisualShaderNodeGroupBase VisualShaderNodeIf VisualShaderNodeInput VisualShaderNodeIntConstant VisualShaderNodeIntFunc VisualShaderNodeIntOp VisualShaderNodeIntParameter VisualShaderNodeIs VisualShaderNodeLinearSceneDepth VisualShaderNodeMix VisualShaderNodeMultiplyAdd VisualShaderNodeOuterProduct VisualShaderNodeOutput VisualShaderNodeParameter VisualShaderNodeParameterRef VisualShaderNodeParticleAccelerator VisualShaderNodeParticleBoxEmitter VisualShaderNodeParticleConeVelocity VisualShaderNodeParticleEmit VisualShaderNodeParticleEmitter VisualShaderNodeParticleMeshEmitter VisualShaderNodeParticleMultiplyByAxisAngle VisualShaderNodeParticleOutput VisualShaderNodeParticleRandomness VisualShaderNodeParticleRingEmitter VisualShaderNodeParticleSphereEmitter VisualShaderNodeProximityFade VisualShaderNodeRandomRange VisualShaderNodeRemap VisualShaderNodeResizableBase VisualShaderNodeSample3D VisualShaderNodeScreenUVToSDF VisualShaderNodeSDFRaymarch VisualShaderNodeSDFToScreenUV VisualShaderNodeSmoothStep VisualShaderNodeStep VisualShaderNodeSwitch VisualShaderNodeTexture VisualShaderNodeTexture2DArray VisualShaderNodeTexture2DArrayParameter VisualShaderNodeTexture2DParameter VisualShaderNodeTexture3D VisualShaderNodeTexture3DParameter VisualShaderNodeTextureParameter VisualShaderNodeTextureParameterTriplanar VisualShaderNodeTextureSDF VisualShaderNodeTextureSDFNormal VisualShaderNodeTransformCompose VisualShaderNodeTransformConstant VisualShaderNodeTransformDecompose VisualShaderNodeTransformFunc VisualShaderNodeTransformOp VisualShaderNodeTransformParameter VisualShaderNodeTransformVecMult VisualShaderNodeUIntConstant VisualShaderNodeUIntFunc VisualShaderNodeUIntOp VisualShaderNodeUIntParameter VisualShaderNodeUVFunc VisualShaderNodeUVPolarCoord VisualShaderNodeVarying VisualShaderNodeVaryingGetter VisualShaderNodeVaryingSetter VisualShaderNodeVec2Constant VisualShaderNodeVec2Parameter VisualShaderNodeVec3Constant VisualShaderNodeVec3Parameter VisualShaderNodeVec4Constant VisualShaderNodeVec4Parameter VisualShaderNodeVectorBase VisualShaderNodeVectorCompose VisualShaderNodeVectorDecompose VisualShaderNodeVectorDistance VisualShaderNodeVectorFunc VisualShaderNodeVectorLen VisualShaderNodeVectorOp VisualShaderNodeVectorRefract VoxelGIData World2D World3D WorldBoundaryShape2D WorldBoundaryShape3D X509Certificate Other objects¶ Object AESContext AnimationTrackEditPlugin AStar2D AStar3D AStarGrid2D AudioEffectInstance AudioEffectSpectrumAnalyzerInstance AudioServer AudioStreamGeneratorPlayback AudioStreamPlayback AudioStreamPlaybackOggVorbis AudioStreamPlaybackPolyphonic AudioStreamPlaybackResampled CallbackTweener CameraFeed CameraServer CharFXTransform ClassDB ConfigFile Crypto DirAccess DisplayServer DTLSServer EditorDebuggerPlugin EditorDebuggerSession EditorExportPlatform EditorExportPlugin EditorFeatureProfile EditorFileSystemDirectory EditorFileSystemImportFormatSupportQuery EditorImportPlugin EditorInspectorPlugin EditorNode3DGizmo EditorPaths EditorResourceConversionPlugin EditorResourcePreviewGenerator EditorSceneFormatImporter EditorSceneFormatImporterBlend EditorSceneFormatImporterFBX EditorSceneFormatImporterGLTF EditorScenePostImport EditorScenePostImportPlugin EditorScript EditorSelection EditorTranslationParserPlugin EditorUndoRedoManager EditorVCSInterface EncodedObjectAsID ENetConnection ENetMultiplayerPeer ENetPacketPeer Engine EngineDebugger EngineProfiler Expression FileAccess GDExtensionManager Geometry2D Geometry3D GodotSharp HashingContext HMACContext HTTPClient ImageFormatLoader ImageFormatLoaderExtension Input InputMap IntervalTweener IP JavaClass JavaClassWrapper JavaScriptBridge JavaScriptObject JNISingleton JSONRPC KinematicCollision2D KinematicCollision3D Lightmapper LightmapperRD MainLoop Marshalls MeshDataTool MethodTweener MobileVRInterface MovieWriter MultiplayerAPI MultiplayerAPIExtension MultiplayerPeer MultiplayerPeerExtension Mutex NavigationMeshGenerator NavigationPathQueryParameters2D NavigationPathQueryParameters3D NavigationPathQueryResult2D NavigationPathQueryResult3D NavigationServer2D NavigationServer3D Node Node3DGizmo OfflineMultiplayerPeer OggPacketSequencePlayback OpenXRInterface OS PackedDataContainerRef PacketPeer PacketPeerDTLS PacketPeerExtension PacketPeerStream PacketPeerUDP PCKPacker Performance PhysicsDirectBodyState2D PhysicsDirectBodyState2DExtension PhysicsDirectBodyState3D PhysicsDirectBodyState3DExtension PhysicsDirectSpaceState2D PhysicsDirectSpaceState2DExtension PhysicsDirectSpaceState3D PhysicsDirectSpaceState3DExtension PhysicsPointQueryParameters2D PhysicsPointQueryParameters3D PhysicsRayQueryParameters2D PhysicsRayQueryParameters3D PhysicsServer2D PhysicsServer2DExtension PhysicsServer2DManager PhysicsServer3D PhysicsServer3DExtension PhysicsServer3DManager PhysicsServer3DRenderingServerHandler PhysicsShapeQueryParameters2D PhysicsShapeQueryParameters3D PhysicsTestMotionParameters2D PhysicsTestMotionParameters3D PhysicsTestMotionResult2D PhysicsTestMotionResult3D ProjectSettings PropertyTweener RandomNumberGenerator RDAttachmentFormat RDFramebufferPass RDPipelineColorBlendState RDPipelineColorBlendStateAttachment RDPipelineDepthStencilState RDPipelineMultisampleState RDPipelineRasterizationState RDPipelineSpecializationConstant RDSamplerState RDShaderSource RDTextureFormat RDTextureView RDUniform RDVertexAttribute RefCounted RegEx RegExMatch RenderingDevice RenderingServer Resource ResourceFormatLoader ResourceFormatSaver ResourceImporter ResourceLoader ResourceSaver ResourceUID SceneMultiplayer SceneState SceneTree SceneTreeTimer ScriptLanguage ScriptLanguageExtension Semaphore SkinReference StreamPeer StreamPeerBuffer StreamPeerExtension StreamPeerGZIP StreamPeerTCP StreamPeerTLS SurfaceTool TCPServer TextLine TextParagraph TextServer TextServerAdvanced TextServerDummy TextServerExtension TextServerFallback TextServerManager ThemeDB Thread TileData Time TLSOptions TranslationServer TreeItem TriangleMesh Tween Tweener UDPServer UndoRedo UPNP UPNPDevice WeakRef WebRTCDataChannel WebRTCDataChannelExtension WebRTCMultiplayerPeer WebRTCPeerConnection WebRTCPeerConnectionExtension WebSocketMultiplayerPeer WebSocketPeer WebXRInterface WorkerThreadPool XMLParser XRInterface XRInterfaceExtension XRPose XRPositionalTracker XRServer ZIPPacker ZIPReader

AABB Array Basis bool Callable Color Dictionary float int NodePath Object PackedByteArray PackedColorArray PackedFloat32Array PackedFloat64Array PackedInt32Array PackedInt64Array PackedStringArray PackedVector2Array PackedVector3Array Plane Projection Quaternion Rect2 Rect2i RID Signal String StringName Transform2D Transform3D Variant Vector2 Vector2i Vector3 Vector3i Vector4 Vector4i

Staticになった

ImageTexture create_from_image(image: Image)