"velocity" arrow!
This commit is contained in:
parent
cd68c57c9b
commit
86b3f2c889
5 changed files with 81 additions and 3 deletions
BIN
arrow.blend
Normal file
BIN
arrow.blend
Normal file
Binary file not shown.
64
arrow.blend.import
Normal file
64
arrow.blend.import
Normal file
|
@ -0,0 +1,64 @@
|
|||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://b3ajlrwduhxpr"
|
||||
path="res://.godot/imported/arrow.blend-d567a12caad2abea5cccaab885e65266.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://arrow.blend"
|
||||
dest_files=["res://.godot/imported/arrow.blend-d567a12caad2abea5cccaab885e65266.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={
|
||||
"meshes": {
|
||||
"arrow_Plane": {
|
||||
"generate/lightmap_uv": 0,
|
||||
"generate/lods": 0,
|
||||
"generate/shadow_meshes": 0,
|
||||
"lods/normal_merge_angle": 60.0,
|
||||
"save_to_file/enabled": true,
|
||||
"save_to_file/path": "res://model/arrow.res"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
BIN
model/arrow.res
Normal file
BIN
model/arrow.res
Normal file
Binary file not shown.
8
piece.gd
8
piece.gd
|
@ -52,6 +52,7 @@ var lvel_displayed := lvel
|
|||
@export var type: Piece.Type
|
||||
|
||||
var speedometer: Label3D
|
||||
@onready var arrow := get_node_or_null("Arrow") as MeshInstance3D
|
||||
|
||||
# TODO: much, *much* better animation is needed. ESPECIALLY if we're doing slowmo
|
||||
# (we're doing slowmo because it is SICK)
|
||||
|
@ -136,12 +137,15 @@ func _ready() -> void:
|
|||
speedometer.font_size = 64
|
||||
add_child(speedometer)
|
||||
|
||||
#TODO: arrow!
|
||||
func format_vel(vel: Vector2) -> String:
|
||||
if vel.is_zero_approx():
|
||||
return ""
|
||||
else:
|
||||
return "%d,%d" % [vel.x,vel.y]
|
||||
# we use abs because the arrow already indicates direction
|
||||
return "%d,%d" % [abs(vel.x),abs(vel.y)]
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
speedometer.text = format_vel(lvel_displayed)
|
||||
if arrow:
|
||||
arrow.visible = lvel_displayed != Vector2i.ZERO
|
||||
rotation.y = (1.0*lvel_displayed.clampi(-1,1)).angle_to(Vector2.UP)
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://bghr6ew34loyb"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bghr6ew34loyb"]
|
||||
|
||||
[ext_resource type="SphereMesh" uid="uid://bxuewsvlsvexw" path="res://model/ball.tres" id="1_qixli"]
|
||||
[ext_resource type="Script" uid="uid://bq3a5hhccxndn" path="res://piece.gd" id="2_c3ygy"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://er57431oil1l" path="res://model/arrow.res" id="3_tqeq4"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uae17"]
|
||||
transparency = 1
|
||||
albedo_color = Color(1, 1, 1, 0.498039)
|
||||
|
||||
[node name="Ball" type="MeshInstance3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.3, 0.5)
|
||||
|
@ -9,3 +14,8 @@ mesh = ExtResource("1_qixli")
|
|||
script = ExtResource("2_c3ygy")
|
||||
type = 2
|
||||
metadata/_custom_type_script = "uid://bq3a5hhccxndn"
|
||||
|
||||
[node name="Arrow" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-8.74228e-09, 0, 0.2, 0, 0.2, 0, -0.2, 0, -8.74228e-09, 0.00918186, 0.0516835, -0.498354)
|
||||
mesh = ExtResource("3_tqeq4")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_uae17")
|
||||
|
|
Loading…
Reference in a new issue