Merge branch 'bidouille_de_scoui' into 'master'

Bidouille de scoui

See merge request godot_sandbox/Test-client-godot!4
This commit is contained in:
osquallo 2018-09-27 14:54:57 +02:00
commit 45a83ad4eb
180 changed files with 17423 additions and 2247 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,17 +1,69 @@
extends MarginContainer extends MarginContainer
export(bool) var is_movable = true export( bool ) var is_movable = true
export(bool) var is_resizable = true export( bool ) var is_resizable = true
export(bool) var is_borderless = false export( bool ) var is_borderless = false
export(String) var title = "Window" export( bool ) var has_footer = true
export(Color) var background_color = Color( 1.0, 1.0, 1.0, 1.0 )
export( String ) var title = "Window"
export( Color ) var content_color = Color( 1.0, 1.0, 1.0, 1.0 )# test
export( Color ) var background_color = Color( 1.0, 1.0, 1.0, 1.0 )
export( Texture ) var background_texture = null
export( Vector2 ) var min_size= Vector2( 128, 128 )
export( Rect2 ) var content_margin = Rect2( 8, 8, 8, 8 )
signal window_clicked( window )
onready var header_box = $parts/header_box
onready var content_box = $parts/content_box
onready var footer_box = $parts/footer_box
var current_rect_size = Vector2( 0, 0 ) var current_rect_size = Vector2( 0, 0 )
var current_rect_position = Vector2( -1, -1 ) var current_rect_position = Vector2( -1, -1 )
var is_resizing = false var is_resizing = false
var is_moving = false var is_moving = false
var size_changed = true
func add_child( node):
if self.get_content():
self.get_content().add_child(node)
# else:
# .add_child( node )
# prints(self.get_name()+" just fathered", node.get_name())
func add_window_part( node ):
.add_child( node )
func set_mouse_pass_to_children( node ):
for child in node.get_children():
set_mouse_pass_to_children( child )
if node is Control:
node.mouse_filter = MOUSE_FILTER_PASS
#func _ready(): #func _ready():
func _enter_tree(): func _enter_tree():
########
#### Window's part création.
# The interal elements structure is:
# self - MarginContainer
# background - NinePatchRect
# parts - VBoxContainer
# header_box - MarginContainer
# header - HBoxContainer
# quit - TextureButton
# close - TextureButton
# open - TextureButton
# label - Label
# content_box - MarginContainer
# scroll_container - Scrollcontainer
# content - VBoxContainer
# footer_box - MarginContainer
# footer - HBoxContainer
# contextual_help - Label
# resize - TextureButton
### ###
# self # self
self.size_flags_horizontal = SIZE_EXPAND self.size_flags_horizontal = SIZE_EXPAND
@ -21,19 +73,26 @@ func _enter_tree():
self.set( "custom_constants/margin_top", 0) self.set( "custom_constants/margin_top", 0)
self.set( "custom_constants/margin_left", 0) self.set( "custom_constants/margin_left", 0)
self.set( "custom_constants/margin_bottom", 0) self.set( "custom_constants/margin_bottom", 0)
###
###
# Background
var background
if not self.has_node( "Background" ):
background = NinePatchRect.new()
background.name = "Background"
var background_image = Image.new()
if not background_image.load( "res://assets/GUI/images/bg2.jpg" ):
print("Erreur lors du chargement de l'image: res://assets/GUI/images/bg2.jpg" )
background.texture = ImageTexture.new()
background.texture.create_from_image( background_image )
self.connect ( "gui_input", self, "_on_window_gui_input" )
###
###
# background
var background
if not self.has_node( "background" ):
background = NinePatchRect.new()
background.name = "background"
if not background_texture:
var background_image = Image.new()
if not background_image.load( "res://addons/ui_window/background_default.jpg" ) == OK :
print("Erreur lors du chargement de l'image: "+str("res://addons/ui_window/background_default.jpg") )
background.texture = ImageTexture.new()
background.texture.create_from_image( background_image )
else:
background.texture = background_texture
background.texture.flags = Texture.FLAG_FILTER | Texture.FLAG_REPEAT
background.axis_stretch_horizontal = NinePatchRect.AXIS_STRETCH_MODE_TILE background.axis_stretch_horizontal = NinePatchRect.AXIS_STRETCH_MODE_TILE
background.axis_stretch_vertical = NinePatchRect.AXIS_STRETCH_MODE_TILE background.axis_stretch_vertical = NinePatchRect.AXIS_STRETCH_MODE_TILE
@ -44,65 +103,63 @@ func _enter_tree():
background.patch_margin_left = 4 background.patch_margin_left = 4
background.patch_margin_top = 32 background.patch_margin_top = 32
background.patch_margin_right = 4 background.patch_margin_right = 4
background.patch_margin_bottom = 3 background.patch_margin_bottom = 4
background.self_modulate = background_color background.self_modulate = background_color
self.add_child( background ) self.add_window_part( background )
background.set_owner( self ) # background.set_owner( self )
###
### ###
var v_box_container
# VBoxContainer
if not self.has_node( "VBoxContainer" ):
v_box_container = VBoxContainer.new()
v_box_container.name = "VBoxContainer"
v_box_container.size_flags_horizontal = SIZE_EXPAND_FILL
v_box_container.size_flags_vertical = SIZE_EXPAND_FILL
self.add_child( v_box_container )
v_box_container.set_owner( self )
###
### ###
# Header # parts
var header var parts
if not self.has_node( "Header" ): if not self.has_node( "parts" ):
header = MarginContainer.new() parts = VBoxContainer.new()
header.name = "Header" parts.name = "parts"
header.size_flags_horizontal = SIZE_EXPAND_FILL parts.size_flags_horizontal = SIZE_EXPAND_FILL
header.size_flags_vertical = SIZE_SHRINK_CENTER parts.size_flags_vertical = SIZE_EXPAND_FILL
self.add_window_part( parts )
header.set( "custom_constants/margin_right", 0) # parts.set_owner( self )
header.set( "custom_constants/margin_top", 4)
header.set( "custom_constants/margin_left", 4)
header.set( "custom_constants/margin_bottom", 4)
if is_movable:
header.mouse_default_cursor_shape = CURSOR_MOVE
v_box_container.add_child( header )
header.set_owner( v_box_container )
header.connect ( "gui_input", self, "_on_Header_gui_input" )
###
### ###
###
# header_box
var header_box var header_box
# Header/HBoxContainer if not parts.has_node( "header_box" ):
if not self.has_node( "HBoxContainer" ): header_box = MarginContainer.new()
header_box = HBoxContainer.new() header_box.name = "header_box"
header_box.name = "HBoxContainer"
header_box.size_flags_horizontal = SIZE_EXPAND_FILL header_box.size_flags_horizontal = SIZE_EXPAND_FILL
header_box.size_flags_vertical = SIZE_EXPAND | SIZE_SHRINK_CENTER header_box.size_flags_vertical = SIZE_SHRINK_CENTER
header_box.set( "custom_constants/margin_right", 4)
header_box.set( "custom_constants/margin_top", 4)
header_box.set( "custom_constants/margin_left", 4)
header_box.set( "custom_constants/margin_bottom", 4)
if is_movable:
header_box.mouse_default_cursor_shape = CURSOR_MOVE
parts.add_child( header_box )
# header_box.set_owner( parts )
header_box.connect ( "gui_input", self, "_on_Header_gui_input" )
###
###
# header
var header
if not header_box.has_node( "header" ):
header = HBoxContainer.new()
header.name = "header"
header.size_flags_horizontal = SIZE_EXPAND_FILL
header.size_flags_vertical = SIZE_EXPAND | SIZE_SHRINK_CENTER
if is_movable: if is_movable:
header.mouse_default_cursor_shape = CURSOR_MOVE header.mouse_default_cursor_shape = CURSOR_MOVE
header.add_child( header_box ) header_box.add_child( header )
header_box.set_owner( header ) # header.set_owner( header_box )
###
### ###
# Quit ###
# quit
var quit_button var quit_button
if not self.has_node( "Quit" ): if not header.has_node( "quit" ):
quit_button = TextureButton.new() quit_button = TextureButton.new()
quit_button.name = "Quit" quit_button.name = "quit"
quit_button.size_flags_horizontal = SIZE_SHRINK_END quit_button.size_flags_horizontal = SIZE_SHRINK_END
quit_button.size_flags_vertical = SIZE_SHRINK_CENTER quit_button.size_flags_vertical = SIZE_SHRINK_CENTER
@ -112,15 +169,15 @@ func _enter_tree():
tex_quit.create_from_image( img_quit ) tex_quit.create_from_image( img_quit )
quit_button.texture_normal = tex_quit quit_button.texture_normal = tex_quit
header_box.add_child( quit_button ) header.add_child( quit_button )
quit_button.set_owner( header_box ) # quit_button.set_owner( header )
quit_button.connect ( "pressed", self, "_on_Quit_pressed" ) quit_button.connect ( "pressed", self, "_on_Quit_pressed" )
### ###
# Close # close
var close_button = TextureButton.new() var close_button = TextureButton.new()
if not self.has_node( "Close" ): if not header.has_node( "close" ):
close_button = TextureButton.new() close_button = TextureButton.new()
close_button.name = "Close" close_button.name = "close"
close_button.size_flags_horizontal = SIZE_SHRINK_END close_button.size_flags_horizontal = SIZE_SHRINK_END
close_button.size_flags_vertical = SIZE_SHRINK_CENTER close_button.size_flags_vertical = SIZE_SHRINK_CENTER
@ -130,15 +187,15 @@ func _enter_tree():
tex_close.create_from_image( img_close ) tex_close.create_from_image( img_close )
close_button.texture_normal = tex_close close_button.texture_normal = tex_close
header_box.add_child( close_button ) header.add_child( close_button )
close_button.set_owner( header_box ) # close_button.set_owner( header )
close_button.connect ( "pressed", self, "_on_Close_pressed" ) close_button.connect ( "pressed", self, "_on_Close_pressed" )
### ###
# Open # open
var open_button var open_button
if not self.has_node( "Open" ): if not header.has_node( "open" ):
open_button = TextureButton.new() open_button = TextureButton.new()
open_button.name = "Open" open_button.name = "open"
open_button.size_flags_horizontal = SIZE_SHRINK_END open_button.size_flags_horizontal = SIZE_SHRINK_END
open_button.size_flags_vertical = SIZE_SHRINK_CENTER open_button.size_flags_vertical = SIZE_SHRINK_CENTER
@ -148,73 +205,109 @@ func _enter_tree():
tex_open.create_from_image( img_open ) tex_open.create_from_image( img_open )
open_button.texture_normal = tex_open open_button.texture_normal = tex_open
open_button.visible = false open_button.visible = false
header_box.add_child( open_button ) header.add_child( open_button )
open_button.set_owner( header_box ) # open_button.set_owner( header )
open_button.connect ( "pressed", self, "_on_Open_pressed" ) open_button.connect ( "pressed", self, "_on_Open_pressed" )
### ###
### ###
# Title Label # Title Label
var title_label var title_label
if not self.has_node( "Label" ): if not header.has_node( "label" ):
title_label = Label.new() title_label = Label.new()
title_label.name = "Label" title_label.name = "label"
title_label.text = title title_label.text = title
title_label.size_flags_horizontal = SIZE_EXPAND_FILL title_label.size_flags_horizontal = SIZE_EXPAND_FILL
title_label.size_flags_vertical = SIZE_SHRINK_CENTER title_label.size_flags_vertical = SIZE_SHRINK_CENTER
if is_movable: if is_movable:
title_label.mouse_default_cursor_shape = CURSOR_MOVE title_label.mouse_default_cursor_shape = CURSOR_MOVE
header_box.add_child( title_label ) header.add_child( title_label )
title_label.set_owner( header_box ) # title_label.set_owner( header )
### ###
### ###
# Content # Content
var content_box
if not parts.has_node( "content_box" ):
content_box = MarginContainer.new()
content_box.name = "content_box"
content_box.size_flags_horizontal = SIZE_EXPAND_FILL
content_box.size_flags_vertical = SIZE_EXPAND_FILL
content_box.set( "custom_constants/margin_right", 8)
content_box.set( "custom_constants/margin_top", 8)
content_box.set( "custom_constants/margin_left", 8)
content_box.set( "custom_constants/margin_bottom", 8)
parts.add_child( content_box )
# content_box.set_owner( parts )
###
###
# content_box/scroll_container
var content_scroll_container
if not content_box.has_node( "scroll_container" ):
content_scroll_container = ScrollContainer.new()
content_scroll_container.name = "scroll_container"
content_scroll_container.size_flags_horizontal = SIZE_FILL
content_scroll_container.size_flags_vertical = SIZE_FILL
content_scroll_container.scroll_deadzone = 0
content_box.add_child( content_scroll_container )
# content_scroll_container.set_owner( content_box )
###
###
# content
var content var content
if not self.has_node( "Content" ): if not content_scroll_container.has_node( "content" ):
content = MarginContainer.new() content = VBoxContainer.new()
content.name = "Content" content.name = "content"
content.size_flags_horizontal = SIZE_EXPAND_FILL content.size_flags_horizontal = SIZE_EXPAND_FILL
content.size_flags_vertical = SIZE_EXPAND_FILL content.size_flags_vertical = SIZE_EXPAND_FILL
content.set( "custom_constants/margin_right", 8) content_scroll_container.add_child( content )
content.set( "custom_constants/margin_top", 8) # content.set_owner( content_scroll_container )
content.set( "custom_constants/margin_left", 8) ###
content.set( "custom_constants/margin_bottom", 8)
v_box_container.add_child( content )
content.set_owner( v_box_container )
###
### ###
# Footer # Footer
var footer
if not self.has_node( "Footer" ):
footer = MarginContainer.new()
footer.name = "Footer"
footer.size_flags_horizontal = SIZE_FILL
footer.size_flags_vertical = SIZE_FILL
footer.set( "custom_constants/margin_right", 6)
footer.set( "custom_constants/margin_top", 2)
footer.set( "custom_constants/margin_left", 6)
footer.set( "custom_constants/margin_bottom", 6)
v_box_container.add_child( footer )
footer.set_owner( v_box_container )
###
###
# Header/HBoxContainer
var footer_box var footer_box
if not self.has_node( "HBoxContainer" ): if not parts.has_node( "footer_box" ):
footer_box = HBoxContainer.new() footer_box = MarginContainer.new()
footer_box.name = "HBoxContainer" footer_box.name = "footer_box"
footer_box.size_flags_horizontal = SIZE_FILL footer_box.size_flags_horizontal = SIZE_FILL
footer_box.size_flags_vertical = SIZE_FILL footer_box.size_flags_vertical = SIZE_FILL
footer.add_child( footer_box ) footer_box.set( "custom_constants/margin_right", content_margin.position.y)
footer_box.set_owner( footer ) footer_box.set( "custom_constants/margin_top", content_margin.size.x)
### footer_box.set( "custom_constants/margin_left", content_margin.position.x)
footer_box.set( "custom_constants/margin_bottom", content_margin.size.y)
parts.add_child( footer_box )
# footer_box.set_owner( parts )
###
### ###
# Open # footer_box/footer
var footer
if not footer_box.has_node( "footer" ):
footer = HBoxContainer.new()
footer.name = "footer"
footer.size_flags_horizontal = SIZE_EXPAND_FILL
footer.size_flags_vertical = SIZE_EXPAND_FILL
footer_box.add_child( footer )
# footer.set_owner( footer_box )
###
###
# footer_label
var footer_label
if not footer.has_node( "footer_label" ):
footer_label = Label.new()
footer_label.name = "footer_label"
footer_label.size_flags_horizontal = SIZE_EXPAND
footer_label.size_flags_vertical = SIZE_EXPAND
footer.add_child( footer_label )
###
# resize
var resize_button var resize_button
if not self.has_node( "Resize" ): if not footer.has_node( "resize" ):
resize_button = TextureButton.new() resize_button = TextureButton.new()
resize_button.name = "Resize" resize_button.name = "resize"
resize_button.size_flags_horizontal = SIZE_EXPAND | SIZE_SHRINK_END resize_button.size_flags_horizontal = SIZE_FILL | SIZE_SHRINK_END
resize_button.size_flags_vertical = SIZE_EXPAND resize_button.size_flags_vertical = SIZE_SHRINK_END
var tex_resize = ImageTexture.new() var tex_resize = ImageTexture.new()
var img_resize = Image.new() var img_resize = Image.new()
@ -223,29 +316,60 @@ func _enter_tree():
resize_button.texture_normal = tex_resize resize_button.texture_normal = tex_resize
resize_button.mouse_default_cursor_shape = CURSOR_FDIAGSIZE resize_button.mouse_default_cursor_shape = CURSOR_FDIAGSIZE
resize_button.action_mode = Button.ACTION_MODE_BUTTON_PRESS resize_button.action_mode = Button.ACTION_MODE_BUTTON_PRESS
footer_box.add_child( resize_button ) footer.add_child( resize_button )
resize_button.set_owner( footer_box ) # resize_button.set_owner( footer )
resize_button.connect ( "pressed", self, "_on_Resize_pressed" ) resize_button.connect ( "pressed", self, "_on_Resize_pressed" )
### ###er_label.set_owner( footer )
###
current_rect_size = self.rect_min_size current_rect_size = self.rect_min_size
if is_borderless: if is_borderless:
$Background.region_rect = Rect2( 3, 28+3, 512-6, 512-28-6 ) $background.region_rect = Rect2( $background.patch_margin_left-1
$VBoxContainer/Header/HBoxContainer/Close.visible = false , $background.patch_margin_top-1
$VBoxContainer/Header/HBoxContainer/Open.visible = false , 256-($background.patch_margin_left+$background.patch_margin_right)+2
$VBoxContainer/Header/HBoxContainer/Quit.visible = false , 256-($background.patch_margin_top+$background.patch_margin_bottom)+2 )
$VBoxContainer/Header/HBoxContainer/Label.visible = false $background.patch_margin_left = 1
# else: $background.patch_margin_top = 1
# $Background.region_rect = Rect2( 0, 0, 512, 512 ) $background.patch_margin_right = 1
# $VBoxContainer/Header/HBoxContainer/Close.visible = true $background.patch_margin_bottom = 1
# $VBoxContainer/Header/HBoxContainer/Open.visible = false header_box.rect_min_size.y = 1
# $VBoxContainer/Header/HBoxContainer/Quit.visible = true close_button.visible = false
# $VBoxContainer/Header/HBoxContainer/Label.visible = true open_button.visible = false
quit_button.visible = false
title_label.visible = false
if not is_resizable: if not is_resizable:
$VBoxContainer/Footer/HBoxContainer/Resize.visible = false if not has_footer:
footer_box.visible = false
else:
footer_box.get_node( "footer/resize" ).visible = false
func _ready():
# On déplace les enfants ajouter via l'editeur sous content.
for child in self.get_children():
if not child.name =="parts" and not child.name =="background":
if child.name.begins_with( "footer_" ):
if footer_box.get_node("footer").has_node("footer_label"):
footer_box.get_node("footer").remove_child( footer_box.get_node("footer").get_node("footer_label") )
self.remove_child( child )
get_footer().add_child( child )
get_footer().move_child( child, 0 )
else:
self.remove_child( child )
get_content().add_child( child )
set_mouse_pass_to_children( self )
func _process(delta):
if size_changed:
self.rect_size = Vector2( clamp( self.rect_size.x, min_size.x, self.rect_size.x ), clamp( self.rect_size.y, min_size.y, self.rect_size.y ) )
size_changed = false
func _on_Window_mouse_entered(): func _on_Window_mouse_entered():
print("mouse_entered") print("mouse_entered")
@ -258,23 +382,25 @@ func _on_Quit_pressed():
self.visible = false self.visible = false
func get_content(): func get_content():
return $VBoxContainer/Content return content_box.get_node( "scroll_container/content" )
func get_footer():
return footer_box.get_node( "footer" )
func close(): func close():
if not is_borderless: if not is_borderless:
$VBoxContainer/Header/HBoxContainer/Close.visible = false header_box.get_node( "header/close" ).visible = false
$VBoxContainer/Header/HBoxContainer/Open.visible = true header_box.get_node( "header/open" ).visible = true
$VBoxContainer/Content.visible = false content_box.visible = false
$VBoxContainer/Footer.visible = false footer_box.visible = false
current_rect_size = self.rect_size current_rect_size = self.rect_size
self.rect_size = Vector2( 0, 0 ) self.rect_size = Vector2( 0, 0 )
else: else:
$VBoxContainer/Header/HBoxContainer/Close.visible = false header_box.get_node( "header/close" ).visible = false
$VBoxContainer/Header/HBoxContainer/Open.visible = false header_box.get_node( "header/open" ).visible = false
$VBoxContainer/Content.visible = false content_box.visible = false
$VBoxContainer/Footer.visible = false footer_box.visible = false
current_rect_size = self.rect_size current_rect_size = self.rect_size
self.rect_size = Vector2( 0, 0 ) self.rect_size = Vector2( 0, 0 )
@ -284,16 +410,16 @@ func _on_Close_pressed():
func open(): func open():
if not is_borderless: if not is_borderless:
$VBoxContainer/Header/HBoxContainer/Close.visible = true header_box.get_node( "header/close" ).visible = true
$VBoxContainer/Header/HBoxContainer/Open.visible = false header_box.get_node( "header/open" ).visible = false
$VBoxContainer/Content.visible = true content_box.visible = true
$VBoxContainer/Footer.visible = true footer_box.visible = true
self.rect_size = current_rect_size self.rect_size = current_rect_size
else: else:
$VBoxContainer/Header/HBoxContainer/Close.visible = false header_box.get_node( "header/close" ).visible = false
$VBoxContainer/Header/HBoxContainer/Open.visible = false header_box.get_node( "header/open" ).visible = false
$VBoxContainer/Content.visible = true content_box.visible = true
$VBoxContainer/Footer.visible = true footer_box.visible = true
self.rect_size = current_rect_size self.rect_size = current_rect_size
func _on_Open_pressed(): func _on_Open_pressed():
@ -309,17 +435,28 @@ func _input( event ):
if event is InputEventMouseMotion and is_resizing: if event is InputEventMouseMotion and is_resizing:
var delta = event.relative var delta = event.relative
self.rect_size += delta self.rect_size += delta
size_changed = true
func _on_Header_gui_input(ev):
func check_if_clicked( event ):
if not is_moving and event is InputEventMouseButton and event.is_pressed() and not event.is_echo() and event.button_index == 1 :
emit_signal( "window_clicked", self )
func _on_Header_gui_input( event ):
check_if_clicked( event )
if is_movable: if is_movable:
if is_moving and ev is InputEventMouseButton and not ev.pressed: if is_moving and event is InputEventMouseButton and not event.pressed:
is_moving = false is_moving = false
elif not is_moving and ev is InputEventMouseButton and ev.pressed: elif not is_moving and event is InputEventMouseButton and event.pressed:
is_moving = true is_moving = true
if ev is InputEventMouseMotion and is_moving: if event is InputEventMouseMotion and is_moving:
var delta = ev.relative var delta = event.relative
self.rect_position += delta self.rect_position += delta
func _on_window_gui_input( event ):
check_if_clicked( event )
func load_from_file( config_file ): func load_from_file( config_file ):
if config_file.has_section( self.name ): if config_file.has_section( self.name ):
self.rect_position = config_file.get_value( self.name, "position" ) self.rect_position = config_file.get_value( self.name, "position" )
@ -335,7 +472,7 @@ func load_from_file( config_file ):
func save_to_file( config_file ): func save_to_file( config_file ):
var is_open = $VBoxContainer/Content.visible var is_open = content_box.visible
config_file.set_value(self.name, "position", self.rect_position) config_file.set_value(self.name, "position", self.rect_position)

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

