Merge branch 'bidouille_de_scoui' into 'master'
Bidouille de scoui See merge request godot_sandbox/Test-client-godot!4
BIN
addons/ui_window/background_default.jpg
Normal file
After Width: | Height: | Size: 13 KiB |
|
@ -1,17 +1,69 @@
|
|||
extends MarginContainer
|
||||
|
||||
export(bool) var is_movable = true
|
||||
export(bool) var is_resizable = true
|
||||
export(bool) var is_borderless = false
|
||||
export(String) var title = "Window"
|
||||
export(Color) var background_color = Color( 1.0, 1.0, 1.0, 1.0 )
|
||||
export( bool ) var is_movable = true
|
||||
export( bool ) var is_resizable = true
|
||||
export( bool ) var is_borderless = false
|
||||
export( bool ) var has_footer = true
|
||||
|
||||
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_position = Vector2( -1, -1 )
|
||||
var is_resizing = 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 _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.size_flags_horizontal = SIZE_EXPAND
|
||||
|
@ -21,19 +73,26 @@ func _enter_tree():
|
|||
self.set( "custom_constants/margin_top", 0)
|
||||
self.set( "custom_constants/margin_left", 0)
|
||||
self.set( "custom_constants/margin_bottom", 0)
|
||||
|
||||
|
||||
self.connect ( "gui_input", self, "_on_window_gui_input" )
|
||||
###
|
||||
###
|
||||
# Background
|
||||
# background
|
||||
var background
|
||||
if not self.has_node( "Background" ):
|
||||
if not self.has_node( "background" ):
|
||||
background = NinePatchRect.new()
|
||||
background.name = "Background"
|
||||
background.name = "background"
|
||||
if not background_texture:
|
||||
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" )
|
||||
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_vertical = NinePatchRect.AXIS_STRETCH_MODE_TILE
|
||||
|
||||
|
@ -44,65 +103,63 @@ func _enter_tree():
|
|||
background.patch_margin_left = 4
|
||||
background.patch_margin_top = 32
|
||||
background.patch_margin_right = 4
|
||||
background.patch_margin_bottom = 3
|
||||
background.patch_margin_bottom = 4
|
||||
|
||||
background.self_modulate = background_color
|
||||
|
||||
self.add_child( background )
|
||||
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
|
||||
var header
|
||||
if not self.has_node( "Header" ):
|
||||
header = MarginContainer.new()
|
||||
header.name = "Header"
|
||||
header.size_flags_horizontal = SIZE_EXPAND_FILL
|
||||
header.size_flags_vertical = SIZE_SHRINK_CENTER
|
||||
|
||||
header.set( "custom_constants/margin_right", 0)
|
||||
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" )
|
||||
self.add_window_part( background )
|
||||
# background.set_owner( self )
|
||||
###
|
||||
###
|
||||
# parts
|
||||
var parts
|
||||
if not self.has_node( "parts" ):
|
||||
parts = VBoxContainer.new()
|
||||
parts.name = "parts"
|
||||
parts.size_flags_horizontal = SIZE_EXPAND_FILL
|
||||
parts.size_flags_vertical = SIZE_EXPAND_FILL
|
||||
self.add_window_part( parts )
|
||||
# parts.set_owner( self )
|
||||
###
|
||||
###
|
||||
# header_box
|
||||
var header_box
|
||||
# Header/HBoxContainer
|
||||
if not self.has_node( "HBoxContainer" ):
|
||||
header_box = HBoxContainer.new()
|
||||
header_box.name = "HBoxContainer"
|
||||
if not parts.has_node( "header_box" ):
|
||||
header_box = MarginContainer.new()
|
||||
header_box.name = "header_box"
|
||||
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:
|
||||
header.mouse_default_cursor_shape = CURSOR_MOVE
|
||||
header.add_child( header_box )
|
||||
header_box.set_owner( header )
|
||||
header_box.add_child( header )
|
||||
# header.set_owner( header_box )
|
||||
###
|
||||
###
|
||||
# Quit
|
||||
# quit
|
||||
var quit_button
|
||||
if not self.has_node( "Quit" ):
|
||||
if not header.has_node( "quit" ):
|
||||
quit_button = TextureButton.new()
|
||||
quit_button.name = "Quit"
|
||||
quit_button.name = "quit"
|
||||
quit_button.size_flags_horizontal = SIZE_SHRINK_END
|
||||
quit_button.size_flags_vertical = SIZE_SHRINK_CENTER
|
||||
|
||||
|
@ -112,15 +169,15 @@ func _enter_tree():
|
|||
tex_quit.create_from_image( img_quit )
|
||||
quit_button.texture_normal = tex_quit
|
||||
|
||||
header_box.add_child( quit_button )
|
||||
quit_button.set_owner( header_box )
|
||||
header.add_child( quit_button )
|
||||
# quit_button.set_owner( header )
|
||||
quit_button.connect ( "pressed", self, "_on_Quit_pressed" )
|
||||
###
|
||||
# Close
|
||||
# close
|
||||
var close_button = TextureButton.new()
|
||||
if not self.has_node( "Close" ):
|
||||
if not header.has_node( "close" ):
|
||||
close_button = TextureButton.new()
|
||||
close_button.name = "Close"
|
||||
close_button.name = "close"
|
||||
close_button.size_flags_horizontal = SIZE_SHRINK_END
|
||||
close_button.size_flags_vertical = SIZE_SHRINK_CENTER
|
||||
|
||||
|
@ -130,15 +187,15 @@ func _enter_tree():
|
|||
tex_close.create_from_image( img_close )
|
||||
close_button.texture_normal = tex_close
|
||||
|
||||
header_box.add_child( close_button )
|
||||
close_button.set_owner( header_box )
|
||||
header.add_child( close_button )
|
||||
# close_button.set_owner( header )
|
||||
close_button.connect ( "pressed", self, "_on_Close_pressed" )
|
||||
###
|
||||
# Open
|
||||
# open
|
||||
var open_button
|
||||
if not self.has_node( "Open" ):
|
||||
if not header.has_node( "open" ):
|
||||
open_button = TextureButton.new()
|
||||
open_button.name = "Open"
|
||||
open_button.name = "open"
|
||||
open_button.size_flags_horizontal = SIZE_SHRINK_END
|
||||
open_button.size_flags_vertical = SIZE_SHRINK_CENTER
|
||||
|
||||
|
@ -148,73 +205,109 @@ func _enter_tree():
|
|||
tex_open.create_from_image( img_open )
|
||||
open_button.texture_normal = tex_open
|
||||
open_button.visible = false
|
||||
header_box.add_child( open_button )
|
||||
open_button.set_owner( header_box )
|
||||
header.add_child( open_button )
|
||||
# open_button.set_owner( header )
|
||||
open_button.connect ( "pressed", self, "_on_Open_pressed" )
|
||||
###
|
||||
###
|
||||
# Title Label
|
||||
var title_label
|
||||
if not self.has_node( "Label" ):
|
||||
if not header.has_node( "label" ):
|
||||
title_label = Label.new()
|
||||
title_label.name = "Label"
|
||||
title_label.name = "label"
|
||||
title_label.text = title
|
||||
title_label.size_flags_horizontal = SIZE_EXPAND_FILL
|
||||
title_label.size_flags_vertical = SIZE_SHRINK_CENTER
|
||||
if is_movable:
|
||||
title_label.mouse_default_cursor_shape = CURSOR_MOVE
|
||||
header_box.add_child( title_label )
|
||||
title_label.set_owner( header_box )
|
||||
header.add_child( title_label )
|
||||
# title_label.set_owner( header )
|
||||
###
|
||||
###
|
||||
# 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
|
||||
if not self.has_node( "Content" ):
|
||||
content = MarginContainer.new()
|
||||
content.name = "Content"
|
||||
if not content_scroll_container.has_node( "content" ):
|
||||
content = VBoxContainer.new()
|
||||
content.name = "content"
|
||||
content.size_flags_horizontal = SIZE_EXPAND_FILL
|
||||
content.size_flags_vertical = SIZE_EXPAND_FILL
|
||||
content.set( "custom_constants/margin_right", 8)
|
||||
content.set( "custom_constants/margin_top", 8)
|
||||
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 )
|
||||
content_scroll_container.add_child( content )
|
||||
# content.set_owner( content_scroll_container )
|
||||
###
|
||||
|
||||
|
||||
###
|
||||
# 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
|
||||
if not self.has_node( "HBoxContainer" ):
|
||||
footer_box = HBoxContainer.new()
|
||||
footer_box.name = "HBoxContainer"
|
||||
if not parts.has_node( "footer_box" ):
|
||||
footer_box = MarginContainer.new()
|
||||
footer_box.name = "footer_box"
|
||||
footer_box.size_flags_horizontal = SIZE_FILL
|
||||
footer_box.size_flags_vertical = SIZE_FILL
|
||||
footer.add_child( footer_box )
|
||||
footer_box.set_owner( footer )
|
||||
footer_box.set( "custom_constants/margin_right", content_margin.position.y)
|
||||
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
|
||||
if not self.has_node( "Resize" ):
|
||||
if not footer.has_node( "resize" ):
|
||||
resize_button = TextureButton.new()
|
||||
resize_button.name = "Resize"
|
||||
resize_button.size_flags_horizontal = SIZE_EXPAND | SIZE_SHRINK_END
|
||||
resize_button.size_flags_vertical = SIZE_EXPAND
|
||||
resize_button.name = "resize"
|
||||
resize_button.size_flags_horizontal = SIZE_FILL | SIZE_SHRINK_END
|
||||
resize_button.size_flags_vertical = SIZE_SHRINK_END
|
||||
|
||||
var tex_resize = ImageTexture.new()
|
||||
var img_resize = Image.new()
|
||||
|
@ -223,29 +316,60 @@ func _enter_tree():
|
|||
resize_button.texture_normal = tex_resize
|
||||
resize_button.mouse_default_cursor_shape = CURSOR_FDIAGSIZE
|
||||
resize_button.action_mode = Button.ACTION_MODE_BUTTON_PRESS
|
||||
footer_box.add_child( resize_button )
|
||||
resize_button.set_owner( footer_box )
|
||||
footer.add_child( resize_button )
|
||||
# resize_button.set_owner( footer )
|
||||
resize_button.connect ( "pressed", self, "_on_Resize_pressed" )
|
||||
###er_label.set_owner( footer )
|
||||
###
|
||||
|
||||
current_rect_size = self.rect_min_size
|
||||
|
||||
if is_borderless:
|
||||
$Background.region_rect = Rect2( 3, 28+3, 512-6, 512-28-6 )
|
||||
$VBoxContainer/Header/HBoxContainer/Close.visible = false
|
||||
$VBoxContainer/Header/HBoxContainer/Open.visible = false
|
||||
$VBoxContainer/Header/HBoxContainer/Quit.visible = false
|
||||
$VBoxContainer/Header/HBoxContainer/Label.visible = false
|
||||
# else:
|
||||
# $Background.region_rect = Rect2( 0, 0, 512, 512 )
|
||||
# $VBoxContainer/Header/HBoxContainer/Close.visible = true
|
||||
# $VBoxContainer/Header/HBoxContainer/Open.visible = false
|
||||
# $VBoxContainer/Header/HBoxContainer/Quit.visible = true
|
||||
# $VBoxContainer/Header/HBoxContainer/Label.visible = true
|
||||
if not is_resizable:
|
||||
$VBoxContainer/Footer/HBoxContainer/Resize.visible = false
|
||||
$background.region_rect = Rect2( $background.patch_margin_left-1
|
||||
, $background.patch_margin_top-1
|
||||
, 256-($background.patch_margin_left+$background.patch_margin_right)+2
|
||||
, 256-($background.patch_margin_top+$background.patch_margin_bottom)+2 )
|
||||
$background.patch_margin_left = 1
|
||||
$background.patch_margin_top = 1
|
||||
$background.patch_margin_right = 1
|
||||
$background.patch_margin_bottom = 1
|
||||
header_box.rect_min_size.y = 1
|
||||
close_button.visible = false
|
||||
open_button.visible = false
|
||||
quit_button.visible = false
|
||||
title_label.visible = false
|
||||
|
||||
|
||||
|
||||
|
||||
if not is_resizable:
|
||||
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():
|
||||
print("mouse_entered")
|
||||
|
||||
|
@ -258,23 +382,25 @@ func _on_Quit_pressed():
|
|||
self.visible = false
|
||||
|
||||
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():
|
||||
if not is_borderless:
|
||||
$VBoxContainer/Header/HBoxContainer/Close.visible = false
|
||||
$VBoxContainer/Header/HBoxContainer/Open.visible = true
|
||||
$VBoxContainer/Content.visible = false
|
||||
$VBoxContainer/Footer.visible = false
|
||||
header_box.get_node( "header/close" ).visible = false
|
||||
header_box.get_node( "header/open" ).visible = true
|
||||
content_box.visible = false
|
||||
footer_box.visible = false
|
||||
current_rect_size = self.rect_size
|
||||
self.rect_size = Vector2( 0, 0 )
|
||||
else:
|
||||
$VBoxContainer/Header/HBoxContainer/Close.visible = false
|
||||
$VBoxContainer/Header/HBoxContainer/Open.visible = false
|
||||
$VBoxContainer/Content.visible = false
|
||||
$VBoxContainer/Footer.visible = false
|
||||
header_box.get_node( "header/close" ).visible = false
|
||||
header_box.get_node( "header/open" ).visible = false
|
||||
content_box.visible = false
|
||||
footer_box.visible = false
|
||||
current_rect_size = self.rect_size
|
||||
self.rect_size = Vector2( 0, 0 )
|
||||
|
||||
|
@ -284,16 +410,16 @@ func _on_Close_pressed():
|
|||
|
||||
func open():
|
||||
if not is_borderless:
|
||||
$VBoxContainer/Header/HBoxContainer/Close.visible = true
|
||||
$VBoxContainer/Header/HBoxContainer/Open.visible = false
|
||||
$VBoxContainer/Content.visible = true
|
||||
$VBoxContainer/Footer.visible = true
|
||||
header_box.get_node( "header/close" ).visible = true
|
||||
header_box.get_node( "header/open" ).visible = false
|
||||
content_box.visible = true
|
||||
footer_box.visible = true
|
||||
self.rect_size = current_rect_size
|
||||
else:
|
||||
$VBoxContainer/Header/HBoxContainer/Close.visible = false
|
||||
$VBoxContainer/Header/HBoxContainer/Open.visible = false
|
||||
$VBoxContainer/Content.visible = true
|
||||
$VBoxContainer/Footer.visible = true
|
||||
header_box.get_node( "header/close" ).visible = false
|
||||
header_box.get_node( "header/open" ).visible = false
|
||||
content_box.visible = true
|
||||
footer_box.visible = true
|
||||
self.rect_size = current_rect_size
|
||||
|
||||
func _on_Open_pressed():
|
||||
|
@ -309,17 +435,28 @@ func _input( event ):
|
|||
if event is InputEventMouseMotion and is_resizing:
|
||||
var delta = event.relative
|
||||
self.rect_size += delta
|
||||
size_changed = true
|
||||
|
||||
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 )
|
||||
|
||||
func _on_Header_gui_input(ev):
|
||||
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
|
||||
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
|
||||
if ev is InputEventMouseMotion and is_moving:
|
||||
var delta = ev.relative
|
||||
if event is InputEventMouseMotion and is_moving:
|
||||
var delta = event.relative
|
||||
self.rect_position += delta
|
||||
|
||||
func _on_window_gui_input( event ):
|
||||
check_if_clicked( event )
|
||||
|
||||
func load_from_file( config_file ):
|
||||
if config_file.has_section( self.name ):
|
||||
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 ):
|
||||
|
||||
var is_open = $VBoxContainer/Content.visible
|
||||
var is_open = content_box.visible
|
||||
|
||||
config_file.set_value(self.name, "position", self.rect_position)
|
||||
|
||||
|
|
BIN
assets/GUI/images/background_test.jpg
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
assets/GUI/images/background_test.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
assets/GUI/images/button_light_off.png
Normal file
After Width: | Height: | Size: 388 B |
BIN
assets/GUI/images/button_light_on.png
Normal file
After Width: | Height: | Size: 429 B |
BIN
assets/GUI/images/button_turn_left.png
Normal file
After Width: | Height: | Size: 339 B |
BIN
assets/GUI/images/button_turn_left_up.png
Normal file
After Width: | Height: | Size: 336 B |
BIN
assets/GUI/images/button_turn_right.png
Normal file
After Width: | Height: | Size: 334 B |
BIN
assets/GUI/images/button_turn_right_up.png
Normal file
After Width: | Height: | Size: 323 B |
BIN
assets/GUI/images/button_zoom_in.png
Normal file
After Width: | Height: | Size: 829 B |
BIN
assets/GUI/images/button_zoom_out.png
Normal file
After Width: | Height: | Size: 754 B |
BIN
assets/Game/basekits/Kit_dispensaire.meshlib
Normal 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" ]
|
||||
|
64
assets/Game/basekits/dispensaire_materials/plastic_base.tres
Normal 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" ]
|
||||
|
64
assets/Game/basekits/dispensaire_materials/steel_glossy.tres
Normal 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" ]
|
||||
|
BIN
assets/Game/basekits/dispensaire_mesh_sources/DisCor1wAA01.mesh
Normal file
BIN
assets/Game/basekits/dispensaire_mesh_sources/DisCor2wAA01.mesh
Normal file
BIN
assets/Game/basekits/dispensaire_mesh_sources/DisCor2wRAA01.mesh
Normal file
44
assets/Game/basekits/dispensaire_scenes/DisCor1wAA01.tscn
Normal 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
|
||||
|
||||
|
45
assets/Game/basekits/dispensaire_scenes/DisCor1wDoLAA01.tscn
Normal 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
|
||||
|
||||
|
45
assets/Game/basekits/dispensaire_scenes/DisCor1wDoRAA01.tscn
Normal 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
|
||||
|
||||
|
43
assets/Game/basekits/dispensaire_scenes/DisCor2wAA01.tscn
Normal 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
|
||||
|
||||
|
44
assets/Game/basekits/dispensaire_scenes/DisCor2wDoLAA01.tscn
Normal 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
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
45
assets/Game/basekits/dispensaire_scenes/DisCor2wRAA01.tscn
Normal 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
|
||||
|
||||
|
After Width: | Height: | Size: 2 MiB |
After Width: | Height: | Size: 5.1 MiB |
After Width: | Height: | Size: 4.7 MiB |
After Width: | Height: | Size: 5 KiB |
After Width: | Height: | Size: 22 MiB |
After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 4.1 MiB |
After Width: | Height: | Size: 5 KiB |
After Width: | Height: | Size: 15 MiB |
After Width: | Height: | Size: 3.6 MiB |
After Width: | Height: | Size: 5 MiB |
After Width: | Height: | Size: 3.3 MiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 14 MiB |
After Width: | Height: | Size: 1.1 MiB |
37
assets/Game/markers/arrow_z.escn
Normal file
BIN
assets/kits/kit_test/kit_test.meshlib
Normal file
12
assets/kits/kit_test/kit_test_1way.mtl
Normal 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
|
40
assets/kits/kit_test/kit_test_1way.obj
Normal 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
|
12
assets/kits/kit_test/kit_test_2way.mtl
Normal 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
|
38
assets/kits/kit_test/kit_test_2way.obj
Normal 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
|
12
assets/kits/kit_test/kit_test_3way.mtl
Normal 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
|
32
assets/kits/kit_test/kit_test_3way.obj
Normal 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
|
12
assets/kits/kit_test/kit_test_4way.mtl
Normal 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
|
26
assets/kits/kit_test/kit_test_4way.obj
Normal 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
|
BIN
assets/kits/kit_test/kit_test_base_tex.png
Normal file
After Width: | Height: | Size: 20 KiB |
12
assets/kits/kit_test/kit_test_corner.mtl
Normal 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
|
36
assets/kits/kit_test/kit_test_corner.obj
Normal 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
|
57
assets/kits/kit_test/kit_test_spatialmaterial.tres
Normal 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
After Width: | Height: | Size: 4.2 MiB |
|
@ -1,11 +1,10 @@
|
|||
[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://assets/GUI/loading_screens/new_loading_bg_1.tga" type="Texture" id=2]
|
||||
[ext_resource path="res://background_loader_scene/new_loading_bg_0.tga" type="Texture" id=1]
|
||||
[ext_resource path="res://background_loader_scene/new_loading_bg_1.tga" type="Texture" id=2]
|
||||
|
||||
[node name="background_loader" type="Panel"]
|
||||
|
||||
visible = false
|
||||
self_modulate = Color( 0, 0, 0, 1 )
|
||||
anchor_left = 0.0
|
||||
anchor_top = 0.0
|
||||
|
@ -15,11 +14,11 @@ rect_pivot_offset = Vector2( 0, 0 )
|
|||
rect_clip_content = false
|
||||
mouse_filter = 2
|
||||
mouse_default_cursor_shape = 0
|
||||
size_flags_horizontal = 1
|
||||
size_flags_vertical = 1
|
||||
_sections_unfolded = [ "Mouse", "Visibility", "custom_constants" ]
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
_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_top = 0.0
|
||||
|
@ -27,11 +26,12 @@ anchor_right = 1.0
|
|||
anchor_bottom = 1.0
|
||||
rect_pivot_offset = Vector2( 0, 0 )
|
||||
rect_clip_content = false
|
||||
mouse_filter = 2
|
||||
mouse_filter = 0
|
||||
mouse_default_cursor_shape = 0
|
||||
size_flags_horizontal = 1
|
||||
size_flags_vertical = 1
|
||||
_sections_unfolded = [ "Mouse" ]
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
use_top_left = false
|
||||
_sections_unfolded = [ "Size Flags" ]
|
||||
|
||||
[node name="texture_progress" type="TextureProgress" parent="center_container" index="0"]
|
||||
|
||||
|
@ -39,15 +39,16 @@ anchor_left = 0.0
|
|||
anchor_top = 0.0
|
||||
anchor_right = 0.0
|
||||
anchor_bottom = 0.0
|
||||
margin_left = 8.0
|
||||
margin_right = 1032.0
|
||||
margin_bottom = 600.0
|
||||
margin_left = 509.0
|
||||
margin_top = 297.0
|
||||
margin_right = 515.0
|
||||
margin_bottom = 303.0
|
||||
rect_pivot_offset = Vector2( 0, 0 )
|
||||
rect_clip_content = false
|
||||
mouse_filter = 2
|
||||
mouse_filter = 1
|
||||
mouse_default_cursor_shape = 0
|
||||
size_flags_horizontal = 1
|
||||
size_flags_vertical = 1
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
min_value = 0.0
|
||||
max_value = 100.0
|
||||
step = 1.0
|
||||
|
@ -60,7 +61,11 @@ texture_over = null
|
|||
texture_progress = ExtResource( 2 )
|
||||
radial_fill_degrees = 360.0
|
||||
radial_center_offset = Vector2( 0, 0 )
|
||||
nine_patch_stretch = false
|
||||
_sections_unfolded = [ "Mouse", "Textures" ]
|
||||
nine_patch_stretch = true
|
||||
stretch_margin_left = 3
|
||||
stretch_margin_top = 3
|
||||
stretch_margin_right = 3
|
||||
stretch_margin_bottom = 3
|
||||
_sections_unfolded = [ "Rect", "Size Flags", "Textures" ]
|
||||
|
||||
|
||||
|
|
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 2.3 MiB |
276
dispensaire_gridmap/dispensaire_gridmap.tscn
Normal 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
|
||||
|
||||
|
235
dispensaire_scenes/dispensaire_scenes.tscn
Normal 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
|
@ -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
|
229
game_scene/Game/Character/Character.gd
Normal 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()
|
||||
|
113
game_scene/Game/Character/Character.tscn
Normal 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
|
||||
|
||||
|
7
game_scene/Game/Character/infos_spatial.gd
Normal file
|
@ -0,0 +1,7 @@
|
|||
extends Spatial
|
||||
|
||||
func show():
|
||||
$character_infos_billboard.show()
|
||||
|
||||
func hide():
|
||||
$character_infos_billboard.hide()
|
122
game_scene/Game/CubeShaderTest.tscn
Normal 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
|
@ -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
360
game_scene/Game/Terrain/Terrain.tscn
Normal 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
|
||||
|
||||
|
73
game_scene/Game/Terrain/gridmaps/GridMaps.tscn
Normal file
27
game_scene/Game/Terrain/gridmaps/ceilling.escn
Normal 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)
|
BIN
game_scene/Game/Terrain/gridmaps/ceilling.meshlib
Normal file
27
game_scene/Game/Terrain/gridmaps/ground.escn
Normal 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)
|
BIN
game_scene/Game/Terrain/gridmaps/ground.meshlib
Normal file
71
game_scene/Game/Terrain/gridmaps/wall.escn
Normal 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)
|
BIN
game_scene/Game/Terrain/gridmaps/wall.meshlib
Normal file
11
game_scene/Game/WorldEnvironment.gd
Normal 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 ) )
|
61
game_scene/Game/firecamp.tscn
Normal 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 )]
|
||||
|
||||
|
72
game_scene/Game/jukebox/JukeboxPannel.gd
Normal 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")
|
||||
|
159
game_scene/Game/jukebox/JukeboxPannel.tscn
Normal 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
|
||||
|
||||
|
71
game_scene/Game/jukebox/jukebox.escn
Normal file
80
game_scene/Game/jukebox/jukebox.gd
Normal 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()
|
||||
|
349
game_scene/Game/jukebox/jukebox.tscn
Normal file
139
game_scene/Game/portail/portail.tscn
Normal 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"]
|
||||
|
||||
|
41
game_scene/Game/smoke.tscn
Normal 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" ]
|
||||
|
||||
|
|
@ -36,5 +36,6 @@ align = 1
|
|||
percent_visible = 1.0
|
||||
lines_skipped = 0
|
||||
max_lines_visible = -1
|
||||
_sections_unfolded = [ "Mouse" ]
|
||||
|
||||
|
||||
|
|
|
@ -5,16 +5,14 @@ signal logout_button_pressed
|
|||
const WINDOW_TITLE_INPUT = "GUI/Settings/Menus/TabContainer/Test/ScrollContainer/VBoxContainer/TitleBox/Title"
|
||||
|
||||
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
|
||||
print( str(global.character_name) )
|
||||
print( str(global.character_color) )
|
||||
global.get_node("GUI").show()
|
||||
global.get_node("GUI").play()
|
||||
|
||||
$GUI.pause()
|
||||
|
||||
self.connect( "logout_button_pressed", global, "_on_logout_button_pressed" )
|
||||
character.show_third_person_camera()
|
||||
character.get_node( "infos_spatial" ).show()
|
||||
|
||||
func _process(delta):
|
||||
pass
|
||||
|
@ -23,14 +21,10 @@ func on_window_size_changed():
|
|||
change_title()
|
||||
|
||||
func change_title():
|
||||
if has_node( WINDOW_TITLE_INPUT ):
|
||||
var title_node = get_node( WINDOW_TITLE_INPUT )
|
||||
var title = "Khanat"
|
||||
if title_node and not title_node.text.strip_edges() == "":
|
||||
title = title_node.text.strip_edges()
|
||||
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" )
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[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://scenes/GUI/GUI.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://game_scene/Game/Game.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://scenes/Game/markers/arrow_z.tscn" type="PackedScene" id=3]
|
||||
|
||||
[node name="game_scene" type="Node"]
|
||||
|
||||
|
@ -11,11 +11,8 @@ _sections_unfolded = [ "Pause" ]
|
|||
|
||||
[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
|
||||
_sections_unfolded = [ "Margin", "Mouse", "Pause", "Size Flags", "Theme", "custom_constants" ]
|
||||
|
||||
[connection signal="logout_button_pressed" from="GUI" to="." method="_on_GUI_logout_button_pressed"]
|
||||
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 0, 0, -15 )
|
||||
|
||||
|
||||
|
|
2081
game_scene/suzanne/suzanne.obj
Normal file
311
game_scene/suzanne/suzanne.tscn
Normal file
BIN
game_scene/suzanne/suzanne_albedo.png
Normal file
After Width: | Height: | Size: 394 KiB |