added second prototype - 3d overworld movement
This commit is contained in:
parent
fd09ccfc5b
commit
ccdf3827a8
@ -3,25 +3,26 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://b0bmwarkx2fxb"
|
uid="uid://b0bmwarkx2fxb"
|
||||||
path="res://.godot/imported/mpv-shot0001.jpg-4c0b1d2bc221c05906c91de8aef5b655.ctex"
|
path.s3tc="res://.godot/imported/mpv-shot0001.jpg-4c0b1d2bc221c05906c91de8aef5b655.s3tc.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"imported_formats": ["s3tc_bptc"],
|
||||||
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://Prototypes/tiredbun-prototype-1/mpv-shot0001.jpg"
|
source_file="res://Prototypes/tiredbun-prototype-1/mpv-shot0001.jpg"
|
||||||
dest_files=["res://.godot/imported/mpv-shot0001.jpg-4c0b1d2bc221c05906c91de8aef5b655.ctex"]
|
dest_files=["res://.godot/imported/mpv-shot0001.jpg-4c0b1d2bc221c05906c91de8aef5b655.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
compress/mode=0
|
compress/mode=2
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
mipmaps/generate=false
|
mipmaps/generate=true
|
||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
@ -31,4 +32,4 @@ process/normal_map_invert_y=false
|
|||||||
process/hdr_as_srgb=false
|
process/hdr_as_srgb=false
|
||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=0
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
[gd_scene load_steps=13 format=3 uid="uid://7l1u7y2xvwa6"]
|
[gd_scene load_steps=13 format=3 uid="uid://7l1u7y2xvwa6"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" path="res://mpv-shot0001.jpg" id="1_ix3x0"]
|
[ext_resource type="Texture2D" uid="uid://b0bmwarkx2fxb" path="res://Prototypes/tiredbun-prototype-1/mpv-shot0001.jpg" id="1_ix3x0"]
|
||||||
[ext_resource type="Script" path="res://Player.gd" id="2_fy1jm"]
|
[ext_resource type="Script" path="res://Prototypes/tiredbun-prototype-1/Player.gd" id="2_fy1jm"]
|
||||||
[ext_resource type="Texture2D" path="res://player/down-go.png" id="3_hrt1y"]
|
[ext_resource type="Texture2D" uid="uid://bn3ak3pxua6kr" path="res://Prototypes/tiredbun-prototype-1/player/down-go.png" id="3_hrt1y"]
|
||||||
[ext_resource type="Texture2D" path="res://player/down-stay.png" id="4_fjw2y"]
|
[ext_resource type="Texture2D" uid="uid://oblvfn4a7jgr" path="res://Prototypes/tiredbun-prototype-1/player/down-stay.png" id="4_fjw2y"]
|
||||||
[ext_resource type="Texture2D" path="res://player/lef-go.png" id="5_rxlf0"]
|
[ext_resource type="Texture2D" uid="uid://cr4m035rj17ob" path="res://Prototypes/tiredbun-prototype-1/player/lef-go.png" id="5_rxlf0"]
|
||||||
[ext_resource type="Texture2D" path="res://player/lef-stay.png" id="6_rohwl"]
|
[ext_resource type="Texture2D" uid="uid://ryqgr3iw2cna" path="res://Prototypes/tiredbun-prototype-1/player/lef-stay.png" id="6_rohwl"]
|
||||||
[ext_resource type="Texture2D" path="res://player/right-go.png" id="7_l3vli"]
|
[ext_resource type="Texture2D" uid="uid://bp5p8knf7n06i" path="res://Prototypes/tiredbun-prototype-1/player/right-go.png" id="7_l3vli"]
|
||||||
[ext_resource type="Texture2D" path="res://player/right-stay.png" id="8_ac52e"]
|
[ext_resource type="Texture2D" uid="uid://d11jduno6wolt" path="res://Prototypes/tiredbun-prototype-1/player/right-stay.png" id="8_ac52e"]
|
||||||
[ext_resource type="Texture2D" path="res://player/up-go.png" id="9_44ip5"]
|
[ext_resource type="Texture2D" uid="uid://bup48pdr00h7a" path="res://Prototypes/tiredbun-prototype-1/player/up-go.png" id="9_44ip5"]
|
||||||
[ext_resource type="Texture2D" path="res://player/up-stay.png" id="10_ddtxv"]
|
[ext_resource type="Texture2D" uid="uid://jduoxes2e4uh" path="res://Prototypes/tiredbun-prototype-1/player/up-stay.png" id="10_ddtxv"]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ggyph"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ggyph"]
|
||||||
size = Vector2(60, 60)
|
size = Vector2(60, 60)
|
||||||
|
45
Prototypes/tiredbun-prototype-2/Player.gd
Normal file
45
Prototypes/tiredbun-prototype-2/Player.gd
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
extends CharacterBody2D
|
||||||
|
|
||||||
|
# Скорость хождения
|
||||||
|
@export var base_movement_speed = 300.0
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _physics_process(_delta):
|
||||||
|
var horizontal_direction = Input.get_axis("ui_left", "ui_right")
|
||||||
|
var vertical_direction = Input.get_axis("ui_up", "ui_down")
|
||||||
|
if horizontal_direction:
|
||||||
|
velocity.x = horizontal_direction * base_movement_speed
|
||||||
|
if vertical_direction:
|
||||||
|
velocity.x = velocity.x/2
|
||||||
|
# иначе будет складываться скорость по вертикали и горизонтали
|
||||||
|
else:
|
||||||
|
velocity.x = move_toward(velocity.x, 0, base_movement_speed)
|
||||||
|
if vertical_direction:
|
||||||
|
velocity.y = vertical_direction * base_movement_speed
|
||||||
|
if horizontal_direction:
|
||||||
|
velocity.x = velocity.x/2
|
||||||
|
# иначе будет складываться скорость по вертикали и горизонтали
|
||||||
|
else:
|
||||||
|
velocity.y = move_toward(velocity.y, 0, base_movement_speed)
|
||||||
|
|
||||||
|
# Проверка, куда должен смотреть персонаж
|
||||||
|
# вертикальная анимация имеет больший приоритет
|
||||||
|
if horizontal_direction < 0 and !vertical_direction:
|
||||||
|
$PlayerSprite.animation = "left-go"
|
||||||
|
if horizontal_direction > 0 and !vertical_direction:
|
||||||
|
$PlayerSprite.animation = "right-go"
|
||||||
|
if vertical_direction < 0:
|
||||||
|
$PlayerSprite.animation = "up-go"
|
||||||
|
if vertical_direction > 0:
|
||||||
|
$PlayerSprite.animation = "down-go"
|
||||||
|
|
||||||
|
# Проверка, должна ли играть анимация
|
||||||
|
if (velocity.x == 0) and (velocity.y == 0):
|
||||||
|
$PlayerSprite.frame = 0 # поставить анимацию на первый кадр
|
||||||
|
$PlayerSprite.stop() # остановить анимацию
|
||||||
|
else:
|
||||||
|
$PlayerSprite.play() # играть анимацию
|
||||||
|
|
||||||
|
move_and_slide() # Применяет передедвижение
|
48
Prototypes/tiredbun-prototype-2/Player3D.gd
Normal file
48
Prototypes/tiredbun-prototype-2/Player3D.gd
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
extends CharacterBody3D
|
||||||
|
|
||||||
|
@export var SPEED = 3.5
|
||||||
|
@export var JUMP_VELOCITY = 4.5
|
||||||
|
|
||||||
|
@export var PlayerSprite: AnimatedSprite2D
|
||||||
|
|
||||||
|
# Get the gravity from the project settings to be synced with RigidBody nodes.
|
||||||
|
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
# Add the gravity.
|
||||||
|
if not is_on_floor():
|
||||||
|
velocity.y -= gravity * delta
|
||||||
|
|
||||||
|
# Handle Jump. (currently removed)
|
||||||
|
#if Input.is_action_just_pressed("ui_accept") and is_on_floor():
|
||||||
|
# velocity.y = JUMP_VELOCITY
|
||||||
|
|
||||||
|
# Get the input direction and handle the movement/deceleration.
|
||||||
|
# TODO: replace UI actions with custom gameplay actions.
|
||||||
|
var input_dir = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
|
||||||
|
var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||||
|
if direction:
|
||||||
|
velocity.x = direction.x * SPEED
|
||||||
|
velocity.z = direction.z * SPEED
|
||||||
|
else:
|
||||||
|
velocity.x = move_toward(velocity.x, 0, SPEED)
|
||||||
|
velocity.z = move_toward(velocity.z, 0, SPEED)
|
||||||
|
|
||||||
|
if direction.x < 0 and !direction.z:
|
||||||
|
PlayerSprite.animation = "left-go"
|
||||||
|
if direction.x > 0 and !direction.z:
|
||||||
|
PlayerSprite.animation = "right-go"
|
||||||
|
if direction.z < 0:
|
||||||
|
PlayerSprite.animation = "up-go"
|
||||||
|
if direction.z > 0:
|
||||||
|
PlayerSprite.animation = "down-go"
|
||||||
|
|
||||||
|
# Check if animation should play
|
||||||
|
if (velocity.x == 0) and (velocity.z == 0): # if not
|
||||||
|
PlayerSprite.frame = 0 # set to first animation frame
|
||||||
|
PlayerSprite.stop() # stop animation
|
||||||
|
else: # if yes
|
||||||
|
PlayerSprite.play() # play animation
|
||||||
|
|
||||||
|
move_and_slide() # apply changes to position
|
||||||
|
|
22
Prototypes/tiredbun-prototype-2/camera-test.gd
Normal file
22
Prototypes/tiredbun-prototype-2/camera-test.gd
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
extends Node3D
|
||||||
|
|
||||||
|
@export var AnimatedSprite: AnimatedSprite2D # 2d sprite
|
||||||
|
@export var Camera: Camera3D # current camera
|
||||||
|
@export var CharacterBody: Node3D # 3d object
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
# TODO: optimize to ensure it doesn't use CPU when both camera and object is idle
|
||||||
|
func _process(_delta):
|
||||||
|
const Z_MULTIPLIER = 10 # number of z indexes that 1m will take
|
||||||
|
# set 2d sprite z index (render order) to 3d object z coordinate, multiply by Z_MULTIPLIER
|
||||||
|
AnimatedSprite.z_index = CharacterBody.global_position.z * Z_MULTIPLIER
|
||||||
|
#print_debug(AnimatedSprite.z_index)
|
||||||
|
|
||||||
|
if not Camera.is_position_behind(CharacterBody.global_position): # if not outide of camera range
|
||||||
|
AnimatedSprite.global_position = Camera.unproject_position(CharacterBody.global_position) # set sprite position to where 3d object is from camera's POV
|
||||||
|
var distance = pow(CharacterBody.global_position.distance_to(Camera.global_position),0.25) # calculate distance between camera and 3d object and smooth it out
|
||||||
|
if distance < 2:
|
||||||
|
AnimatedSprite.scale = Vector2(2,2) - Vector2(distance,distance) # the more distance the smaller is the scale of sprite
|
||||||
|
#print_debug(AnimatedSprite.scale)
|
||||||
|
else:
|
||||||
|
AnimatedSprite.scale = Vector2(0,0) # is distance big, prevent from going to negative
|
BIN
Prototypes/tiredbun-prototype-2/randomBush/1.png
Normal file
BIN
Prototypes/tiredbun-prototype-2/randomBush/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
34
Prototypes/tiredbun-prototype-2/randomBush/1.png.import
Normal file
34
Prototypes/tiredbun-prototype-2/randomBush/1.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dur4276gi0rkm"
|
||||||
|
path="res://.godot/imported/1.png-02577de67e305906c53828957662cdef.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Prototypes/tiredbun-prototype-2/randomBush/1.png"
|
||||||
|
dest_files=["res://.godot/imported/1.png-02577de67e305906c53828957662cdef.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
58
Prototypes/tiredbun-prototype-2/randomBush/source.svg
Normal file
58
Prototypes/tiredbun-prototype-2/randomBush/source.svg
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
|
||||||
|
sodipodi:docname="source.svg"
|
||||||
|
inkscape:export-filename="1.png"
|
||||||
|
inkscape:export-xdpi="774"
|
||||||
|
inkscape:export-ydpi="774"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:zoom="15.4375"
|
||||||
|
inkscape:cx="15.967611"
|
||||||
|
inkscape:cy="16"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="730"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs1">
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 16 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_z="32 : 16 : 1"
|
||||||
|
inkscape:persp3d-origin="16 : 10.666667 : 1"
|
||||||
|
id="perspective1" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="opacity:1;fill:#53fb57;fill-opacity:1;stroke:none;stroke-width:11.112;stroke-linecap:square;stroke-dasharray:none"
|
||||||
|
d="m 4.4048583,21.700405 -3.88663968,-3.951417 3.82186238,-5.57085 6.672065,2.202429 5.376518,-6.6072875 7.255061,1.619433 1.230769,4.4696365 4.534413,-1.101215 1.68421,2.785425 -1.943319,6.348179 z"
|
||||||
|
id="path6"
|
||||||
|
sodipodi:nodetypes="ccccccccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
37
Prototypes/tiredbun-prototype-2/randomBush/source.svg.import
Normal file
37
Prototypes/tiredbun-prototype-2/randomBush/source.svg.import
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dcmvv4qcf0pr5"
|
||||||
|
path="res://.godot/imported/source.svg-68e43a4cd7ad3514ba56973f65b8a350.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Prototypes/tiredbun-prototype-2/randomBush/source.svg"
|
||||||
|
dest_files=["res://.godot/imported/source.svg-68e43a4cd7ad3514ba56973f65b8a350.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
148
Prototypes/tiredbun-prototype-2/test_scene_3d.tscn
Normal file
148
Prototypes/tiredbun-prototype-2/test_scene_3d.tscn
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
[gd_scene load_steps=21 format=3 uid="uid://c31gp7om5lww4"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b0bmwarkx2fxb" path="res://Prototypes/tiredbun-prototype-1/mpv-shot0001.jpg" id="1_fbk20"]
|
||||||
|
[ext_resource type="Script" path="res://Prototypes/tiredbun-prototype-2/camera-test.gd" id="2_4b25q"]
|
||||||
|
[ext_resource type="Script" path="res://Prototypes/tiredbun-prototype-2/Player3D.gd" id="3_j7jmd"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://oblvfn4a7jgr" path="res://Prototypes/tiredbun-prototype-1/player/down-stay.png" id="4_lqg8o"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bn3ak3pxua6kr" path="res://Prototypes/tiredbun-prototype-1/player/down-go.png" id="5_78ws4"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ryqgr3iw2cna" path="res://Prototypes/tiredbun-prototype-1/player/lef-stay.png" id="6_ki7wl"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cr4m035rj17ob" path="res://Prototypes/tiredbun-prototype-1/player/lef-go.png" id="7_c0fx0"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d11jduno6wolt" path="res://Prototypes/tiredbun-prototype-1/player/right-stay.png" id="8_hmhe2"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bp5p8knf7n06i" path="res://Prototypes/tiredbun-prototype-1/player/right-go.png" id="9_ugr25"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://jduoxes2e4uh" path="res://Prototypes/tiredbun-prototype-1/player/up-stay.png" id="10_gmxvm"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bup48pdr00h7a" path="res://Prototypes/tiredbun-prototype-1/player/up-go.png" id="11_vwm5d"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dur4276gi0rkm" path="res://Prototypes/tiredbun-prototype-2/randomBush/1.png" id="12_7gptv"]
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tw6je"]
|
||||||
|
albedo_texture = ExtResource("1_fbk20")
|
||||||
|
|
||||||
|
[sub_resource type="PlaneMesh" id="PlaneMesh_tet4n"]
|
||||||
|
material = SubResource("StandardMaterial3D_tw6je")
|
||||||
|
size = Vector2(10, 10)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_3q2fk"]
|
||||||
|
size = Vector3(10.084, 1, 9.89738)
|
||||||
|
|
||||||
|
[sub_resource type="Environment" id="Environment_vvato"]
|
||||||
|
background_mode = 1
|
||||||
|
background_color = Color(0.729412, 0.729412, 0.729412, 1)
|
||||||
|
ambient_light_color = Color(1, 1, 1, 1)
|
||||||
|
ambient_light_energy = 2.85
|
||||||
|
reflected_light_source = 1
|
||||||
|
|
||||||
|
[sub_resource type="SphereShape3D" id="SphereShape3D_1tnpf"]
|
||||||
|
radius = 0.205485
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_ep00u"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("4_lqg8o")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("5_78ws4")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"down-go",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("6_ki7wl")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("7_c0fx0")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"left-go",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("8_hmhe2")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("9_ugr25")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"right-go",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("10_gmxvm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("11_vwm5d")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"up-go",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_cns20"]
|
||||||
|
size = Vector3(0.977401, 0.5, 0.16768)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_ev0qv"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("12_7gptv")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[node name="test-scene3d" type="Node3D"]
|
||||||
|
|
||||||
|
[node name="Floor" type="MeshInstance3D" parent="."]
|
||||||
|
mesh = SubResource("PlaneMesh_tet4n")
|
||||||
|
|
||||||
|
[node name="StaticBody3D" type="StaticBody3D" parent="Floor"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor/StaticBody3D"]
|
||||||
|
shape = SubResource("BoxShape3D_3q2fk")
|
||||||
|
|
||||||
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
|
environment = SubResource("Environment_vvato")
|
||||||
|
|
||||||
|
[node name="Player" type="Node3D" parent="." node_paths=PackedStringArray("AnimatedSprite", "Camera", "CharacterBody")]
|
||||||
|
script = ExtResource("2_4b25q")
|
||||||
|
AnimatedSprite = NodePath("CharacterBody3D/PlayerSprite")
|
||||||
|
Camera = NodePath("CharacterBody3D/Camera3D")
|
||||||
|
CharacterBody = NodePath("CharacterBody3D")
|
||||||
|
|
||||||
|
[node name="CharacterBody3D" type="CharacterBody3D" parent="Player" node_paths=PackedStringArray("PlayerSprite")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||||
|
script = ExtResource("3_j7jmd")
|
||||||
|
PlayerSprite = NodePath("PlayerSprite")
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Player/CharacterBody3D"]
|
||||||
|
shape = SubResource("SphereShape3D_1tnpf")
|
||||||
|
|
||||||
|
[node name="Camera3D" type="Camera3D" parent="Player/CharacterBody3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 0.897405, 0.441208, 0, -0.441208, 0.897405, 0, 1.47635, 2.63733)
|
||||||
|
|
||||||
|
[node name="PlayerSprite" type="AnimatedSprite2D" parent="Player/CharacterBody3D"]
|
||||||
|
position = Vector2(177, 68)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_ep00u")
|
||||||
|
animation = &"down-go"
|
||||||
|
|
||||||
|
[node name="Bush" type="Node3D" parent="." node_paths=PackedStringArray("AnimatedSprite", "Camera", "CharacterBody")]
|
||||||
|
script = ExtResource("2_4b25q")
|
||||||
|
AnimatedSprite = NodePath("AnimatedSprite2D")
|
||||||
|
Camera = NodePath("../Player/CharacterBody3D/Camera3D")
|
||||||
|
CharacterBody = NodePath("StaticBody3D")
|
||||||
|
|
||||||
|
[node name="StaticBody3D" type="StaticBody3D" parent="Bush"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.85931, 0, 0)
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bush/StaticBody3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.220076)
|
||||||
|
shape = SubResource("BoxShape3D_cns20")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Bush"]
|
||||||
|
position = Vector2(299, 64)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_ev0qv")
|
Loading…
Reference in New Issue
Block a user