View file

@ -0,0 +1,67 @@
[gd_resource type="SpatialMaterial" load_steps=5 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/ceramic_tiles_basecolor.png" type="Texture" id=1]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/ceramic_tiles_metallic.png" type="Texture" id=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/ceramic_tiles_normal.png" type="Texture" id=3]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/ceramic_tiles_roughness.png" type="Texture" id=4]
[resource]
render_priority = 0
flags_transparent = false
flags_unshaded = false
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = true
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 1
params_specular_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 1, 1, 1, 1 )
albedo_texture = ExtResource( 1 )
metallic = 0.0
metallic_specular = 0.0
metallic_texture = ExtResource( 2 )
metallic_texture_channel = 4
roughness = 0.0
roughness_texture = ExtResource( 4 )
roughness_texture_channel = 4
emission_enabled = false
normal_enabled = true
normal_scale = 1.0
normal_texture = ExtResource( 3 )
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = true
ao_light_affect = 0.0
ao_on_uv2 = false
ao_texture_channel = 4
depth_enabled = false
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 1, 1, 1 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = false
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Ambient Occlusion", "Flags", "Metallic", "NormalMap", "Roughness", "Vertex Color" ]

View file

@ -0,0 +1,64 @@
[gd_resource type="SpatialMaterial" load_steps=5 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/plastic_base_basecolor.png" type="Texture" id=1]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/plastic_base_metallic.png" type="Texture" id=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/plastic_base_normal.png" type="Texture" id=3]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/plastic_base_roughness.png" type="Texture" id=4]
[resource]
render_priority = 0
flags_transparent = false
flags_unshaded = false
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = true
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 1
params_specular_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 1, 1, 1, 1 )
albedo_texture = ExtResource( 1 )
metallic = 0.0
metallic_specular = 0.0
metallic_texture = ExtResource( 2 )
metallic_texture_channel = 4
roughness = 0.0
roughness_texture = ExtResource( 4 )
roughness_texture_channel = 4
emission_enabled = false
normal_enabled = true
normal_scale = 1.0
normal_texture = ExtResource( 3 )
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
depth_enabled = false
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 1, 1, 1 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = false
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Metallic", "NormalMap", "Roughness" ]

View file

@ -0,0 +1,64 @@
[gd_resource type="SpatialMaterial" load_steps=5 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/steel_glossy_basecolor.png" type="Texture" id=1]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/steel_glossy_metallic.png" type="Texture" id=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/steel_glossy_normal.png" type="Texture" id=3]
[ext_resource path="res://assets/Game/basekits/dispensaire_textures/steel_glossy_roughness.png" type="Texture" id=4]
[resource]
render_priority = 0
flags_transparent = false
flags_unshaded = false
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = true
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_specular_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 1, 1, 1, 1 )
albedo_texture = ExtResource( 1 )
metallic = 1.0
metallic_specular = 0.5
metallic_texture = ExtResource( 2 )
metallic_texture_channel = 4
roughness = 0.0
roughness_texture = ExtResource( 4 )
roughness_texture_channel = 4
emission_enabled = false
normal_enabled = true
normal_scale = 1.0
normal_texture = ExtResource( 3 )
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
depth_enabled = false
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 1, 1, 1 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = false
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Flags", "Metallic", "NormalMap", "Roughness" ]

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,44 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_mesh_sources/DisCor1wAA01.mesh" type="ArrayMesh" id=1]
[sub_resource type="ConcavePolygonShape" id=1]
data = PoolVector3Array( -1.5313, 0.2188, -1.749, -1.5303, 3.2813, 1.75, -1.5313, 3.2813, -1.749, -1.5303, 0.2188, 1.75, -1.5303, 3.2813, 1.75, -1.5313, 0.2188, -1.749, 1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, -1.75, -1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, 1.75, -1.75, 3.2813, 1.75, 1.75, 3.2813, -1.75, -1.75, 3.2813, -1.75, 1.75, 3.2813, 1.75, 1.75, 3.2813, -1.75, -1.75, 3.2813, 1.75, 1.5313, 0.2188, 1.75, 1.5313, 3.2813, -1.75, 1.5313, 3.2813, 1.75, 1.5313, 0.2188, -1.75, 1.5313, 3.2813, -1.75, 1.5313, 0.2188, 1.75, 1.75, 0.2188, -1.5303, -1.75, 3.2813, -1.5313, 1.75, 3.2813, -1.5303, -1.75, 0.2188, -1.5313, -1.75, 3.2813, -1.5313, 1.75, 0.2188, -1.5303 )
[node name="DisCor1wAA01" type="MeshInstance" index="0"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = ExtResource( 1 )
skeleton = NodePath("..")
material/0 = null
material/1 = null
material/2 = null
material/3 = null
material/4 = null
[node name="static_body" type="StaticBody" parent="." index="0"]
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
[node name="collision_shape" type="CollisionShape" parent="static_body" index="0"]
shape = SubResource( 1 )
disabled = false

View file

@ -0,0 +1,45 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_mesh_sources/DisCor1wDoLAA01.mesh" type="ArrayMesh" id=1]
[sub_resource type="ConcavePolygonShape" id=1]
data = PoolVector3Array( 1.75, 0.2188, -1.5313, -1.75, 3.2813, -1.5313, 1.75, 3.2813, -1.5313, -1.75, 0.2188, -1.5313, -1.75, 3.2813, -1.5313, 1.75, 0.2188, -1.5313, -1.5313, 2.625, 1.749, -1.5313, 0.8198, 0.9526, -1.5313, 0.8198, 1.749, -1.584, 0.8198, -0.8984, -1.75, 2.625, -0.5249, -1.584, 2.625, -0.5249, -1.5313, 0.2188, -1.75, -1.5313, 0.8198, -0.9526, -1.5313, 0.8198, -1.75, -1.5313, 2.625, 1.749, -1.5313, 3.2813, 0.6558, -1.5313, 2.6777, 0.5679, -1.584, 0.2188, -0.6563, -1.75, 0.8198, -0.8984, -1.584, 0.8198, -0.8984, -1.75, 2.625, 0.5249, -1.584, 0.8198, 0.8984, -1.584, 2.625, 0.5249, -1.5313, 0.2188, 1.749, -1.5313, 0.8198, 0.9526, -1.5313, 0.2188, 0.71, -1.5313, 2.625, -1.75, -1.5313, 3.2813, -0.6563, -1.5313, 3.2813, -1.75, -1.75, 0.8198, 0.8984, -1.584, 0.2188, 0.6558, -1.584, 0.8198, 0.8984, -1.5313, 0.8198, -0.9526, -1.5313, 2.625, -1.75, -1.5313, 0.8198, -1.75, -1.5313, 2.6777, 0.5679, -1.5313, 3.2813, -0.6563, -1.5313, 2.6777, -0.5679, -1.584, 2.625, -0.5249, -1.75, 2.625, 0.5249, -1.584, 2.625, 0.5249, -1.5313, 2.6777, 0.5679, -1.5313, 0.8198, 0.9526, -1.5313, 2.625, 1.749, -1.75, 0.8198, -0.8984, -1.75, 2.625, -0.5249, -1.584, 0.8198, -0.8984, -1.5313, 0.2188, -0.71, -1.5313, 0.8198, -0.9526, -1.5313, 0.2188, -1.75, -1.5313, 3.2813, 1.749, -1.5313, 3.2813, 0.6558, -1.5313, 2.625, 1.749, -1.75, 0.2188, -0.6563, -1.75, 0.8198, -0.8984, -1.584, 0.2188, -0.6563, -1.75, 0.8198, 0.8984, -1.584, 0.8198, 0.8984, -1.75, 2.625, 0.5249, -1.5313, 0.8198, 1.749, -1.5313, 0.8198, 0.9526, -1.5313, 0.2188, 1.749, -1.5313, 2.6777, -0.5679, -1.5313, 3.2813, -0.6563, -1.5313, 2.625, -1.75, -1.75, 0.2188, 0.6558, -1.584, 0.2188, 0.6558, -1.75, 0.8198, 0.8984, -1.5313, 2.6777, -0.5679, -1.5313, 2.625, -1.75, -1.5313, 0.8198, -0.9526, -1.5313, 3.2813, 0.6558, -1.5313, 3.2813, -0.6563, -1.5313, 2.6777, 0.5679, -1.75, 2.625, -0.5249, -1.75, 2.625, 0.5249, -1.584, 2.625, -0.5249, -1.5313, 2.6777, 0.5679, -1.584, 2.625, -0.5249, -1.584, 2.625, 0.5249, -1.5313, 0.8198, 0.9526, -1.584, 2.625, 0.5249, -1.584, 0.8198, 0.8984, -1.584, 2.625, -0.5249, -1.5313, 0.8198, -0.9526, -1.584, 0.8198, -0.8984, -1.584, 0.8198, -0.8984, -1.5313, 0.2188, -0.71, -1.584, 0.2188, -0.6563, -1.5313, 0.2188, 0.71, -1.584, 0.8198, 0.8984, -1.584, 0.2188, 0.6558, -1.5313, 2.6777, -0.5679, -1.584, 2.625, -0.5249, -1.5313, 2.6777, 0.5679, -1.5313, 2.6777, 0.5679, -1.584, 2.625, 0.5249, -1.5313, 0.8198, 0.9526, -1.5313, 2.6777, -0.5679, -1.5313, 0.8198, -0.9526, -1.584, 2.625, -0.5249, -1.5313, 0.8198, -0.9526, -1.5313, 0.2188, -0.71, -1.584, 0.8198, -0.8984, -1.5313, 0.8198, 0.9526, -1.584, 0.8198, 0.8984, -1.5313, 0.2188, 0.71, 1.5313, 0.2188, 1.749, 1.5313, 3.2813, -1.75, 1.5313, 3.2813, 1.749, 1.5313, 0.2188, -1.75, 1.5313, 3.2813, -1.75, 1.5313, 0.2188, 1.749, -1.75, 3.2813, 1.749, 1.75, 3.2813, -1.75, -1.75, 3.2813, -1.75, 1.75, 3.2813, 1.749, 1.75, 3.2813, -1.75, -1.75, 3.2813, 1.749, 1.75, 0.2188, 1.749, -1.75, 0.2188, -1.75, 1.75, 0.2188, -1.75, -1.75, 0.2188, 1.749, -1.75, 0.2188, -1.75, 1.75, 0.2188, 1.749 )
[node name="DisCor1wDoLAA01" type="MeshInstance" index="0"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = ExtResource( 1 )
skeleton = NodePath("..")
material/0 = null
material/1 = null
material/2 = null
material/3 = null
material/4 = null
material/5 = null
[node name="static_body" type="StaticBody" parent="." index="0"]
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
[node name="collision_shape" type="CollisionShape" parent="static_body" index="0"]
shape = SubResource( 1 )
disabled = false

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,45 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_mesh_sources/DisCor1wDoRAA01.mesh" type="ArrayMesh" id=1]
[sub_resource type="ConcavePolygonShape" id=1]
data = PoolVector3Array( 1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, -1.75, -1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, 1.75, -1.75, 3.2813, 1.75, 1.75, 3.2813, -1.749, -1.75, 3.2813, -1.749, 1.75, 3.2813, 1.75, 1.75, 3.2813, -1.749, -1.75, 3.2813, 1.75, -1.5313, 0.2188, -1.749, -1.5303, 3.2813, 1.75, -1.5313, 3.2813, -1.749, -1.5303, 0.2188, 1.75, -1.5303, 3.2813, 1.75, -1.5313, 0.2188, -1.749, 1.5313, 2.625, -1.75, 1.5313, 0.8198, -0.9526, 1.5313, 0.8198, -1.75, 1.584, 0.8198, 0.8984, 1.75, 2.625, 0.5249, 1.584, 2.625, 0.5249, 1.5313, 0.2188, 1.75, 1.5313, 0.8198, 0.9526, 1.5313, 0.8198, 1.75, 1.5313, 2.625, -1.75, 1.5313, 3.2813, -0.6563, 1.5313, 2.6777, -0.5679, 1.75, 0.2188, 0.6563, 1.584, 0.8198, 0.8984, 1.584, 0.2188, 0.6563, 1.75, 2.625, -0.5249, 1.584, 0.8198, -0.8984, 1.584, 2.625, -0.5249, 1.5313, 0.2188, -1.75, 1.5313, 0.8198, -0.9526, 1.5313, 0.2188, -0.71, 1.5313, 2.625, 1.75, 1.5313, 3.2813, 0.6563, 1.5313, 3.2813, 1.75, 1.75, 0.8198, -0.8984, 1.584, 0.2188, -0.6563, 1.584, 0.8198, -0.8984, 1.5313, 0.8198, 0.9526, 1.5313, 2.625, 1.75, 1.5313, 0.8198, 1.75, 1.5313, 2.6777, -0.5679, 1.5313, 3.2813, 0.6563, 1.5313, 2.6777, 0.5679, 1.584, 2.625, 0.5249, 1.75, 2.625, -0.5249, 1.584, 2.625, -0.5249, 1.5313, 2.6777, -0.5679, 1.5313, 0.8198, -0.9526, 1.5313, 2.625, -1.75, 1.75, 0.8198, 0.8984, 1.75, 2.625, 0.5249, 1.584, 0.8198, 0.8984, 1.5313, 0.2188, 0.71, 1.5313, 0.8198, 0.9526, 1.5313, 0.2188, 1.75, 1.5313, 3.2813, -1.75, 1.5313, 3.2813, -0.6563, 1.5313, 2.625, -1.75, 1.75, 0.8198, 0.8984, 1.584, 0.8198, 0.8984, 1.75, 0.2188, 0.6563, 1.75, 0.8198, -0.8984, 1.584, 0.8198, -0.8984, 1.75, 2.625, -0.5249, 1.5313, 0.8198, -1.75, 1.5313, 0.8198, -0.9526, 1.5313, 0.2188, -1.75, 1.5313, 2.6777, 0.5679, 1.5313, 3.2813, 0.6563, 1.5313, 2.625, 1.75, 1.75, 0.2188, -0.6563, 1.584, 0.2188, -0.6563, 1.75, 0.8198, -0.8984, 1.5313, 2.6777, 0.5679, 1.5313, 2.625, 1.75, 1.5313, 0.8198, 0.9526, 1.5313, 3.2813, -0.6563, 1.5313, 3.2813, 0.6563, 1.5313, 2.6777, -0.5679, 1.75, 2.625, 0.5249, 1.75, 2.625, -0.5249, 1.584, 2.625, 0.5249, 1.5313, 2.6777, -0.5679, 1.584, 2.625, 0.5249, 1.584, 2.625, -0.5249, 1.5313, 0.8198, -0.9526, 1.584, 2.625, -0.5249, 1.584, 0.8198, -0.8984, 1.584, 2.625, 0.5249, 1.5313, 0.8198, 0.9526, 1.584, 0.8198, 0.8984, 1.584, 0.8198, 0.8984, 1.5313, 0.2188, 0.71, 1.584, 0.2188, 0.6563, 1.5313, 0.2188, -0.71, 1.584, 0.8198, -0.8984, 1.584, 0.2188, -0.6563, 1.5313, 2.6777, 0.5679, 1.584, 2.625, 0.5249, 1.5313, 2.6777, -0.5679, 1.5313, 2.6777, -0.5679, 1.584, 2.625, -0.5249, 1.5313, 0.8198, -0.9526, 1.5313, 2.6777, 0.5679, 1.5313, 0.8198, 0.9526, 1.584, 2.625, 0.5249, 1.5313, 0.8198, 0.9526, 1.5313, 0.2188, 0.71, 1.584, 0.8198, 0.8984, 1.5313, 0.8198, -0.9526, 1.584, 0.8198, -0.8984, 1.5313, 0.2188, -0.71, 1.75, 0.2188, -1.5303, -1.749, 3.2813, -1.5313, 1.75, 3.2813, -1.5303, -1.749, 0.2188, -1.5313, -1.749, 3.2813, -1.5313, 1.75, 0.2188, -1.5303 )
[node name="DisCor1wDoRAA01" type="MeshInstance" index="0"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = ExtResource( 1 )
skeleton = NodePath("..")
material/0 = null
material/1 = null
material/2 = null
material/3 = null
material/4 = null
material/5 = null
[node name="static_body" type="StaticBody" parent="." index="0"]
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
[node name="collision_shape" type="CollisionShape" parent="static_body" index="0"]
shape = SubResource( 1 )
disabled = false

View file

@ -0,0 +1,43 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_mesh_sources/DisCor2wAA01.mesh" type="ArrayMesh" id=1]
[sub_resource type="ConcavePolygonShape" id=1]
data = PoolVector3Array( 1.5313, 0.2188, 1.749, 1.5303, 3.2813, -1.75, 1.5313, 3.2813, 1.749, 1.5303, 0.2188, -1.75, 1.5303, 3.2813, -1.75, 1.5313, 0.2188, 1.749, -1.5313, 0.2188, -1.75, -1.5303, 3.2813, 1.75, -1.5313, 3.2813, -1.75, -1.5303, 0.2188, 1.75, -1.5303, 3.2813, 1.75, -1.5313, 0.2188, -1.75, -1.75, 3.2813, 1.75, 1.75, 3.2813, -1.75, -1.75, 3.2813, -1.75, 1.75, 3.2813, 1.75, 1.75, 3.2813, -1.75, -1.75, 3.2813, 1.75, 1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, -1.75, -1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, 1.75 )
[node name="DisCor2wAA01" type="MeshInstance" index="0"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = ExtResource( 1 )
skeleton = NodePath("..")
material/0 = null
material/1 = null
material/2 = null
material/3 = null
[node name="static_body" type="StaticBody" parent="." index="0"]
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
[node name="collision_shape" type="CollisionShape" parent="static_body" index="0"]
shape = SubResource( 1 )
disabled = false

View file

@ -0,0 +1,44 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_mesh_sources/DisCor2wDoLAA01.mesh" type="ArrayMesh" id=1]
[sub_resource type="ConcavePolygonShape" id=1]
data = PoolVector3Array( 1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, -1.75, -1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, 1.75, -1.75, 3.2813, 1.75, 1.75, 3.2813, -1.749, -1.75, 3.2813, -1.749, 1.75, 3.2813, 1.75, 1.75, 3.2813, -1.749, -1.75, 3.2813, 1.75, 1.5313, 0.2188, 1.75, 1.5313, 3.2813, -1.749, 1.5313, 3.2813, 1.75, 1.5313, 0.2188, -1.749, 1.5313, 3.2813, -1.749, 1.5313, 0.2188, 1.75, -1.5313, 2.625, 1.75, -1.5313, 0.8198, 0.9526, -1.5313, 0.8198, 1.75, -1.584, 0.8198, -0.8984, -1.75, 2.625, -0.5249, -1.584, 2.625, -0.5249, -1.5313, 0.2188, -1.749, -1.5313, 0.8198, -0.9526, -1.5313, 0.8198, -1.749, -1.5313, 2.625, 1.75, -1.5313, 3.2813, 0.6563, -1.5313, 2.6777, 0.5679, -1.584, 0.2188, -0.6558, -1.75, 0.8198, -0.8984, -1.584, 0.8198, -0.8984, -1.75, 2.625, 0.5249, -1.584, 0.8198, 0.8984, -1.584, 2.625, 0.5249, -1.5313, 0.2188, 1.75, -1.5313, 0.8198, 0.9526, -1.5313, 0.2188, 0.71, -1.5313, 2.625, -1.749, -1.5313, 3.2813, -0.6558, -1.5313, 3.2813, -1.749, -1.75, 0.8198, 0.8984, -1.584, 0.2188, 0.6563, -1.584, 0.8198, 0.8984, -1.5313, 0.8198, -0.9526, -1.5313, 2.625, -1.749, -1.5313, 0.8198, -1.749, -1.5313, 2.6777, 0.5679, -1.5313, 3.2813, -0.6558, -1.5313, 2.6777, -0.5679, -1.584, 2.625, -0.5249, -1.75, 2.625, 0.5249, -1.584, 2.625, 0.5249, -1.5313, 2.6777, 0.5679, -1.5313, 0.8198, 0.9526, -1.5313, 2.625, 1.75, -1.75, 0.8198, -0.8984, -1.75, 2.625, -0.5249, -1.584, 0.8198, -0.8984, -1.5313, 0.2188, -0.71, -1.5313, 0.8198, -0.9526, -1.5313, 0.2188, -1.749, -1.5313, 3.2813, 1.75, -1.5313, 3.2813, 0.6563, -1.5313, 2.625, 1.75, -1.75, 0.2188, -0.6558, -1.75, 0.8198, -0.8984, -1.584, 0.2188, -0.6558, -1.75, 0.8198, 0.8984, -1.584, 0.8198, 0.8984, -1.75, 2.625, 0.5249, -1.5313, 0.8198, 1.75, -1.5313, 0.8198, 0.9526, -1.5313, 0.2188, 1.75, -1.5313, 2.6777, -0.5679, -1.5313, 3.2813, -0.6558, -1.5313, 2.625, -1.749, -1.75, 0.2188, 0.6563, -1.584, 0.2188, 0.6563, -1.75, 0.8198, 0.8984, -1.5313, 2.6777, -0.5679, -1.5313, 2.625, -1.749, -1.5313, 0.8198, -0.9526, -1.5313, 3.2813, 0.6563, -1.5313, 3.2813, -0.6558, -1.5313, 2.6777, 0.5679, -1.75, 2.625, -0.5249, -1.75, 2.625, 0.5249, -1.584, 2.625, -0.5249, -1.5313, 2.6777, 0.5679, -1.584, 2.625, -0.5249, -1.584, 2.625, 0.5249, -1.5313, 0.8198, 0.9526, -1.584, 2.625, 0.5249, -1.584, 0.8198, 0.8984, -1.584, 2.625, -0.5249, -1.5313, 0.8198, -0.9526, -1.584, 0.8198, -0.8984, -1.584, 0.8198, -0.8984, -1.5313, 0.2188, -0.71, -1.584, 0.2188, -0.6558, -1.5313, 0.2188, 0.71, -1.584, 0.8198, 0.8984, -1.584, 0.2188, 0.6563, -1.5313, 2.6777, -0.5679, -1.584, 2.625, -0.5249, -1.5313, 2.6777, 0.5679, -1.5313, 2.6777, 0.5679, -1.584, 2.625, 0.5249, -1.5313, 0.8198, 0.9526, -1.5313, 2.6777, -0.5679, -1.5313, 0.8198, -0.9526, -1.584, 2.625, -0.5249, -1.5313, 0.8198, -0.9526, -1.5313, 0.2188, -0.71, -1.584, 0.8198, -0.8984, -1.5313, 0.8198, 0.9526, -1.584, 0.8198, 0.8984, -1.5313, 0.2188, 0.71 )
[node name="DisCor2wDoLAA01" type="MeshInstance" index="0"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = ExtResource( 1 )
skeleton = NodePath("..")
material/0 = null
material/1 = null
material/2 = null
material/3 = null
material/4 = null
[node name="static_body" type="StaticBody" parent="." index="0"]
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
[node name="collision_shape" type="CollisionShape" parent="static_body" index="0"]
shape = SubResource( 1 )
disabled = false

View file

@ -0,0 +1,45 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_mesh_sources/DisCor2wDoLRAA01.mesh" type="ArrayMesh" id=1]
[sub_resource type="ConcavePolygonShape" id=1]
data = PoolVector3Array( -1.5313, 0.2188, 1.5313, -1.5303, 3.2813, 1.75, -1.5313, 3.2813, 1.5313, -1.5303, 0.2188, 1.75, -1.5303, 3.2813, 1.75, -1.5313, 0.2188, 1.5313, -1.75, 0.2188, 1.5313, -1.5303, 3.2813, 1.5313, -1.75, 3.2813, 1.5313, -1.5303, 0.2188, 1.5313, -1.5303, 3.2813, 1.5313, -1.75, 0.2188, 1.5313, 1.75, 0.2188, -1.5303, -1.75, 3.2813, -1.5313, 1.75, 3.2813, -1.5303, -1.75, 0.2188, -1.5313, -1.75, 3.2813, -1.5313, 1.75, 0.2188, -1.5303, 1.5313, 0.2188, 1.75, 1.5313, 3.2813, -1.75, 1.5313, 3.2813, 1.75, 1.5313, 0.2188, -1.75, 1.5313, 3.2813, -1.75, 1.5313, 0.2188, 1.75, -1.75, 3.2813, 1.75, 1.75, 3.2813, -1.75, -1.75, 3.2813, -1.75, 1.75, 3.2813, 1.75, 1.75, 3.2813, -1.75, -1.75, 3.2813, 1.75, 1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, -1.75, -1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, 1.75 )
[node name="DisCor2wDoLRAA01" type="MeshInstance" index="0"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = ExtResource( 1 )
skeleton = NodePath("..")
material/0 = null
material/1 = null
material/2 = null
material/3 = null
material/4 = null
material/5 = null
[node name="static_body" type="StaticBody" parent="." index="0"]
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
[node name="collision_shape" type="CollisionShape" parent="static_body" index="0"]
shape = SubResource( 1 )
disabled = false

View file

@ -0,0 +1,45 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_mesh_sources/DisCor2wRAA01.mesh" type="ArrayMesh" id=1]
[sub_resource type="ConcavePolygonShape" id=1]
data = PoolVector3Array( 1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, -1.75, -1.75, 0.2188, 1.75, -1.75, 0.2188, -1.75, 1.75, 0.2188, 1.75, -1.75, 3.2813, 1.75, 1.75, 3.2813, -1.75, -1.75, 3.2813, -1.75, 1.75, 3.2813, 1.75, 1.75, 3.2813, -1.75, -1.75, 3.2813, 1.75, -1.5303, 0.2188, -1.75, -1.5313, 3.2813, 1.749, -1.5303, 3.2813, -1.75, -1.5313, 0.2188, 1.749, -1.5313, 3.2813, 1.749, -1.5303, 0.2188, -1.75, 1.75, 0.2188, -1.5303, -1.75, 3.2813, -1.5313, 1.75, 3.2813, -1.5303, -1.75, 0.2188, -1.5313, -1.75, 3.2813, -1.5313, 1.75, 0.2188, -1.5303, 1.5313, 0.2188, 1.75, 1.5313, 3.2813, 1.5303, 1.5313, 3.2813, 1.75, 1.5313, 0.2188, 1.5303, 1.5313, 3.2813, 1.5303, 1.5313, 0.2188, 1.75, 1.5303, 0.2188, 1.5313, 1.75, 3.2813, 1.5303, 1.5303, 3.2813, 1.5313, 1.75, 0.2188, 1.5303, 1.75, 3.2813, 1.5303, 1.5303, 0.2188, 1.5313 )
[node name="DisCor2wRAA01" type="MeshInstance" index="0"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = ExtResource( 1 )
skeleton = NodePath("..")
material/0 = null
material/1 = null
material/2 = null
material/3 = null
material/4 = null
material/5 = null
[node name="static_body" type="StaticBody" parent="." index="0"]
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
[node name="collision_shape" type="CollisionShape" parent="static_body" index="0"]
shape = SubResource( 1 )
disabled = false

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -0,0 +1,12 @@
# Blender MTL File: 'kit_test_base.blend'
# Material Count: 1
newmtl mat_base
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View file

@ -0,0 +1,40 @@
# Blender v2.79 (sub 0) OBJ File: 'kit_test_base.blend'
# www.blender.org
mtllib kit_test_1way.mtl
o Plane
v -1.000000 0.000000 1.000000
v 1.000000 0.000000 1.000000
v -1.000000 0.000000 -1.000000
v 1.000000 0.000000 -1.000000
v -1.000000 3.000000 -1.000000
v 1.000000 3.000000 -1.000000
v -1.000000 3.000000 1.000000
v 1.000000 3.000000 1.000000
vt 0.250278 0.375250
vt 0.500222 0.375250
vt 0.500222 0.625195
vt 0.250278 0.625195
vt 0.250056 0.625195
vt 0.000111 0.625195
vt 0.000111 0.375250
vt 0.250056 0.375250
vt 0.250056 0.000111
vt 0.250056 0.375028
vt 0.000111 0.375028
vt 0.000111 0.000111
vt 0.749944 0.000111
vt 0.749944 0.375028
vt 0.500000 0.375028
vt 0.500000 0.000111
vn 0.0000 1.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 0.0000 -1.0000
vn -1.0000 0.0000 0.0000
usemtl mat_base
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 5/5/2 6/6/2 8/7/2 7/8/2
f 4/9/3 6/10/3 5/11/3 3/12/3
f 1/13/4 7/14/4 8/15/4 2/16/4
f 2/16/5 8/15/5 6/10/5 4/9/5

View file

@ -0,0 +1,12 @@
# Blender MTL File: 'kit_test_base.blend'
# Material Count: 1
newmtl mat_base
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View file

@ -0,0 +1,38 @@
# Blender v2.79 (sub 0) OBJ File: 'kit_test_base.blend'
# www.blender.org
mtllib kit_test_2way.mtl
o Plane
v -1.000000 0.000000 1.000000
v 1.000000 0.000000 1.000000
v -1.000000 0.000000 -1.000000
v 1.000000 0.000000 -1.000000
v -1.000000 3.000000 -1.000000
v 1.000000 3.000000 -1.000000
v -1.000000 3.000000 1.000000
v 1.000000 3.000000 1.000000
vt 0.250278 0.375250
vt 0.500222 0.375250
vt 0.500222 0.625195
vt 0.250278 0.625195
vt 0.250056 0.625195
vt 0.000111 0.625195
vt 0.000111 0.375250
vt 0.250056 0.375250
vt 0.250056 0.000111
vt 0.250056 0.375028
vt 0.000111 0.375028
vt 0.000111 0.000111
vt 0.749944 0.000111
vt 0.749944 0.375028
vt 0.500000 0.375028
vt 0.500000 0.000111
vn 0.0000 1.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 0.0000 -1.0000
usemtl mat_base
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 5/5/2 6/6/2 8/7/2 7/8/2
f 4/9/3 6/10/3 5/11/3 3/12/3
f 1/13/4 7/14/4 8/15/4 2/16/4

View file

@ -0,0 +1,12 @@
# Blender MTL File: 'kit_test_base.blend'
# Material Count: 1
newmtl mat_base
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View file

@ -0,0 +1,32 @@
# Blender v2.79 (sub 0) OBJ File: 'kit_test_base.blend'
# www.blender.org
mtllib kit_test_3way.mtl
o Plane
v -1.000000 0.000000 1.000000
v 1.000000 0.000000 1.000000
v -1.000000 0.000000 -1.000000
v 1.000000 0.000000 -1.000000
v -1.000000 3.000000 -1.000000
v 1.000000 3.000000 -1.000000
v -1.000000 3.000000 1.000000
v 1.000000 3.000000 1.000000
vt 0.250278 0.375250
vt 0.500222 0.375250
vt 0.500222 0.625195
vt 0.250278 0.625195
vt 0.250056 0.625195
vt 0.000111 0.625195
vt 0.000111 0.375250
vt 0.250056 0.375250
vt 0.250056 0.000111
vt 0.250056 0.375028
vt 0.000111 0.375028
vt 0.000111 0.000111
vn 0.0000 1.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 0.0000 1.0000
usemtl mat_base
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 5/5/2 6/6/2 8/7/2 7/8/2
f 4/9/3 6/10/3 5/11/3 3/12/3

View file

@ -0,0 +1,12 @@
# Blender MTL File: 'kit_test_base.blend'
# Material Count: 1
newmtl mat_base
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View file

@ -0,0 +1,26 @@
# Blender v2.79 (sub 0) OBJ File: 'kit_test_base.blend'
# www.blender.org
mtllib kit_test_4way.mtl
o Plane
v -1.000000 0.000000 1.000000
v 1.000000 0.000000 1.000000
v -1.000000 0.000000 -1.000000
v 1.000000 0.000000 -1.000000
v -1.000000 3.000000 -1.000000
v 1.000000 3.000000 -1.000000
v -1.000000 3.000000 1.000000
v 1.000000 3.000000 1.000000
vt 0.250278 0.375250
vt 0.500222 0.375250
vt 0.500222 0.625195
vt 0.250278 0.625195
vt 0.250056 0.625195
vt 0.000111 0.625195
vt 0.000111 0.375250
vt 0.250056 0.375250
vn 0.0000 1.0000 0.0000
vn 0.0000 -1.0000 0.0000
usemtl mat_base
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 5/5/2 6/6/2 8/7/2 7/8/2

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1,12 @@
# Blender MTL File: 'kit_test_base.blend'
# Material Count: 1
newmtl mat_base
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View file

@ -0,0 +1,36 @@
# Blender v2.79 (sub 0) OBJ File: 'kit_test_base.blend'
# www.blender.org
mtllib kit_test_corner.mtl
o Plane
v -1.000000 0.000000 1.000000
v 1.000000 0.000000 1.000000
v -1.000000 0.000000 -1.000000
v 1.000000 0.000000 -1.000000
v -1.000000 3.000000 -1.000000
v 1.000000 3.000000 -1.000000
v -1.000000 3.000000 1.000000
v 1.000000 3.000000 1.000000
vt 0.250278 0.375250
vt 0.500222 0.375250
vt 0.500222 0.625195
vt 0.250278 0.625195
vt 0.250056 0.625195
vt 0.000111 0.625195
vt 0.000111 0.375250
vt 0.250056 0.375250
vt 0.250056 0.000111
vt 0.250056 0.375028
vt 0.000111 0.375028
vt 0.000111 0.000111
vt 0.500000 0.000111
vt 0.500000 0.375028
vn 0.0000 1.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
usemtl mat_base
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 5/5/2 6/6/2 8/7/2 7/8/2
f 4/9/3 6/10/3 5/11/3 3/12/3
f 2/13/4 8/14/4 6/10/4 4/9/4

View file

@ -0,0 +1,57 @@
[gd_resource type="SpatialMaterial" load_steps=2 format=2]
[ext_resource path="res://assets/kits/kit_test/kit_test_base_tex.png" type="Texture" id=1]
[resource]
render_priority = 0
flags_transparent = false
flags_unshaded = false
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_specular_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 1, 1, 1, 1 )
albedo_texture = ExtResource( 1 )
metallic = 0.5
metallic_specular = 0.5
metallic_texture_channel = 0
roughness = 1.0
roughness_texture_channel = 0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
depth_enabled = false
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 1, 1, 1 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = false
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Metallic", "Roughness" ]

BIN
assets/test/sky_box.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

View file

@ -1,11 +1,10 @@
[gd_scene load_steps=3 format=2] [gd_scene load_steps=3 format=2]
[ext_resource path="res://assets/GUI/loading_screens/new_loading_bg_0.tga" type="Texture" id=1] [ext_resource path="res://background_loader_scene/new_loading_bg_0.tga" type="Texture" id=1]
[ext_resource path="res://assets/GUI/loading_screens/new_loading_bg_1.tga" type="Texture" id=2] [ext_resource path="res://background_loader_scene/new_loading_bg_1.tga" type="Texture" id=2]
[node name="background_loader" type="Panel"] [node name="background_loader" type="Panel"]
visible = false
self_modulate = Color( 0, 0, 0, 1 ) self_modulate = Color( 0, 0, 0, 1 )
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
@ -15,11 +14,11 @@ rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 2 mouse_filter = 2
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 3
size_flags_vertical = 1 size_flags_vertical = 3
_sections_unfolded = [ "Mouse", "Visibility", "custom_constants" ] _sections_unfolded = [ "Mouse", "Size Flags", "Textures", "Visibility", "custom_constants" ]
[node name="center_container" type="MarginContainer" parent="." index="0"] [node name="center_container" type="CenterContainer" parent="." index="0"]
anchor_left = 0.0 anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
@ -27,11 +26,12 @@ anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 2 mouse_filter = 0
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 3
size_flags_vertical = 1 size_flags_vertical = 3
_sections_unfolded = [ "Mouse" ] use_top_left = false
_sections_unfolded = [ "Size Flags" ]
[node name="texture_progress" type="TextureProgress" parent="center_container" index="0"] [node name="texture_progress" type="TextureProgress" parent="center_container" index="0"]
@ -39,15 +39,16 @@ anchor_left = 0.0
anchor_top = 0.0 anchor_top = 0.0
anchor_right = 0.0 anchor_right = 0.0
anchor_bottom = 0.0 anchor_bottom = 0.0
margin_left = 8.0 margin_left = 509.0
margin_right = 1032.0 margin_top = 297.0
margin_bottom = 600.0 margin_right = 515.0
margin_bottom = 303.0
rect_pivot_offset = Vector2( 0, 0 ) rect_pivot_offset = Vector2( 0, 0 )
rect_clip_content = false rect_clip_content = false
mouse_filter = 2 mouse_filter = 1
mouse_default_cursor_shape = 0 mouse_default_cursor_shape = 0
size_flags_horizontal = 1 size_flags_horizontal = 3
size_flags_vertical = 1 size_flags_vertical = 3
min_value = 0.0 min_value = 0.0
max_value = 100.0 max_value = 100.0
step = 1.0 step = 1.0
@ -60,7 +61,11 @@ texture_over = null
texture_progress = ExtResource( 2 ) texture_progress = ExtResource( 2 )
radial_fill_degrees = 360.0 radial_fill_degrees = 360.0
radial_center_offset = Vector2( 0, 0 ) radial_center_offset = Vector2( 0, 0 )
nine_patch_stretch = false nine_patch_stretch = true
_sections_unfolded = [ "Mouse", "Textures" ] stretch_margin_left = 3
stretch_margin_top = 3
stretch_margin_right = 3
stretch_margin_bottom = 3
_sections_unfolded = [ "Rect", "Size Flags", "Textures" ]

View file

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

View file

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

View file

@ -0,0 +1,276 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://scenes/Game/markers/arrow_z.tscn" type="PackedScene" id=1]
[ext_resource path="res://assets/Game/basekits/Kit_dispensaire.meshlib" type="MeshLibrary" id=2]
[ext_resource path="res://game_scene/Game/portail/portail.tscn" type="PackedScene" id=3]
[sub_resource type="Environment" id=1]
background_mode = 0
background_sky_custom_fov = 0.0
background_color = Color( 0, 0, 0, 1 )
background_energy = 1.0
background_canvas_max_layer = 0
ambient_light_color = Color( 0, 0, 0, 1 )
ambient_light_energy = 1.0
ambient_light_sky_contribution = 1.0
fog_enabled = false
fog_color = Color( 0.5, 0.6, 0.7, 1 )
fog_sun_color = Color( 1, 0.9, 0.7, 1 )
fog_sun_amount = 0.0
fog_depth_enabled = true
fog_depth_begin = 10.0
fog_depth_curve = 1.0
fog_transmit_enabled = false
fog_transmit_curve = 1.0
fog_height_enabled = false
fog_height_min = 0.0
fog_height_max = 100.0
fog_height_curve = 1.0
tonemap_mode = 0
tonemap_exposure = 1.0
tonemap_white = 1.0
auto_exposure_enabled = false
auto_exposure_scale = 0.4
auto_exposure_min_luma = 0.05
auto_exposure_max_luma = 8.0
auto_exposure_speed = 0.5
ss_reflections_enabled = false
ss_reflections_max_steps = 64
ss_reflections_fade_in = 0.15
ss_reflections_fade_out = 2.0
ss_reflections_depth_tolerance = 0.2
ss_reflections_roughness = true
ssao_enabled = false
ssao_radius = 1.0
ssao_intensity = 1.0
ssao_radius2 = 0.0
ssao_intensity2 = 1.0
ssao_bias = 0.01
ssao_light_affect = 0.0
ssao_color = Color( 0, 0, 0, 1 )
ssao_quality = 0
ssao_blur = 3
ssao_edge_sharpness = 4.0
dof_blur_far_enabled = false
dof_blur_far_distance = 10.0
dof_blur_far_transition = 5.0
dof_blur_far_amount = 0.1
dof_blur_far_quality = 1
dof_blur_near_enabled = false
dof_blur_near_distance = 2.0
dof_blur_near_transition = 1.0
dof_blur_near_amount = 0.1
dof_blur_near_quality = 1
glow_enabled = false
glow_levels/1 = false
glow_levels/2 = false
glow_levels/3 = true
glow_levels/4 = false
glow_levels/5 = true
glow_levels/6 = false
glow_levels/7 = false
glow_intensity = 0.8
glow_strength = 1.0
glow_bloom = 0.0
glow_blend_mode = 2
glow_hdr_threshold = 1.0
glow_hdr_scale = 2.0
glow_bicubic_upscale = false
adjustment_enabled = false
adjustment_brightness = 1.0
adjustment_contrast = 1.0
adjustment_saturation = 1.0
[node name="dispensaire_gridmap" type="Node"]
[node name="start_position" parent="." index="0" instance=ExtResource( 1 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -1.75272, 2, -1.32621 )
[node name="world" type="Spatial" parent="." index="1"]
[node name="grid_map" type="GridMap" parent="world" index="0"]
theme = ExtResource( 2 )
cell_size = Vector3( 3.5, 3.5, 3.5 )
cell_octant_size = 8
cell_center_x = true
cell_center_y = true
cell_center_z = true
cell_scale = 1.0
collision_layer = 1
collision_mask = 1
data = {
"cells": PoolIntArray( 3, 0, 655361, 5, 0, 655361, 65535, 0, 1048579, 2, 65534, 1, 4, 65534, 1073741825, 0, 65535, 1075183621, 1, 65535, 1441797, 2, 65535, 1441798, 3, 65535, 1074790406, 4, 65535, 1441798, 5, 65535, 1048582, 6, 65535, 1441793, 65535, 65535, 1048578 )
}
_sections_unfolded = [ "Cell" ]
__meta__ = {
"_editor_clip_": 0
}
[node name="portail" parent="world" index="1" instance=ExtResource( 3 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.65801, 0, 3.40425 )
scene_path = NodePath("res://game_scene/Game/Game.tscn")
start_position_path = NodePath("start_position_gridmap")
[node name="world_environment" type="WorldEnvironment" parent="world" index="2"]
environment = SubResource( 1 )
[node name="omni_light" type="OmniLight" parent="." index="2"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.10265, 3.33108, 2.24407 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 5.0
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="omni_light2" type="OmniLight" parent="." index="3"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.92399, 3.33108, -1.77007 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 5.0
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="omni_light3" type="OmniLight" parent="." index="4"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.61797, 3.33108, -1.39791 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 5.0
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="omni_light4" type="OmniLight" parent="." index="5"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8.6697, 3.33108, -1.75052 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 5.0
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="omni_light5" type="OmniLight" parent="." index="6"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 12.2862, 3.33108, -1.55863 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 5.0
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="omni_light6" type="OmniLight" parent="." index="7"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 15.9343, 3.33108, -1.71557 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 5.0
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="omni_light7" type="OmniLight" parent="." index="8"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19.2111, 3.33108, -1.80768 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 5.0
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1

View file

@ -0,0 +1,235 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_scenes/DisCor1wDoLRAA01.tscn" type="PackedScene" id=1]
[ext_resource path="res://assets/Game/basekits/dispensaire_scenes/DisCor2wDoLAA01.tscn" type="PackedScene" id=2]
[ext_resource path="res://assets/Game/basekits/dispensaire_scenes/DisCor1wAA01.tscn" type="PackedScene" id=3]
[ext_resource path="res://assets/Game/basekits/dispensaire_scenes/DisCor2wDoLRAA01.tscn" type="PackedScene" id=4]
[ext_resource path="res://game_scene/Game/portail/portail.tscn" type="PackedScene" id=5]
[ext_resource path="res://scenes/Game/markers/arrow_z.tscn" type="PackedScene" id=6]
[sub_resource type="Environment" id=1]
background_mode = 0
background_sky_custom_fov = 0.0
background_color = Color( 0, 0, 0, 1 )
background_energy = 1.0
background_canvas_max_layer = 0
ambient_light_color = Color( 0, 0, 0, 1 )
ambient_light_energy = 1.0
ambient_light_sky_contribution = 1.0
fog_enabled = false
fog_color = Color( 0.5, 0.6, 0.7, 1 )
fog_sun_color = Color( 1, 0.9, 0.7, 1 )
fog_sun_amount = 0.0
fog_depth_enabled = true
fog_depth_begin = 10.0
fog_depth_curve = 1.0
fog_transmit_enabled = false
fog_transmit_curve = 1.0
fog_height_enabled = false
fog_height_min = 0.0
fog_height_max = 100.0
fog_height_curve = 1.0
tonemap_mode = 0
tonemap_exposure = 1.0
tonemap_white = 1.0
auto_exposure_enabled = false
auto_exposure_scale = 0.4
auto_exposure_min_luma = 0.05
auto_exposure_max_luma = 8.0
auto_exposure_speed = 0.5
ss_reflections_enabled = false
ss_reflections_max_steps = 64
ss_reflections_fade_in = 0.15
ss_reflections_fade_out = 2.0
ss_reflections_depth_tolerance = 0.2
ss_reflections_roughness = true
ssao_enabled = false
ssao_radius = 1.0
ssao_intensity = 1.0
ssao_radius2 = 0.0
ssao_intensity2 = 1.0
ssao_bias = 0.01
ssao_light_affect = 0.0
ssao_color = Color( 0, 0, 0, 1 )
ssao_quality = 0
ssao_blur = 3
ssao_edge_sharpness = 4.0
dof_blur_far_enabled = false
dof_blur_far_distance = 10.0
dof_blur_far_transition = 5.0
dof_blur_far_amount = 0.1
dof_blur_far_quality = 1
dof_blur_near_enabled = false
dof_blur_near_distance = 2.0
dof_blur_near_transition = 1.0
dof_blur_near_amount = 0.1
dof_blur_near_quality = 1
glow_enabled = false
glow_levels/1 = false
glow_levels/2 = false
glow_levels/3 = true
glow_levels/4 = false
glow_levels/5 = true
glow_levels/6 = false
glow_levels/7 = false
glow_intensity = 0.8
glow_strength = 1.0
glow_bloom = 0.0
glow_blend_mode = 2
glow_hdr_threshold = 1.0
glow_hdr_scale = 2.0
glow_bicubic_upscale = false
adjustment_enabled = false
adjustment_brightness = 1.0
adjustment_contrast = 1.0
adjustment_saturation = 1.0
_sections_unfolded = [ "Ambient Light", "Background" ]
[node name="dispensaire_scenes" type="Node"]
[node name="world" type="Spatial" parent="." index="0"]
editor/display_folded = true
[node name="DisCor1wDoLRAA01" parent="world" index="0" instance=ExtResource( 1 )]
editor/display_folded = true
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, -1, 0, 0 )
_sections_unfolded = [ "material" ]
[node name="DisCor2wDoLAA01" parent="world/DisCor1wDoLRAA01" index="1" instance=ExtResource( 2 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.49329, -2.38419e-007, 3.49498 )
[node name="DisCor1wAA01" parent="world/DisCor1wDoLRAA01/DisCor2wDoLAA01" index="1" instance=ExtResource( 3 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -3.50318, -9.72748e-005, -0.00448775 )
[node name="DisCor2wDoLAA02" parent="world/DisCor1wDoLRAA01" index="2" instance=ExtResource( 2 )]
transform = Transform( -1, 0, -1.50996e-007, 0, 1, 0, 1.50996e-007, 0, -1, 3.49329, -2.38419e-007, 6.98099 )
[node name="DisCor1wAA01" parent="world/DisCor1wDoLRAA01/DisCor2wDoLAA02" index="1" instance=ExtResource( 3 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -3.50318, -9.72748e-005, -0.00448728 )
[node name="DisCor2wDoLAA03" parent="world/DisCor1wDoLRAA01" index="3" instance=ExtResource( 2 )]
transform = Transform( 1, 0, 2.38419e-007, 0, 1, 0, -2.38419e-007, 0, 1, 3.49329, -2.38419e-007, 10.4804 )
[node name="DisCor1wAA01" parent="world/DisCor1wDoLRAA01/DisCor2wDoLAA03" index="1" instance=ExtResource( 3 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -3.50318, -9.72748e-005, -0.00448728 )
[node name="DisCor1wAA01" parent="world/DisCor1wDoLRAA01/DisCor2wDoLAA03/DisCor1wAA01" index="1" instance=ExtResource( 3 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -3.48495, 9.75132e-005, 3.50005 )
[node name="DisCor2wDoLRAA01" parent="world" index="1" instance=ExtResource( 4 )]
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, -4.48443, 0, 0.0136418 )
[node name="omni_light" type="OmniLight" parent="world" index="2"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.902615, 3.38903, -2.44601 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 4.71185
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="omni_light2" type="OmniLight" parent="world" index="3"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.57933, 3.38903, -2.44601 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 4.44127
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="omni_light3" type="OmniLight" parent="world" index="4"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.57933, 3.38903, -7.06504 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 4.89511
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="omni_light4" type="OmniLight" parent="world" index="5"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.57933, 3.38903, -10.7416 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 1.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 6.84121
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
[node name="portail" parent="." index="1" instance=ExtResource( 5 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 0.679648, -1, 2.97083e-008 )
scene_path = NodePath("res://game_scene/Game/Game.tscn")
start_position_path = NodePath("start_position_scenes")
[node name="world_environment" type="WorldEnvironment" parent="." index="2"]
environment = SubResource( 1 )
[node name="start_position" parent="." index="3" instance=ExtResource( 6 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -1.18818, 0.000976563, -0.765998 )

8
game_scene/Game/Box.gd Normal file
View file

@ -0,0 +1,8 @@
extends RigidBody
func _on_Box_sleeping_state_changed():
# if self.sleeping:
# $MeshInstance.get_surface_material(0).albedo_color = Color( 0.0, 1.0, 0.0, 1 )
# else:
# $MeshInstance.get_surface_material(0).albedo_color = Color( 0.0, 0.0, 1.0, 1 )
pass

View file

@ -0,0 +1,229 @@
extends KinematicBody
########
#### Caracteristic
var pseudo = ""
var color = Color( 1.0, 0.25, 0.25, 1.0 )
var gender = 1
var size = 1.0
var slot = 0
var ears_size = 0.0
var eyes_color = Color( 0.0, 1.0, 0.0, 1.0 )
var dir = Vector3()
const GRAVITY = -24.8
var vel = Vector3()
const MAX_SPEED = 20
const ACCEL= 4.5
const FLY_SPEED = 7
const DEACCEL= 16
const MAX_SLOPE_ANGLE = 40
var MOUSE_SENSITIVITY = 0.05
onready var camera_rotation = $camera_rotation_helper
onready var camera = $camera_rotation_helper/camera
onready var player_infos_billboard = $infos_spatial/character_infos_billboard
onready var player_mesh = $suzanne/mesh
onready var flashlight = $suzanne/flashlight
### Caractéristiques du personnage.
var douleur = 0
var trauma = 0
var oubli = 0
func set_info_billboard_position():
var above_head = $infos_spatial
player_infos_billboard.get_node("label").text = self.pseudo
var offset = Vector2(-(player_infos_billboard.get_size().x/2), 0)
var unprojected_translation = camera.unproject_position(above_head.global_transform.xform(Vector3(0,0,0)))
player_infos_billboard.rect_position = (unprojected_translation + offset)
func _ready():
self.show_third_person_camera()
self.set_info_billboard_position()
self.update()
#func _enter_tree():
# print("qsdfghjklkjhgfdsqsdfghj")
# if self.get_parent().has_node( "start_position" ):
# self.translation = self.get_parent().get_node( "start_position" ).translation
func set_default_values():
self.pseudo = ""
self.color = Color( 1.0, 0.25, 0.25, 1.0 )
self.gender = 1
self.size = 1.0
self.slot = 0
self.ears_size = 0.0
self.eyes_color = Color( 0.0, 1.0, 0.0, 1.0 )
func update( start_position = null ):
if start_position:
# self.translation = start_position.to_global( start_position.translation )
# self.translation = Vector3( 0, 0, 0 )
# self.translate( start_position.translation )
self.translation = start_position.translation
self.rotation = start_position.rotation
self.scale = Vector3( self.size, self.size, self.size )
# $infos_spatial.scale = Vector3( self.size, self.size, self.size )
# self.player_mesh.scale = Vector3( self.size, self.size, self.size )
# ears_size
if self.ears_size > 0:
self.player_mesh.set( "blend_shapes/big_ears", self.ears_size )
self.player_mesh.set( "blend_shapes/small_ears", 0 )
elif self.ears_size < 0:
self.player_mesh.set( "blend_shapes/big_ears", 0 )
self.player_mesh.set( "blend_shapes/small_ears", -self.ears_size )
else:
self.player_mesh.set( "blend_shapes/big_ears", 0 )
self.player_mesh.set( "blend_shapes/small_ears", 0 )
# skin color
self.player_mesh.mesh.get( "surface_2/material" ).set_shader_param( "albedo", self.color )
# eyes color (pupil)
self.player_mesh.mesh.get( "surface_4/material" ).set_shader_param( "albedo", self.eyes_color )
func _process(delta):
process_input(delta)
process_movement(delta)
set_info_billboard_position()
func process_input(delta):
if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
# ----------------------------------
# Walking
dir = Vector3()
var cam_xform = camera.get_global_transform()
var input_movement_vector = Vector3()
var cam_scroll = 0.0
if Input.is_action_pressed("move_up"):
input_movement_vector.z += 1
if Input.is_action_pressed("move_down"):
input_movement_vector.z -= 1
if Input.is_action_pressed("move_left"):
input_movement_vector.x -= 1
if Input.is_action_pressed("move_right"):
input_movement_vector.x += 1
input_movement_vector = input_movement_vector.normalized()
dir += -cam_xform.basis.z.normalized() * input_movement_vector.z
dir += cam_xform.basis.x.normalized() * input_movement_vector.x
if Input.is_action_pressed("fly_up"):
vel.y = FLY_SPEED
elif Input.is_action_pressed("fly_down"):
vel.y = -FLY_SPEED
else:
vel.y = 0
if Input.is_action_pressed( "ui_face_cam" ):
$camera_rotation_helper/face_camera.make_current()
elif Input.is_action_just_released( "ui_face_cam" ):
$camera_rotation_helper/camera.make_current()
func process_movement(delta):
if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
dir.y = 0
dir = dir.normalized()
# vel.y += delta*GRAVITY
var hvel = vel
hvel.y = 0
var target = dir
target *= MAX_SPEED
var accel
if dir.dot(hvel) > 0:
accel = ACCEL
else:
accel = DEACCEL
hvel = hvel.linear_interpolate(target, accel*delta)
vel.x = hvel.x
vel.z = hvel.z
var collision_info = move_and_collide(vel * delta)
if collision_info:
vel = vel.bounce(collision_info.normal)
var obj = collision_info.collider
if obj.is_class( "RigidBody" ):
obj.sleeping = false
obj.apply_impulse( collision_info.position, -collision_info.normal*delta )
if not obj.get_node( "MeshInstance" ).get_surface_material(0).get("albedo_color") == null:
# obj.get_node( "MeshInstance" ).get_surface_material(0).albedo_color = Color( 1, 0, 1, 1 )
self.douleur += 0.25
if self.douleur >= 100:
self.trauma += 0.25
if self.trauma >= 100:
self.oubli += 0.25
func _input(event):
if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
if event is InputEventMouseMotion :
camera_rotation.rotate_x(deg2rad(event.relative.y * MOUSE_SENSITIVITY * -1))
self.rotate_y(deg2rad(event.relative.x * MOUSE_SENSITIVITY * -1))
var camera_rot = camera_rotation.rotation_degrees
camera_rot.x = clamp(camera_rot.x, -30, 30)
camera_rotation.rotation_degrees = camera_rot
if event is InputEventMouseButton:
# to prevent the cam sliding effect when clamp limit reached.
var old_x_translation = camera.translation.x
var old_y_translation = camera.translation.y
var cam_scroll = Vector3( 0.0, 0.0, 0.0 )
if event.button_index == BUTTON_WHEEL_UP:
cam_scroll.z = -1.0 * MOUSE_SENSITIVITY
if event.button_index == BUTTON_WHEEL_DOWN:
cam_scroll.z = 1.0 * MOUSE_SENSITIVITY
camera.translate( cam_scroll )
camera.translation.x = old_x_translation
camera.translation.y = old_y_translation
camera.translation.z = clamp(camera.translation.z, 0, 5)
# TODO trouver pourquoi cela ne se fait plus:
if Input.is_action_just_pressed("game_flashlight"):
# flashlight.visible = not flashlight.visible
if flashlight.is_visible_in_tree():
flashlight.hide()
else:
flashlight.show()
if Input.is_action_pressed( "hide_char" ):
if self.visible:
self.hide()
else:
self.show()
func hide_infos():
$infos_spatial/character_infos_billboard.hide()
func show_infos():
$infos_spatial/character_infos_billboard.show()
########
#### Cameras
func show_third_person_camera():
$camera_rotation_helper/camera.make_current()

View file

@ -0,0 +1,113 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://game_scene/Game/Character/Character.gd" type="Script" id=1]
[ext_resource path="res://game_scene/Game/Character/infos_spatial.gd" type="Script" id=2]
[ext_resource path="res://game_scene/character_infos_billboard.tscn" type="PackedScene" id=3]
[ext_resource path="res://game_scene/suzanne/suzanne.tscn" type="PackedScene" id=4]
[sub_resource type="CapsuleShape" id=1]
radius = 1.0
height = 1.0
[node name="character" type="KinematicBody" index="0"]
transform = Transform( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0 )
input_ray_pickable = false
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
axis_lock_linear_x = false
axis_lock_linear_y = false
axis_lock_linear_z = false
axis_lock_angular_x = false
axis_lock_angular_y = false
axis_lock_angular_z = false
collision/safe_margin = 0.001
script = ExtResource( 1 )
_sections_unfolded = [ "Axis Lock", "Transform", "collision" ]
[node name="infos_spatial" type="Spatial" parent="." index="0"]
transform = Transform( 1, 0, 0, 0, 1, 0, -9.56715e-015, 0, 1, -4.65661e-010, 2.47932, -0.0688725 )
script = ExtResource( 2 )
[node name="character_infos_billboard" parent="infos_spatial" index="0" instance=ExtResource( 3 )]
visible = false
mouse_filter = 2
mouse_default_cursor_shape = 2
_sections_unfolded = [ "Mouse", "Rect", "Size Flags", "Visibility" ]
[node name="camera_rotation_helper" type="Spatial" parent="." index="1"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0730682, 0 )
[node name="camera" type="Camera" parent="camera_rotation_helper" index="0"]
transform = Transform( 1, 0, 0, 0, 0.981951, 0, 0, 0, 1.05023, 0, 2.5, 3 )
keep_aspect = 1
cull_mask = 1048575
environment = null
h_offset = 0.0
v_offset = 0.0
doppler_tracking = 0
projection = 0
current = false
fov = 75.0
size = 1.0
near = 0.05
far = 10000.0
_sections_unfolded = [ "Transform" ]
[node name="face_camera" type="Camera" parent="camera_rotation_helper" index="1"]
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 0, 1.91278, -2.96733 )
keep_aspect = 1
cull_mask = 1048575
environment = null
h_offset = 0.0
v_offset = 0.0
doppler_tracking = 0
projection = 0
current = false
fov = 70.0
size = 2.0
near = 0.05
far = 10000.0
_sections_unfolded = [ "Transform" ]
[node name="suzanne" parent="." index="2" instance=ExtResource( 4 )]
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 0, 1.2572, -0.180126 )
[node name="flashlight" type="SpotLight" parent="suzanne" index="1"]
transform = Transform( -0.718303, -4.51344e-010, 1.04295e-007, 0, 1.19299, 0.0148616, -6.27955e-008, 0.00516275, -1.19299, -0.020946, 0.599374, 0.0648584 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 2.0
light_indirect_energy = 2.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = true
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = true
editor_only = false
spot_range = 9.90764
spot_attenuation = 1.0
spot_angle = 22.2473
spot_angle_attenuation = 1.0
_sections_unfolded = [ "Light", "Shadow" ]
[node name="collision_shape" type="CollisionShape" parent="." index="3"]
transform = Transform( 0.430205, 0, 0, 0, 0.906621, 0, 0, 0, 0.294585, 0.00823072, 0.942657, -0.356263 )
shape = SubResource( 1 )
disabled = false

View file

@ -0,0 +1,7 @@
extends Spatial
func show():
$character_infos_billboard.show()
func hide():
$character_infos_billboard.hide()

View file

@ -0,0 +1,122 @@
[gd_scene load_steps=5 format=2]
[sub_resource type="SphereMesh" id=1]
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
radius = 1.0
height = 2.0
radial_segments = 64
rings = 32
is_hemisphere = false
[sub_resource type="Shader" id=2]
code = "shader_type spatial;
render_mode blend_mix,depth_draw_opaque,cull_back,diffuse_burley,specular_schlick_ggx;
uniform vec4 albedo : hint_color;
uniform sampler2D texture_albedo : hint_albedo;
uniform float specular;
uniform float metallic;
uniform float roughness : hint_range(0,1);
uniform float point_size : hint_range(0,128);
uniform sampler2D texture_metallic : hint_white;
uniform vec4 metallic_texture_channel;
uniform sampler2D texture_roughness : hint_white;
uniform vec4 roughness_texture_channel;
uniform vec3 uv1_scale;
uniform vec3 uv1_offset;
uniform vec3 uv2_scale;
uniform vec3 uv2_offset;
void vertex() {
UV=UV*uv1_scale.xy+uv1_offset.xy;
}
void fragment() {
vec2 base_uv = UV;
vec4 albedo_tex = texture(texture_albedo,base_uv);
ALBEDO = albedo.rgb * albedo_tex.rgb;
float metallic_tex = dot(texture(texture_metallic,base_uv),metallic_texture_channel);
METALLIC = metallic_tex * metallic;
float roughness_tex = dot(texture(texture_roughness,base_uv),roughness_texture_channel);
ROUGHNESS = roughness_tex * roughness;
SPECULAR = specular;
}
"
_sections_unfolded = [ "Resource" ]
[sub_resource type="ShaderMaterial" id=3]
render_priority = 0
shader = SubResource( 2 )
shader_param/albedo = Color( 0.513085, 0.250778, 0.675781, 1 )
shader_param/specular = 1.0
shader_param/metallic = 1.0
shader_param/roughness = 0.5
shader_param/point_size = 0.0
shader_param/metallic_texture_channel = null
shader_param/roughness_texture_channel = null
shader_param/uv1_scale = null
shader_param/uv1_offset = null
shader_param/uv2_scale = null
shader_param/uv2_offset = null
_sections_unfolded = [ "shader_param" ]
[sub_resource type="ConvexPolygonShape" id=4]
points = PoolVector3Array( -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1 )
[node name="CubeShaderTest" type="RigidBody" index="0"]
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
mode = 0
mass = 1.0
friction = 1.0
bounce = 0.0
gravity_scale = 1.0
custom_integrator = false
continuous_cd = false
contacts_reported = 0
contact_monitor = false
sleeping = false
can_sleep = true
axis_lock_linear_x = false
axis_lock_linear_y = false
axis_lock_linear_z = false
axis_lock_angular_x = false
axis_lock_angular_y = false
axis_lock_angular_z = false
linear_velocity = Vector3( 0, 0, 0 )
linear_damp = -1.0
angular_velocity = Vector3( 0, 0, 0 )
angular_damp = -1.0
[node name="MeshInstance" type="MeshInstance" parent="." index="0"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = true
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 1 )
skeleton = NodePath("..")
material/0 = SubResource( 3 )
_sections_unfolded = [ "Geometry", "material" ]
[node name="CollisionShape" type="CollisionShape" parent="." index="1"]
shape = SubResource( 4 )
disabled = false

143
game_scene/Game/Game.gd Normal file
View file

@ -0,0 +1,143 @@
extends Spatial
var dir = Vector3()
const GRAVITY = -24.8
var vel = Vector3()
const MAX_SPEED = 20
const ACCEL= 4.5
const FLY_SPEED = 7
const DEACCEL= 16
const MAX_SLOPE_ANGLE = 40
var camera_rotation
var camera
var flashlight
var MOUSE_SENSITIVITY = 0.05
func _ready():
camera_rotation = $Character/Camera_rotation_helper
camera = $Character/Camera_rotation_helper/Camera
camera.make_current()
flashlight = $Character/MeshInstance/Flashlight
func _process(delta):
process_input(delta)
process_movement(delta)
func process_input(delta):
if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
# ----------------------------------
# Walking
dir = Vector3()
var cam_xform = camera.get_global_transform()
var input_movement_vector = Vector3()
var cam_scroll = 0.0
if Input.is_action_pressed("move_up"):
input_movement_vector.z += 1
if Input.is_action_pressed("move_down"):
input_movement_vector.z -= 1
if Input.is_action_pressed("move_left"):
input_movement_vector.x -= 1
if Input.is_action_pressed("move_right"):
input_movement_vector.x += 1
input_movement_vector = input_movement_vector.normalized()
dir += -cam_xform.basis.z.normalized() * input_movement_vector.z
dir += cam_xform.basis.x.normalized() * input_movement_vector.x
if Input.is_action_pressed("fly_up"):
vel.y = FLY_SPEED
elif Input.is_action_pressed("fly_down"):
vel.y = -FLY_SPEED
else:
vel.y = 0
func process_movement(delta):
if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
dir.y = 0
dir = dir.normalized()
# vel.y += delta*GRAVITY
var hvel = vel
hvel.y = 0
var target = dir
target *= MAX_SPEED
var accel
if dir.dot(hvel) > 0:
accel = ACCEL
else:
accel = DEACCEL
hvel = hvel.linear_interpolate(target, accel*delta)
vel.x = hvel.x
vel.z = hvel.z
var collision_info = $Character.move_and_collide(vel * delta)
if collision_info:
vel = vel.bounce(collision_info.normal)
var obj = collision_info.collider
if obj.is_class( "RigidBody" ):
obj.sleeping = false
obj.apply_impulse( collision_info.position, -collision_info.normal*delta )
if not obj.get_node( "MeshInstance" ).get_surface_material(0).get("albedo_color") == null:
obj.get_node( "MeshInstance" ).get_surface_material(0).albedo_color = Color( 1, 0, 1, 1 )
$Character.get_node( "../../GUI/HUD/Jauges/douleur/ProgressBar" ).value += 0.25
if $Character.get_node( "../../GUI/HUD/Jauges/douleur/ProgressBar" ).value >= 100:
$Character.get_node( "../../GUI/HUD/Jauges/trauma/ProgressBar" ).value += 0.25
if $Character.get_node( "../../GUI/HUD/Jauges/trauma/ProgressBar" ).value >= 100:
$Character.get_node( "../../GUI/HUD/Jauges/oubli/ProgressBar" ).value += 0.25
func _input(event):
if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
if event is InputEventMouseMotion :
camera_rotation.rotate_x(deg2rad(event.relative.y * MOUSE_SENSITIVITY * -1))
$Character.rotate_y(deg2rad(event.relative.x * MOUSE_SENSITIVITY * -1))
var camera_rot = camera_rotation.rotation_degrees
camera_rot.x = clamp(camera_rot.x, -30, 30)
camera_rotation.rotation_degrees = camera_rot
if event is InputEventMouseButton:
# to prevent the cam sliding effect when clamp limit reached.
var old_x_translation = camera.translation.x
var old_y_translation = camera.translation.y
var cam_scroll = Vector3( 0.0, 0.0, 0.0 )
if event.button_index == BUTTON_WHEEL_UP:
cam_scroll.z = -1.0 * MOUSE_SENSITIVITY
if event.button_index == BUTTON_WHEEL_DOWN:
cam_scroll.z = 1.0 * MOUSE_SENSITIVITY
camera.translate( cam_scroll )
camera.translation.x = old_x_translation
camera.translation.y = old_y_translation
camera.translation.z = clamp(camera.translation.z, 0, 5)
# TODO trouver pourquoi cela ne se fait plus:
if Input.is_action_just_pressed("game_flashlight"):
# flashlight.visible = not flashlight.visible
if flashlight.is_visible_in_tree():
flashlight.hide()
else:
flashlight.show()
if Input.is_action_pressed( "hide_char" ):
$MeshInstance.visible = not $MeshInstance.visible

1376
game_scene/Game/Game.tscn Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,360 @@
[gd_scene load_steps=10 format=2]
[ext_resource path="res://assets/Game/Brick08/Bricks08_col.jpg" type="Texture" id=1]
[ext_resource path="res://assets/Game/Brick08/Bricks08_AO.jpg" type="Texture" id=2]
[ext_resource path="res://assets/Game/Brick08/Bricks08_disp.jpg" type="Texture" id=3]
[ext_resource path="res://assets/Game/Brick08/Bricks08_nrm.jpg" type="Texture" id=4]
[ext_resource path="res://assets/Game/Brick08/Bricks08_rgh.jpg" type="Texture" id=5]
[sub_resource type="PlaneMesh" id=1]
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
size = Vector2( 2, 2 )
subdivide_width = 0
subdivide_depth = 0
[sub_resource type="SpatialMaterial" id=2]
render_priority = 1
flags_transparent = false
flags_unshaded = false
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_specular_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 1, 1, 1, 1 )
albedo_texture = ExtResource( 1 )
metallic = 0.0
metallic_specular = 0.0
metallic_texture_channel = 0
roughness = 1.0
roughness_texture = ExtResource( 5 )
roughness_texture_channel = 3
emission_enabled = false
normal_enabled = true
normal_scale = 1.0
normal_texture = ExtResource( 4 )
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = true
ao_light_affect = 0.0
ao_texture = ExtResource( 2 )
ao_on_uv2 = false
ao_texture_channel = 0
depth_enabled = true
depth_scale = 0.05
depth_deep_parallax = true
depth_min_layers = 8
depth_max_layers = 32
depth_texture = ExtResource( 3 )
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 2, 2, 2 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = false
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Ambient Occlusion", "Anisotropy", "Clearcoat", "Depth", "Detail", "Distance Fade", "Emission", "Flags", "Metallic", "NormalMap", "Parameters", "Proximity Fade", "Refraction", "Roughness", "Subsurf Scatter", "Transmission", "UV1", "UV2", "Vertex Color" ]
[sub_resource type="ConvexPolygonShape" id=3]
points = PoolVector3Array( 1, 0, 1, -1, 0, 1, 1, 0, -1, -1, 0, -1 )
[sub_resource type="SpatialMaterial" id=4]
render_priority = 0
flags_transparent = true
flags_unshaded = false
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_specular_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 1, 1, 1, 0 )
metallic = 0.0
metallic_specular = 0.5
metallic_texture_channel = 0
roughness = 0.0
roughness_texture_channel = 0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
depth_enabled = false
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 1, 1, 1 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = false
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Flags" ]
[node name="Terrain" type="Spatial"]
[node name="Floor" type="StaticBody" parent="." index="0"]
editor/display_folded = true
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
[node name="MeshInstance" type="MeshInstance" parent="Floor" index="0"]
transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 1 )
skeleton = NodePath("..")
material/0 = SubResource( 2 )
_sections_unfolded = [ "Geometry", "Transform", "material" ]
[node name="CollisionShape" type="CollisionShape" parent="Floor" index="1"]
transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
shape = SubResource( 3 )
disabled = false
[node name="Ceilling" type="StaticBody" parent="." index="1"]
editor/display_folded = true
transform = Transform( 1, 0, 0, 0, -0.984809, -0.173641, 0, 0.173641, -0.984809, 0, 20, 0 )
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
_sections_unfolded = [ "Transform" ]
[node name="MeshInstance" type="MeshInstance" parent="Ceilling" index="0"]
transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 1 )
skeleton = NodePath("..")
material/0 = SubResource( 4 )
_sections_unfolded = [ "Transform", "material" ]
[node name="CollisionShape" type="CollisionShape" parent="Ceilling" index="1"]
transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
shape = SubResource( 3 )
disabled = false
[node name="Wall1" type="StaticBody" parent="." index="2"]
editor/display_folded = true
transform = Transform( -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 0, 1, -10, 10, 0 )
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
_sections_unfolded = [ "Transform" ]
[node name="MeshInstance" type="MeshInstance" parent="Wall1" index="0"]
transform = Transform( -4.37114e-007, 0, -10, 0, 10, 0, 10, 0, -4.37114e-007, 0, 0, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 1 )
skeleton = NodePath("..")
material/0 = SubResource( 2 )
_sections_unfolded = [ "Transform", "material" ]
[node name="CollisionShape" type="CollisionShape" parent="Wall1" index="1"]
transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
shape = SubResource( 3 )
disabled = false
_sections_unfolded = [ "Transform" ]
[node name="Wall2" type="StaticBody" parent="." index="3"]
editor/display_folded = true
transform = Transform( -4.37114e-008, -1, 0, 1, -4.37114e-008, 0, 0, 0, 1, 10, 10, 0 )
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
_sections_unfolded = [ "Transform" ]
[node name="MeshInstance" type="MeshInstance" parent="Wall2" index="0"]
transform = Transform( -4.37114e-007, 0, 10, 0, 10, 0, -10, 0, -4.37114e-007, 0, 0, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 1 )
skeleton = NodePath("..")
material/0 = SubResource( 2 )
_sections_unfolded = [ "Transform", "material" ]
[node name="CollisionShape" type="CollisionShape" parent="Wall2" index="1"]
transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
shape = SubResource( 3 )
disabled = false
[node name="Wall3" type="StaticBody" parent="." index="4"]
editor/display_folded = true
transform = Transform( 1.91069e-015, 4.37114e-008, 1, 1, -4.37114e-008, 0, 4.37114e-008, 1, -4.37114e-008, 0, 10, -10 )
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
_sections_unfolded = [ "Transform" ]
[node name="MeshInstance" type="MeshInstance" parent="Wall3" index="0"]
transform = Transform( -4.37114e-007, 0, 10, 0, 10, 0, -10, 0, -4.37114e-007, 0, 0, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 1 )
skeleton = NodePath("..")
material/0 = SubResource( 2 )
_sections_unfolded = [ "Transform", "material" ]
[node name="CollisionShape" type="CollisionShape" parent="Wall3" index="1"]
transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
shape = SubResource( 3 )
disabled = false
[node name="Wall4" type="StaticBody" parent="." index="5"]
editor/display_folded = true
transform = Transform( 1.91069e-015, 4.37114e-008, -1, 1, -4.37114e-008, 0, -4.37114e-008, -1, -4.37114e-008, 0, 10, 10 )
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
_sections_unfolded = [ "Transform" ]
[node name="MeshInstance" type="MeshInstance" parent="Wall4" index="0"]
transform = Transform( -4.37114e-007, 0, 10, 0, 10, 0, -10, 0, -4.37114e-007, 0, 0, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 1 )
skeleton = NodePath("..")
material/0 = SubResource( 2 )
_sections_unfolded = [ "Transform", "material" ]
[node name="CollisionShape" type="CollisionShape" parent="Wall4" index="1"]
transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
shape = SubResource( 3 )
disabled = false

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,27 @@
[gd_scene load_steps=1 format=2]
[sub_resource id=1 type="ArrayMesh"]
surfaces/0 = {
"primitive":4,
"arrays":[
Vector3Array(1.0, 4.0, -1.0, -1.0, 4.0, 1.0, -1.0, 4.0, -1.0, 1.0, 4.0, 1.0),
Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0),
null, ; No Tangents,
null, ; no Vertex Colors,
null, ; No UV1,
null, ; No UV2,
null, ; No Bones,
null, ; No Weights,
IntArray(0, 2, 1, 0, 1, 3)
],
"morph_arrays":[]
}
[node type="Spatial" name="Scene"]
[node name="Plane" type="MeshInstance" parent="."]
mesh = SubResource(1)
visible = true
transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)

Binary file not shown.

View file

@ -0,0 +1,27 @@
[gd_scene load_steps=1 format=2]
[sub_resource id=1 type="ArrayMesh"]
surfaces/0 = {
"primitive":4,
"arrays":[
Vector3Array(1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 0.0, 1.0, 1.0, 0.0, -1.0),
Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
null, ; No Tangents,
null, ; no Vertex Colors,
null, ; No UV1,
null, ; No UV2,
null, ; No Bones,
null, ; No Weights,
IntArray(0, 2, 1, 0, 1, 3)
],
"morph_arrays":[]
}
[node type="Spatial" name="Scene"]
[node name="Plane" type="MeshInstance" parent="."]
mesh = SubResource(1)
visible = true
transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)

Binary file not shown.

View file

@ -0,0 +1,71 @@
[gd_scene load_steps=1 format=2]
[sub_resource id=1 type="ArrayMesh"]
surfaces/0 = {
"primitive":4,
"arrays":[
Vector3Array(1.0, 0.0, -1.0, -1.0, 2.0, -1.0, -1.0, 0.0, -1.0, 1.0, 2.0, -1.0, -1.0, 4.0, -1.0, -1.0, 2.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 4.0, -1.0, -1.0, 2.0, 1.0, 1.0, 4.0, -1.0, -1.0, 4.0, 1.0),
Vector3Array(0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0),
null, ; No Tangents,
null, ; no Vertex Colors,
null, ; No UV1,
null, ; No UV2,
null, ; No Bones,
null, ; No Weights,
IntArray(0, 2, 1, 3, 1, 4, 5, 7, 6, 8, 5, 9, 0, 1, 3, 3, 4, 10, 5, 6, 9, 8, 9, 11)
],
"morph_arrays":[]
}
[sub_resource id=2 type="ArrayMesh"]
surfaces/0 = {
"primitive":4,
"arrays":[
Vector3Array(1.0, 0.0, -1.0, -1.0, 2.0, -1.0, -1.0, 0.0, -1.0, 1.0, 2.0, -1.0, -1.0, 4.0, -1.0, 1.0, 4.0, -1.0),
Vector3Array(0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0),
null, ; No Tangents,
null, ; no Vertex Colors,
null, ; No UV1,
null, ; No UV2,
null, ; No Bones,
null, ; No Weights,
IntArray(0, 2, 1, 3, 1, 4, 0, 1, 3, 3, 4, 5)
],
"morph_arrays":[]
}
[node type="Spatial" name="Scene"]
[node name="Plane001" type="MeshInstance" parent="."]
mesh = SubResource(1)
visible = true
transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0)
[node name="Plane" type="MeshInstance" parent="."]
mesh = SubResource(2)
visible = true
transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)
[node name="Lamp" type="OmniLight" parent="."]
light_specular = 1.0
light_energy = 1.0
light_color = Color(1.0, 1.0, 1.0, 1.0)
shadow_color = Color(0.0, 0.0, 0.0, 1.0)
omni_range = 30.0
transform = Transform(-0.290865, -0.771101, 0.566393, -0.0551891, 0.604525, 0.794672, -0.955171, 0.199883, -0.218391, 4.07625, 5.90386, -1.00545)
shadow_enabled = true
light_negative = false
[node name="Camera" type="Camera" parent="."]
far = 100.0
near = 0.1
size = 7.31429
projection = 0
fov = 49.1343
transform = Transform(0.685921, -0.324014, 0.651558, 0.0, 0.895396, 0.445271, -0.727676, -0.305421, 0.61417, 7.48113, 5.34367, 6.50764)

Binary file not shown.

View file

@ -0,0 +1,11 @@
extends WorldEnvironment
func _process(delta):
$sky_sphere.rotate( Vector3(0, 1, 0), delta*global.time_scale )
$sky_sphere.rotate( Vector3(0, 0, 1), delta*global.time_scale )
$sun.translation = Vector3( 0, 0, 0 )
$sun.rotate( Vector3(0, 1, 0), delta*global.time_scale )
$sun.rotate( Vector3(0, 0, 1), delta*global.time_scale )
$sun.translate( Vector3( 1000, 1000, 1000 ) )

View file

@ -0,0 +1,61 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://assets/Game/materials/ps_fire_01.tres" type="Material" id=1]
[ext_resource path="res://assets/Game/materials/flamme_01.tres" type="QuadMesh" id=2]
[ext_resource path="res://game_scene/Game/smoke.tscn" type="PackedScene" id=3]
[node name="fire_01" type="Particles"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
emitting = true
amount = 50
lifetime = 2.0
one_shot = false
preprocess = 0.5
speed_scale = 4.5
explosiveness = 0.0
randomness = 1.0
fixed_fps = 0
fract_delta = true
visibility_aabb = AABB( -4, -4, -3.96729, 8, 8, 8 )
local_coords = false
draw_order = 0
process_material = ExtResource( 1 )
draw_passes = 1
draw_pass_1 = ExtResource( 2 )
_sections_unfolded = [ "Draw Passes", "Drawing", "Geometry", "Process Material", "Time", "Transform", "Visibility" ]
[node name="OmniLight" type="OmniLight" parent="." index="0"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.305395, 0 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 0.5
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = true
shadow_color = Color( 1, 1, 1, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 5.0
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
_sections_unfolded = [ "Editor", "Light", "Omni", "Shadow" ]
[node name="smoke" parent="." index="1" instance=ExtResource( 3 )]

View file

@ -0,0 +1,72 @@
extends Spatial
# Member variables
var prev_pos = null
var last_click_pos = null
var viewport = null
func _input(event):
# Check if the event is a non-mouse event
var is_mouse_event = false
var mouse_events = [InputEventMouseButton, InputEventMouseMotion, InputEventScreenDrag, InputEventScreenTouch]
for mouse_event in mouse_events:
if (event is mouse_event):
is_mouse_event = true
break
# If it is, then pass the event to the viewport
if (is_mouse_event == false):
viewport.input(event)
# Mouse events for Area
func _on_area_input_event(camera, event, click_pos, click_normal, shape_idx):
print("AREA")
# Use click pos (click in 3d space, convert to area space)
var pos = get_node("Area").get_global_transform().affine_inverse()
# the click pos is not zero, then use it to convert from 3D space to area space
if (click_pos.x != 0 or click_pos.y != 0 or click_pos.z != 0):
pos *= click_pos
last_click_pos = click_pos
else:
# Otherwise, we have a motion event and need to use our last click pos
# and move it according to the relative position of the event.
# NOTE: this is not an exact 1-1 conversion, but it's pretty close
pos *= last_click_pos
if (event is InputEventMouseMotion or event is InputEventScreenDrag):
pos.x += event.relative.x / viewport.size.x
pos.y += event.relative.y / viewport.size.y
last_click_pos = pos
# Convert to 2D
pos = Vector2(pos.x, pos.y)
# Convert to viewport coordinate system
# Convert pos to a range from (0 - 1)
pos.y *= -1
pos += Vector2(1, 1)
pos = pos / 2
# Convert pos to be in range of the viewport
pos.x *= viewport.size.x
pos.y *= viewport.size.y
# Set the position in event
event.position = pos
event.global_position = pos
if (prev_pos == null):
prev_pos = pos
if (event is InputEventMouseMotion):
event.relative = pos - prev_pos
prev_pos = pos
# Send the event to the viewport
viewport.input(event)
func _ready():
viewport = get_node("Viewport")
get_node("Area").connect("input_event", self, "_on_area_input_event")

View file

@ -0,0 +1,159 @@
[gd_scene load_steps=7 format=2]
[ext_resource path="res://game_scene/Game/jukebox/JukeboxPannel.gd" type="Script" id=1]
[ext_resource path="res://gui_scene/GUI/MusicControls/MusicControls.tscn" type="PackedScene" id=2]
[sub_resource type="PlaneMesh" id=1]
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
size = Vector2( 2, 2 )
subdivide_width = 0
subdivide_depth = 0
[sub_resource type="ViewportTexture" id=2]
resource_local_to_scene = true
flags = 0
viewport_path = NodePath("Viewport")
[sub_resource type="SpatialMaterial" id=3]
resource_local_to_scene = true
render_priority = 0
flags_transparent = true
flags_unshaded = true
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = true
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_specular_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 1, 1, 1, 0.784314 )
albedo_texture = SubResource( 2 )
metallic = 0.0
metallic_specular = 0.5
metallic_texture_channel = 0
roughness = 0.0
roughness_texture_channel = 0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
depth_enabled = false
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 1, 1, 1 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = false
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Flags", "Resource" ]
[sub_resource type="ConvexPolygonShape" id=4]
points = PoolVector3Array( 1, 0, 1, -1, 0, 1, 1, 0, -1, -1, 0, -1 )
[node name="JukeboxPannel" type="Spatial" index="0"]
script = ExtResource( 1 )
[node name="Viewport" type="Viewport" parent="." index="0"]
arvr = false
size = Vector2( 256, 256 )
own_world = true
world = null
transparent_bg = true
msaa = 2
hdr = true
disable_3d = false
usage = 2
debug_draw = 0
render_target_v_flip = true
render_target_clear_mode = 0
render_target_update_mode = 2
audio_listener_enable_2d = false
audio_listener_enable_3d = false
physics_object_picking = true
gui_disable_input = false
gui_snap_controls_to_pixels = true
shadow_atlas_size = 0
shadow_atlas_quad_0 = 2
shadow_atlas_quad_1 = 2
shadow_atlas_quad_2 = 3
shadow_atlas_quad_3 = 4
_sections_unfolded = [ "GUI", "Physics", "Render Target", "Rendering" ]
[node name="Music" parent="Viewport" index="0" instance=ExtResource( 2 )]
size_flags_horizontal = 5
size_flags_vertical = 5
[node name="Area" type="Area" parent="." index="1"]
input_ray_pickable = false
input_capture_on_drag = false
space_override = 0
gravity_point = false
gravity_distance_scale = 0.0
gravity_vec = Vector3( 0, -1, 0 )
gravity = 9.8
linear_damp = 0.1
angular_damp = 1.0
priority = 0.0
monitoring = true
monitorable = true
collision_layer = 1
collision_mask = 1
audio_bus_override = false
audio_bus_name = "Master"
reverb_bus_enable = false
reverb_bus_name = "Master"
reverb_bus_amount = 0.0
reverb_bus_uniformity = 0.0
[node name="MeshInstance" type="MeshInstance" parent="Area" index="0"]
transform = Transform( -1, 8.74228e-008, 3.82137e-015, 0, -4.37114e-008, 1, 8.74228e-008, 1, 4.37114e-008, 0, 0, 0 )
layers = 1
material_override = null
cast_shadow = 0
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 1 )
skeleton = NodePath("..")
material/0 = SubResource( 3 )
_sections_unfolded = [ "Geometry", "material" ]
[node name="CollisionShape" type="CollisionShape" parent="Area" index="1"]
transform = Transform( -1, 8.74228e-008, 3.82137e-015, 0, -4.37114e-008, 1, 8.74228e-008, 1, 4.37114e-008, 0, 0, 0 )
shape = SubResource( 4 )
disabled = false

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,80 @@
extends Spatial
# Member variables
var prev_pos = null
var last_click_pos = null
var viewport = null
func _ready():
viewport = get_node("Viewport")
get_node("Area").connect("input_event", self, "_on_area_input_event")
func _input(event):
# Check if the event is a non-mouse event
var is_mouse_event = false
var mouse_events = [InputEventMouseButton, InputEventMouseMotion, InputEventScreenDrag, InputEventScreenTouch]
for mouse_event in mouse_events:
if (event is mouse_event):
is_mouse_event = true
break
# If it is, then pass the event to the viewport
if (is_mouse_event == false):
viewport.input(event)
# Mouse events for Area
func _on_area_input_event(camera, event, click_pos, click_normal, shape_idx):
# Use click pos (click in 3d space, convert to area space)
var pos = get_node("Area").get_global_transform().affine_inverse()
# the click pos is not zero, then use it to convert from 3D space to area space
if (click_pos.x != 0 or click_pos.y != 0 or click_pos.z != 0):
pos *= click_pos
last_click_pos = click_pos
else:
# Otherwise, we have a motion event and need to use our last click pos
# and move it according to the relative position of the event.
# NOTE: this is not an exact 1-1 conversion, but it's pretty close
pos *= last_click_pos
if (event is InputEventMouseMotion or event is InputEventScreenDrag):
pos.x += event.relative.x / viewport.size.x
pos.y += event.relative.y / viewport.size.y
last_click_pos = pos
# Convert to 2D
pos = Vector2(pos.x, pos.y)
# Convert to viewport coordinate system
# Convert pos to a range from (0 - 1)
pos.y *= -1
pos += Vector2(1, 1)
pos = pos / 2
# Convert pos to be in range of the viewport
pos.x *= viewport.size.x
pos.y *= viewport.size.y
# Set the position in event
event.position = pos
event.global_position = pos
if (prev_pos == null):
prev_pos = pos
if (event is InputEventMouseMotion):
event.relative = pos - prev_pos
prev_pos = pos
# Send the event to the viewport
viewport.input(event)
func _on_Area_body_entered(body):
if get_node( "Area" ) and body.name == "Character":
get_node( "Area" ).show()
func _on_Area_body_exited(body):
if get_node( "Area" ) and body.name == "Character":
get_node( "Area" ).hide()

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,139 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://portail.gd" type="Script" id=1]
[sub_resource type="CubeMesh" id=1]
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
size = Vector3( 2, 2, 2 )
subdivide_width = 0
subdivide_height = 0
subdivide_depth = 0
[sub_resource type="SpatialMaterial" id=2]
render_priority = 0
flags_transparent = false
flags_unshaded = false
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_specular_mode = 0
params_blend_mode = 0
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 0.589844, 0.589844, 0.589844, 1 )
metallic = 1.0
metallic_specular = 0.5
metallic_texture_channel = 0
roughness = 0.2
roughness_texture_channel = 0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
depth_enabled = false
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 1, 1, 1 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = false
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Metallic", "Roughness" ]
[sub_resource type="ConvexPolygonShape" id=3]
points = PoolVector3Array( -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, 1, -1, -1 )
[node name="portail" type="Spatial"]
script = ExtResource( 1 )
scene_path = ""
start_position_path = "start_position"
[node name="mesh_instance" type="MeshInstance" parent="." index="0"]
transform = Transform( 1.86317, 0, 0, 0, 2.71355, 0, 0, 0, 0.105108, 0, 2.64718, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = true
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 1 )
skeleton = NodePath("..")
material/0 = SubResource( 2 )
_sections_unfolded = [ "Geometry", "material" ]
[node name="static_body" type="StaticBody" parent="mesh_instance" index="0"]
input_ray_pickable = true
input_capture_on_drag = false
collision_layer = 1
collision_mask = 1
friction = 1.0
bounce = 0.0
constant_linear_velocity = Vector3( 0, 0, 0 )
constant_angular_velocity = Vector3( 0, 0, 0 )
[node name="collision_shape" type="CollisionShape" parent="mesh_instance/static_body" index="0"]
shape = SubResource( 3 )
disabled = false
[node name="area" type="Area" parent="mesh_instance" index="1"]
input_ray_pickable = false
input_capture_on_drag = false
space_override = 0
gravity_point = false
gravity_distance_scale = 0.0
gravity_vec = Vector3( 0, -1, 0 )
gravity = 9.8
linear_damp = 0.1
angular_damp = 1.0
priority = 0.0
monitoring = true
monitorable = true
collision_layer = 1
collision_mask = 1
audio_bus_override = false
audio_bus_name = "Master"
reverb_bus_enable = false
reverb_bus_name = "Master"
reverb_bus_amount = 0.0
reverb_bus_uniformity = 0.0
[node name="collision_shape2" type="CollisionShape" parent="mesh_instance/area" index="0"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 9.40695, 0, 0, 0 )
shape = SubResource( 3 )
disabled = false
[connection signal="body_shape_entered" from="mesh_instance/area" to="." method="_on_area_body_shape_entered"]

View file

@ -0,0 +1,41 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://assets/Game/materials/ps_smoke_01.tres" type="Material" id=1]
[ext_resource path="res://assets/Game/materials/smoke_mesh_02.tres" type="QuadMesh" id=2]
[ext_resource path="res://assets/Game/materials/smoke_mesh_01.tres" type="QuadMesh" id=3]
[ext_resource path="res://assets/Game/materials/smoke_mesh_04.tres" type="QuadMesh" id=4]
[ext_resource path="res://assets/Game/materials/smoke_mesh_05.tres" type="QuadMesh" id=5]
[node name="smoke" type="Particles"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
emitting = true
amount = 30
lifetime = 4.0
one_shot = false
preprocess = 1.0
speed_scale = 0.1
explosiveness = 0.0
randomness = 0.0
fixed_fps = 0
fract_delta = true
visibility_aabb = AABB( -4.36976, -0.176441, -7.10573, 8.73952, 14.8617, 11.7749 )
local_coords = false
draw_order = 0
process_material = ExtResource( 1 )
draw_passes = 4
draw_pass_1 = ExtResource( 2 )
draw_pass_2 = ExtResource( 3 )
draw_pass_3 = ExtResource( 4 )
draw_pass_4 = ExtResource( 5 )
_sections_unfolded = [ "Draw Passes", "Drawing", "Geometry", "Process Material", "Time" ]

View file

@ -36,5 +36,6 @@ align = 1
percent_visible = 1.0 percent_visible = 1.0
lines_skipped = 0 lines_skipped = 0
max_lines_visible = -1 max_lines_visible = -1
_sections_unfolded = [ "Mouse" ]

View file

@ -5,16 +5,14 @@ signal logout_button_pressed
const WINDOW_TITLE_INPUT = "GUI/Settings/Menus/TabContainer/Test/ScrollContainer/VBoxContainer/TitleBox/Title" const WINDOW_TITLE_INPUT = "GUI/Settings/Menus/TabContainer/Test/ScrollContainer/VBoxContainer/TitleBox/Title"
func _ready(): func _ready():
change_title()
get_tree().get_root().connect("size_changed", self, "on_window_size_changed")
$Game/Character.get_node( "MeshInstance" ).get_surface_material(0).albedo_color = global.character_color get_tree().get_root().connect("size_changed", self, "on_window_size_changed")
print( str(global.character_name) )
print( str(global.character_color) )
$GUI.pause() global.get_node("GUI").show()
global.get_node("GUI").play()
self.connect( "logout_button_pressed", global, "_on_logout_button_pressed" ) character.show_third_person_camera()
character.get_node( "infos_spatial" ).show()
func _process(delta): func _process(delta):
pass pass
@ -23,14 +21,10 @@ func on_window_size_changed():
change_title() change_title()
func change_title(): func change_title():
var title_node = get_node( WINDOW_TITLE_INPUT ) if has_node( WINDOW_TITLE_INPUT ):
var title = "Khanat" var title_node = get_node( WINDOW_TITLE_INPUT )
if title_node and not title_node.text.strip_edges() == "": var title = "Khanat"
title = title_node.text.strip_edges() if title_node and not title_node.text.strip_edges() == "":
title += " (" + String(OS.get_window_size().x) + "x" + String(OS.get_window_size().y) + ")" title = title_node.text.strip_edges()
OS.set_window_title( title ) title += " (" + String(OS.get_window_size().x) + "x" + String(OS.get_window_size().y) + ")"
OS.set_window_title( title )
func _on_GUI_logout_button_pressed():
emit_signal( "logout_button_pressed" )
# global.goto_scene_loading( "res://login_scene/login_scene.tscn" )

View file

@ -1,8 +1,8 @@
[gd_scene load_steps=4 format=2] [gd_scene load_steps=4 format=2]
[ext_resource path="res://game_scene/game_scene.gd" type="Script" id=1] [ext_resource path="res://game_scene/game_scene.gd" type="Script" id=1]
[ext_resource path="res://scenes/Game/Game.tscn" type="PackedScene" id=2] [ext_resource path="res://game_scene/Game/Game.tscn" type="PackedScene" id=2]
[ext_resource path="res://scenes/GUI/GUI.tscn" type="PackedScene" id=3] [ext_resource path="res://scenes/Game/markers/arrow_z.tscn" type="PackedScene" id=3]
[node name="game_scene" type="Node"] [node name="game_scene" type="Node"]
@ -11,11 +11,8 @@ _sections_unfolded = [ "Pause" ]
[node name="Game" parent="." index="0" instance=ExtResource( 2 )] [node name="Game" parent="." index="0" instance=ExtResource( 2 )]
[node name="GUI" parent="." index="1" instance=ExtResource( 3 )] [node name="start_position" parent="." index="1" instance=ExtResource( 3 )]
pause_mode = 2 transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 0, 0, -15 )
_sections_unfolded = [ "Margin", "Mouse", "Pause", "Size Flags", "Theme", "custom_constants" ]
[connection signal="logout_button_pressed" from="GUI" to="." method="_on_GUI_logout_button_pressed"]

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 KiB

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show more