Subindo repositorio
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
@icon("./gdquest_model_viewer_3d.svg")
|
||||
class_name GDQuestModelViewer3D extends Node
|
||||
|
||||
const _ModelViewer3d = preload("./viewer/model_viewer_3d.gd")
|
||||
const _MODEL_VIEWER_3D_SCENE = preload("./viewer/model_viewer_3d.tscn")
|
||||
|
||||
signal children_ready
|
||||
|
||||
var _data_models_map := { }
|
||||
var _scene: _ModelViewer3d
|
||||
var _children_are_ready := false
|
||||
|
||||
@export var known_models: Array[ModelData]
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_scene = _MODEL_VIEWER_3D_SCENE.instantiate() as _ModelViewer3d
|
||||
_scene.known_models = known_models
|
||||
add_child(_scene)
|
||||
|
||||
for index in known_models.size():
|
||||
var model := known_models[index]
|
||||
var model_name := model.name.to_lower().replace(" ", "_")
|
||||
_data_models_map[model_name] = index
|
||||
|
||||
# allow the side menu to get its size
|
||||
await get_tree().physics_frame
|
||||
await get_tree().physics_frame
|
||||
_children_are_ready = true
|
||||
children_ready.emit()
|
||||
|
||||
set_model_from_arguments()
|
||||
set_model_from_browser_hash()
|
||||
|
||||
|
||||
func set_model_by_name(model_name: String) -> void:
|
||||
if not (model_name in _data_models_map):
|
||||
return
|
||||
if not _children_are_ready:
|
||||
await children_ready
|
||||
_scene.model_selector.selection = _data_models_map[model_name]
|
||||
|
||||
|
||||
func set_model_from_arguments() -> void:
|
||||
var arguments := { }
|
||||
for argument in OS.get_cmdline_args():
|
||||
if argument.find("=") > -1:
|
||||
var key_value := argument.split("=")
|
||||
arguments[key_value[0].lstrip("--")] = key_value[1]
|
||||
if 'model' in arguments:
|
||||
set_model_by_name(arguments['model'])
|
||||
|
||||
|
||||
func set_model_from_browser_hash() -> void:
|
||||
if not OS.has_feature('web'):
|
||||
return
|
||||
var hash_bits = (JavaScriptBridge.eval("window.location.hash") as String).lstrip('#').split("&")
|
||||
var arguments := { }
|
||||
for hash in hash_bits:
|
||||
if hash.find('=') > -1:
|
||||
var key_value := hash.split("=")
|
||||
arguments[key_value[0]] = key_value[1]
|
||||
if 'model' in arguments:
|
||||
set_model_by_name(arguments['model'])
|
||||
@@ -0,0 +1 @@
|
||||
uid://2elcbvga7dcs
|
||||
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="16"
|
||||
height="16"
|
||||
viewBox="0 0 4.2333333 4.2333333"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
sodipodi:docname="gdquest_model_viewer_3d.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="true"
|
||||
inkscape:zoom="32"
|
||||
inkscape:cx="11.984375"
|
||||
inkscape:cy="5.703125"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1515"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="48"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid234" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="font-variation-settings:'wght' 900;fill:#ad7fa8;stroke-width:2.54;paint-order:stroke fill markers;stop-color:#000000"
|
||||
id="rect236"
|
||||
width="4.2333331"
|
||||
height="4.2333331"
|
||||
x="2.2252401e-07"
|
||||
y="2.2252401e-07" />
|
||||
<rect
|
||||
style="font-variation-settings:'wght' 900;fill:#5c3566;stroke-width:2.54;paint-order:stroke fill markers;stop-color:#000000"
|
||||
id="rect238"
|
||||
width="3.7041664"
|
||||
height="3.7041664"
|
||||
x="0.26458335"
|
||||
y="0.26458335" />
|
||||
<path
|
||||
style="font-variation-settings:'wght' 900;fill:#ad7fa8;stroke-width:2.54;paint-order:stroke fill markers;stop-color:#000000"
|
||||
d="m 0.52916667,2.38125 -10e-9,1.3229166 1.32291664,0 V 3.175 l -0.79375,0 0,-0.79375 z"
|
||||
id="path402"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
style="font-variation-settings:'wght' 900;fill:#ad7fa8;stroke-width:2.54;paint-order:stroke fill markers;stop-color:#000000"
|
||||
d="M 3.7041667,2.38125 V 3.7041666 H 2.38125 V 3.175 H 3.175 V 2.38125 Z"
|
||||
id="path554"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
style="font-variation-settings:'wght' 900;fill:#ad7fa8;stroke-width:2.54;paint-order:stroke fill markers;stop-color:#000000"
|
||||
d="M 0.52916663,1.8520833 V 0.5291667 H 1.8520834 V 1.0583333 H 1.0583333 v 0.79375 z"
|
||||
id="path556"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
style="font-variation-settings:'wght' 900;fill:#ad7fa8;stroke-width:2.54;paint-order:stroke fill markers;stop-color:#000000"
|
||||
d="M 3.7041668,1.8520833 V 0.52916673 H 2.38125 V 1.0583333 h 0.7937501 v 0.79375 z"
|
||||
id="path558"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ct08dwhevk2ru"
|
||||
path="res://.godot/imported/gdquest_model_viewer_3d.svg-78b008b75b5b695a18be909054c3179b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdquest_model_viewer_3d/gdquest_model_viewer_3d.svg"
|
||||
dest_files=["res://.godot/imported/gdquest_model_viewer_3d.svg-78b008b75b5b695a18be909054c3179b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
@@ -0,0 +1,7 @@
|
||||
[plugin]
|
||||
|
||||
name="GDQuest Model Viewer 3D"
|
||||
description="A turntable for 3D models"
|
||||
author="GDQuest"
|
||||
version="1.0"
|
||||
script="plugin.gd"
|
||||
@@ -0,0 +1,2 @@
|
||||
@tool
|
||||
extends EditorPlugin
|
||||
@@ -0,0 +1 @@
|
||||
uid://m22bqkb84le7
|
||||
@@ -0,0 +1,7 @@
|
||||
extends OptionButton
|
||||
|
||||
func setup(values: PackedStringArray) -> void:
|
||||
clear()
|
||||
for value in values:
|
||||
add_item(value)
|
||||
select(0)
|
||||
@@ -0,0 +1 @@
|
||||
uid://b3iqdl3p46v67
|
||||
@@ -0,0 +1,14 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://cqdapslfy1rva"]
|
||||
|
||||
[ext_resource type="Shader" path="res://addons/gdquest_model_viewer_3d/viewer/assets/shaders/bg.gdshader" id="1_4vwfw"]
|
||||
[ext_resource type="Texture2D" uid="uid://bcls3ehldqget" path="res://addons/gdquest_model_viewer_3d/viewer/assets/textures/gdquest_logo_sdf.png" id="2_2b3l1"]
|
||||
|
||||
[resource]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_4vwfw")
|
||||
shader_parameter/logo_scale = 2.0
|
||||
shader_parameter/logo_opacity = 0.025
|
||||
shader_parameter/border_color = Color(0.117647, 0.117647, 0.141176, 1)
|
||||
shader_parameter/center_color = Color(0.137255, 0.14902, 0.160784, 1)
|
||||
shader_parameter/ratio = Vector2(2, 1)
|
||||
shader_parameter/logo_sampler_sdf = ExtResource("2_2b3l1")
|
||||
@@ -0,0 +1,999 @@
|
||||
# Blender 3.4.1
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.000000 10.000000 -10.000000
|
||||
v 1.950903 10.000000 -9.807853
|
||||
v 3.826835 10.000000 -9.238795
|
||||
v 5.555702 10.000000 -8.314696
|
||||
v 7.071068 10.000000 -7.071068
|
||||
v 8.314696 10.000000 -5.555702
|
||||
v 9.238795 10.000000 -3.826835
|
||||
v 9.807853 10.000000 -1.950903
|
||||
v 10.000000 10.000000 0.000000
|
||||
v 9.807853 10.000000 1.950903
|
||||
v 9.238795 10.000000 3.826835
|
||||
v 8.314696 10.000000 5.555702
|
||||
v 7.071068 10.000000 7.071068
|
||||
v 5.555702 10.000000 8.314696
|
||||
v 3.826835 10.000000 9.238795
|
||||
v 1.950903 10.000000 9.807853
|
||||
v 0.000000 10.000000 10.000000
|
||||
v -1.950903 10.000000 9.807853
|
||||
v -3.826835 10.000000 9.238795
|
||||
v -5.555702 10.000000 8.314696
|
||||
v -7.071068 10.000000 7.071068
|
||||
v -8.314696 10.000000 5.555702
|
||||
v -9.238795 10.000000 3.826835
|
||||
v -9.807853 10.000000 1.950903
|
||||
v -10.000000 10.000000 0.000000
|
||||
v -9.807853 10.000000 -1.950903
|
||||
v -9.238795 10.000000 -3.826835
|
||||
v -8.314696 10.000000 -5.555702
|
||||
v -7.071068 10.000000 -7.071068
|
||||
v -5.555702 10.000000 -8.314696
|
||||
v -3.826835 10.000000 -9.238795
|
||||
v -1.950903 10.000000 -9.807853
|
||||
v 0.000000 0.000000 -7.990323
|
||||
v 0.000000 2.000000 -10.000000
|
||||
v 0.000000 0.097887 -8.611347
|
||||
v 0.000000 0.381966 -9.171581
|
||||
v 0.000000 0.824430 -9.616185
|
||||
v 0.000000 1.381966 -9.901639
|
||||
v 1.558833 0.000000 -7.836791
|
||||
v 1.950903 2.000000 -9.807853
|
||||
v 1.679990 0.097887 -8.445883
|
||||
v 1.789286 0.381966 -8.995352
|
||||
v 1.876024 0.824430 -9.431414
|
||||
v 1.931714 1.381966 -9.711382
|
||||
v 3.057765 0.000000 -7.382095
|
||||
v 3.826835 2.000000 -9.238795
|
||||
v 3.295421 0.097887 -7.955848
|
||||
v 3.509813 0.381966 -8.473436
|
||||
v 3.679956 0.824430 -8.884198
|
||||
v 3.789194 1.381966 -9.147923
|
||||
v 4.439185 0.000000 -6.643711
|
||||
v 5.555702 2.000000 -8.314696
|
||||
v 4.784208 0.097887 -7.160074
|
||||
v 5.095458 0.381966 -7.625892
|
||||
v 5.342466 0.824430 -7.995566
|
||||
v 5.501056 1.381966 -8.232913
|
||||
v 5.650012 0.000000 -5.650012
|
||||
v 7.071068 2.000000 -7.071068
|
||||
v 6.089141 0.097887 -6.089141
|
||||
v 6.485287 0.381966 -6.485287
|
||||
v 6.799670 0.824430 -6.799670
|
||||
v 7.001516 1.381966 -7.001516
|
||||
v 6.643711 0.000000 -4.439186
|
||||
v 8.314696 2.000000 -5.555702
|
||||
v 7.160073 0.097887 -4.784208
|
||||
v 7.625892 0.381966 -5.095458
|
||||
v 7.995566 0.824430 -5.342466
|
||||
v 8.232912 1.381966 -5.501056
|
||||
v 7.382095 0.000000 -3.057765
|
||||
v 9.238795 2.000000 -3.826835
|
||||
v 7.955848 0.097887 -3.295421
|
||||
v 8.473436 0.381966 -3.509813
|
||||
v 8.884198 0.824430 -3.679956
|
||||
v 9.147923 1.381966 -3.789194
|
||||
v 7.836791 0.000000 -1.558833
|
||||
v 9.807853 2.000000 -1.950903
|
||||
v 8.445883 0.097887 -1.679990
|
||||
v 8.995352 0.381966 -1.789286
|
||||
v 9.431414 0.824430 -1.876024
|
||||
v 9.711382 1.381966 -1.931714
|
||||
v 7.990323 0.000000 0.000000
|
||||
v 10.000000 2.000000 0.000000
|
||||
v 8.611347 0.097887 0.000000
|
||||
v 9.171581 0.381966 0.000000
|
||||
v 9.616185 0.824430 0.000000
|
||||
v 9.901639 1.381966 0.000000
|
||||
v 7.836791 0.000000 1.558833
|
||||
v 9.807853 2.000000 1.950903
|
||||
v 8.445883 0.097887 1.679990
|
||||
v 8.995352 0.381966 1.789286
|
||||
v 9.431414 0.824430 1.876024
|
||||
v 9.711382 1.381966 1.931714
|
||||
v 7.382095 0.000000 3.057765
|
||||
v 9.238795 2.000000 3.826835
|
||||
v 7.955848 0.097887 3.295421
|
||||
v 8.473436 0.381966 3.509813
|
||||
v 8.884198 0.824430 3.679956
|
||||
v 9.147923 1.381966 3.789194
|
||||
v 6.643711 0.000000 4.439185
|
||||
v 8.314696 2.000000 5.555702
|
||||
v 7.160074 0.097887 4.784208
|
||||
v 7.625892 0.381966 5.095458
|
||||
v 7.995566 0.824430 5.342466
|
||||
v 8.232913 1.381966 5.501056
|
||||
v 5.650012 0.000000 5.650012
|
||||
v 7.071068 2.000000 7.071068
|
||||
v 6.089141 0.097887 6.089141
|
||||
v 6.485287 0.381966 6.485287
|
||||
v 6.799670 0.824430 6.799670
|
||||
v 7.001516 1.381966 7.001516
|
||||
v 4.439186 0.000000 6.643711
|
||||
v 5.555702 2.000000 8.314696
|
||||
v 4.784208 0.097887 7.160073
|
||||
v 5.095458 0.381966 7.625892
|
||||
v 5.342466 0.824430 7.995566
|
||||
v 5.501056 1.381966 8.232912
|
||||
v 3.057765 0.000000 7.382095
|
||||
v 3.826835 2.000000 9.238795
|
||||
v 3.295421 0.097887 7.955848
|
||||
v 3.509813 0.381966 8.473436
|
||||
v 3.679956 0.824430 8.884198
|
||||
v 3.789194 1.381966 9.147923
|
||||
v 1.558833 0.000000 7.836791
|
||||
v 1.950903 2.000000 9.807853
|
||||
v 1.679990 0.097887 8.445883
|
||||
v 1.789286 0.381966 8.995352
|
||||
v 1.876024 0.824430 9.431414
|
||||
v 1.931714 1.381966 9.711382
|
||||
v 0.000000 0.000000 7.990323
|
||||
v 0.000000 2.000000 10.000000
|
||||
v 0.000000 0.097887 8.611347
|
||||
v 0.000000 0.381966 9.171581
|
||||
v 0.000000 0.824430 9.616185
|
||||
v 0.000000 1.381966 9.901639
|
||||
v -1.558833 0.000000 7.836791
|
||||
v -1.950903 2.000000 9.807853
|
||||
v -1.679990 0.097887 8.445883
|
||||
v -1.789286 0.381966 8.995352
|
||||
v -1.876024 0.824430 9.431414
|
||||
v -1.931714 1.381966 9.711382
|
||||
v -3.057765 0.000000 7.382095
|
||||
v -3.826835 2.000000 9.238795
|
||||
v -3.295421 0.097887 7.955848
|
||||
v -3.509813 0.381966 8.473436
|
||||
v -3.679956 0.824430 8.884198
|
||||
v -3.789194 1.381966 9.147923
|
||||
v -4.439185 0.000000 6.643711
|
||||
v -5.555702 2.000000 8.314696
|
||||
v -4.784208 0.097887 7.160074
|
||||
v -5.095458 0.381966 7.625892
|
||||
v -5.342466 0.824430 7.995566
|
||||
v -5.501056 1.381966 8.232913
|
||||
v -5.650012 0.000000 5.650012
|
||||
v -7.071068 2.000000 7.071068
|
||||
v -6.089141 0.097887 6.089141
|
||||
v -6.485287 0.381966 6.485287
|
||||
v -6.799670 0.824430 6.799670
|
||||
v -7.001516 1.381966 7.001516
|
||||
v -6.643711 0.000000 4.439186
|
||||
v -8.314696 2.000000 5.555702
|
||||
v -7.160073 0.097887 4.784208
|
||||
v -7.625892 0.381966 5.095458
|
||||
v -7.995566 0.824430 5.342466
|
||||
v -8.232912 1.381966 5.501056
|
||||
v -7.382095 0.000000 3.057765
|
||||
v -9.238795 2.000000 3.826835
|
||||
v -7.955848 0.097887 3.295421
|
||||
v -8.473436 0.381966 3.509813
|
||||
v -8.884198 0.824430 3.679956
|
||||
v -9.147923 1.381966 3.789194
|
||||
v -7.836791 0.000000 1.558833
|
||||
v -9.807853 2.000000 1.950903
|
||||
v -8.445883 0.097887 1.679990
|
||||
v -8.995352 0.381966 1.789286
|
||||
v -9.431414 0.824430 1.876024
|
||||
v -9.711382 1.381966 1.931714
|
||||
v -7.990323 0.000000 0.000000
|
||||
v -10.000000 2.000000 0.000000
|
||||
v -8.611347 0.097887 0.000000
|
||||
v -9.171581 0.381966 0.000000
|
||||
v -9.616185 0.824430 0.000000
|
||||
v -9.901639 1.381966 0.000000
|
||||
v -7.836791 0.000000 -1.558833
|
||||
v -9.807853 2.000000 -1.950903
|
||||
v -8.445883 0.097887 -1.679990
|
||||
v -8.995352 0.381966 -1.789286
|
||||
v -9.431414 0.824430 -1.876024
|
||||
v -9.711382 1.381966 -1.931714
|
||||
v -7.382095 0.000000 -3.057765
|
||||
v -9.238795 2.000000 -3.826835
|
||||
v -7.955848 0.097887 -3.295421
|
||||
v -8.473436 0.381966 -3.509813
|
||||
v -8.884198 0.824430 -3.679956
|
||||
v -9.147923 1.381966 -3.789194
|
||||
v -6.643711 0.000000 -4.439185
|
||||
v -8.314696 2.000000 -5.555702
|
||||
v -7.160074 0.097887 -4.784208
|
||||
v -7.625892 0.381966 -5.095458
|
||||
v -7.995566 0.824430 -5.342466
|
||||
v -8.232913 1.381966 -5.501056
|
||||
v -5.650012 0.000000 -5.650012
|
||||
v -7.071068 2.000000 -7.071068
|
||||
v -6.089141 0.097887 -6.089141
|
||||
v -6.485287 0.381966 -6.485287
|
||||
v -6.799670 0.824430 -6.799670
|
||||
v -7.001516 1.381966 -7.001516
|
||||
v -4.439186 0.000000 -6.643711
|
||||
v -5.555702 2.000000 -8.314696
|
||||
v -4.784208 0.097887 -7.160073
|
||||
v -5.095458 0.381966 -7.625892
|
||||
v -5.342466 0.824430 -7.995566
|
||||
v -5.501056 1.381966 -8.232912
|
||||
v -3.057765 0.000000 -7.382095
|
||||
v -3.826835 2.000000 -9.238795
|
||||
v -3.295421 0.097887 -7.955848
|
||||
v -3.509813 0.381966 -8.473436
|
||||
v -3.679956 0.824430 -8.884198
|
||||
v -3.789194 1.381966 -9.147923
|
||||
v -1.558833 0.000000 -7.836791
|
||||
v -1.950903 2.000000 -9.807853
|
||||
v -1.679990 0.097887 -8.445883
|
||||
v -1.789286 0.381966 -8.995352
|
||||
v -1.876024 0.824430 -9.431414
|
||||
v -1.931714 1.381966 -9.711382
|
||||
vn -0.1945 -0.0784 -0.9778
|
||||
vn -0.1951 -0.0000 -0.9808
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn -0.0000 -0.0784 -0.9969
|
||||
vn 0.3815 -0.0784 -0.9210
|
||||
vn 0.3827 -0.0000 -0.9239
|
||||
vn 0.5556 -0.0000 -0.8315
|
||||
vn 0.5539 -0.0784 -0.8289
|
||||
vn 0.7071 -0.0000 -0.7071
|
||||
vn 0.7049 -0.0784 -0.7049
|
||||
vn 0.8315 -0.0000 -0.5556
|
||||
vn 0.8289 -0.0784 -0.5539
|
||||
vn 0.9239 -0.0000 -0.3827
|
||||
vn 0.9210 -0.0784 -0.3815
|
||||
vn 0.9808 -0.0000 -0.1951
|
||||
vn 0.9778 -0.0784 -0.1945
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn 0.9969 -0.0784 -0.0000
|
||||
vn 0.9808 -0.0000 0.1951
|
||||
vn 0.9778 -0.0784 0.1945
|
||||
vn 0.9239 -0.0000 0.3827
|
||||
vn 0.9210 -0.0784 0.3815
|
||||
vn 0.8315 -0.0000 0.5556
|
||||
vn 0.8289 -0.0784 0.5539
|
||||
vn 0.7071 -0.0000 0.7071
|
||||
vn 0.7049 -0.0784 0.7049
|
||||
vn 0.5556 -0.0000 0.8315
|
||||
vn 0.5539 -0.0784 0.8289
|
||||
vn 0.3827 -0.0000 0.9239
|
||||
vn 0.3815 -0.0784 0.9210
|
||||
vn 0.1951 -0.0000 0.9808
|
||||
vn 0.1945 -0.0784 0.9778
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 -0.0784 0.9969
|
||||
vn -0.1951 -0.0000 0.9808
|
||||
vn -0.1945 -0.0784 0.9778
|
||||
vn -0.3827 -0.0000 0.9239
|
||||
vn -0.3815 -0.0784 0.9210
|
||||
vn -0.5556 -0.0000 0.8315
|
||||
vn -0.5539 -0.0784 0.8289
|
||||
vn -0.7071 -0.0000 0.7071
|
||||
vn -0.7049 -0.0784 0.7049
|
||||
vn -0.8315 -0.0000 0.5556
|
||||
vn -0.8289 -0.0784 0.5539
|
||||
vn -0.9239 -0.0000 0.3827
|
||||
vn -0.9210 -0.0784 0.3815
|
||||
vn -0.9808 -0.0000 0.1951
|
||||
vn -0.9778 -0.0784 0.1945
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.9969 -0.0784 -0.0000
|
||||
vn -0.9808 -0.0000 -0.1951
|
||||
vn -0.9778 -0.0784 -0.1945
|
||||
vn -0.9239 -0.0000 -0.3827
|
||||
vn -0.9210 -0.0784 -0.3815
|
||||
vn -0.8315 -0.0000 -0.5556
|
||||
vn -0.8289 -0.0784 -0.5539
|
||||
vn -0.7071 -0.0000 -0.7071
|
||||
vn -0.7049 -0.0784 -0.7049
|
||||
vn -0.5556 -0.0000 -0.8315
|
||||
vn -0.5539 -0.0784 -0.8289
|
||||
vn -0.3827 -0.0000 -0.9239
|
||||
vn -0.3815 -0.0784 -0.9210
|
||||
vn 0.1945 -0.0784 -0.9778
|
||||
vn 0.1951 -0.0000 -0.9808
|
||||
vn 0.1856 -0.3074 -0.9333
|
||||
vn -0.0000 -0.3074 -0.9516
|
||||
vn 0.1582 -0.5849 -0.7955
|
||||
vn -0.0000 -0.5849 -0.8111
|
||||
vn 0.1156 -0.8057 -0.5810
|
||||
vn -0.0000 -0.8057 -0.5924
|
||||
vn 0.0617 -0.9486 -0.3104
|
||||
vn -0.0000 -0.9486 -0.3165
|
||||
vn 0.0162 -0.9966 -0.0813
|
||||
vn -0.0000 -0.9966 -0.0829
|
||||
vn 0.3641 -0.3074 -0.8791
|
||||
vn 0.3104 -0.5849 -0.7493
|
||||
vn 0.2267 -0.8057 -0.5473
|
||||
vn 0.1211 -0.9486 -0.2924
|
||||
vn 0.0317 -0.9966 -0.0766
|
||||
vn 0.5287 -0.3074 -0.7912
|
||||
vn 0.4506 -0.5849 -0.6744
|
||||
vn 0.3291 -0.8057 -0.4925
|
||||
vn 0.1758 -0.9486 -0.2632
|
||||
vn 0.0461 -0.9966 -0.0690
|
||||
vn 0.6729 -0.3074 -0.6729
|
||||
vn 0.5735 -0.5849 -0.5735
|
||||
vn 0.4189 -0.8057 -0.4189
|
||||
vn 0.2238 -0.9486 -0.2238
|
||||
vn 0.0586 -0.9966 -0.0586
|
||||
vn 0.7912 -0.3074 -0.5287
|
||||
vn 0.6744 -0.5849 -0.4506
|
||||
vn 0.4925 -0.8057 -0.3291
|
||||
vn 0.2632 -0.9486 -0.1758
|
||||
vn 0.0690 -0.9966 -0.0461
|
||||
vn 0.8791 -0.3074 -0.3641
|
||||
vn 0.7493 -0.5849 -0.3104
|
||||
vn 0.5473 -0.8057 -0.2267
|
||||
vn 0.2924 -0.9486 -0.1211
|
||||
vn 0.0766 -0.9966 -0.0317
|
||||
vn 0.9333 -0.3074 -0.1856
|
||||
vn 0.7955 -0.5849 -0.1582
|
||||
vn 0.5810 -0.8057 -0.1156
|
||||
vn 0.3104 -0.9486 -0.0617
|
||||
vn 0.0813 -0.9966 -0.0162
|
||||
vn 0.9516 -0.3074 -0.0000
|
||||
vn 0.8111 -0.5849 -0.0000
|
||||
vn 0.5924 -0.8057 -0.0000
|
||||
vn 0.3165 -0.9486 -0.0000
|
||||
vn 0.0829 -0.9966 -0.0000
|
||||
vn 0.9333 -0.3074 0.1856
|
||||
vn 0.7955 -0.5849 0.1582
|
||||
vn 0.5810 -0.8057 0.1156
|
||||
vn 0.3104 -0.9486 0.0617
|
||||
vn 0.0813 -0.9966 0.0162
|
||||
vn 0.8791 -0.3074 0.3641
|
||||
vn 0.7493 -0.5849 0.3104
|
||||
vn 0.5473 -0.8057 0.2267
|
||||
vn 0.2924 -0.9486 0.1211
|
||||
vn 0.0766 -0.9966 0.0317
|
||||
vn 0.7912 -0.3074 0.5287
|
||||
vn 0.6744 -0.5849 0.4506
|
||||
vn 0.4925 -0.8057 0.3291
|
||||
vn 0.2632 -0.9486 0.1758
|
||||
vn 0.0690 -0.9966 0.0461
|
||||
vn 0.6729 -0.3074 0.6729
|
||||
vn 0.5735 -0.5849 0.5735
|
||||
vn 0.4189 -0.8057 0.4189
|
||||
vn 0.2238 -0.9486 0.2238
|
||||
vn 0.0586 -0.9966 0.0586
|
||||
vn 0.5287 -0.3074 0.7912
|
||||
vn 0.4506 -0.5849 0.6744
|
||||
vn 0.3291 -0.8057 0.4925
|
||||
vn 0.1758 -0.9486 0.2632
|
||||
vn 0.0461 -0.9966 0.0690
|
||||
vn 0.3641 -0.3074 0.8791
|
||||
vn 0.3104 -0.5849 0.7493
|
||||
vn 0.2267 -0.8057 0.5473
|
||||
vn 0.1211 -0.9486 0.2924
|
||||
vn 0.0317 -0.9966 0.0766
|
||||
vn 0.1856 -0.3074 0.9333
|
||||
vn 0.1582 -0.5849 0.7955
|
||||
vn 0.1156 -0.8057 0.5810
|
||||
vn 0.0617 -0.9486 0.3104
|
||||
vn 0.0162 -0.9966 0.0813
|
||||
vn -0.0000 -0.3074 0.9516
|
||||
vn -0.0000 -0.5849 0.8111
|
||||
vn -0.0000 -0.8057 0.5924
|
||||
vn -0.0000 -0.9486 0.3165
|
||||
vn -0.0000 -0.9966 0.0829
|
||||
vn -0.1856 -0.3074 0.9333
|
||||
vn -0.1582 -0.5849 0.7955
|
||||
vn -0.1156 -0.8057 0.5810
|
||||
vn -0.0617 -0.9486 0.3104
|
||||
vn -0.0162 -0.9966 0.0813
|
||||
vn -0.3641 -0.3074 0.8791
|
||||
vn -0.3104 -0.5849 0.7493
|
||||
vn -0.2267 -0.8057 0.5473
|
||||
vn -0.1211 -0.9486 0.2924
|
||||
vn -0.0317 -0.9966 0.0766
|
||||
vn -0.5287 -0.3074 0.7912
|
||||
vn -0.4506 -0.5849 0.6744
|
||||
vn -0.3291 -0.8057 0.4925
|
||||
vn -0.1758 -0.9486 0.2632
|
||||
vn -0.0461 -0.9966 0.0690
|
||||
vn -0.6729 -0.3074 0.6729
|
||||
vn -0.5735 -0.5849 0.5735
|
||||
vn -0.4189 -0.8057 0.4189
|
||||
vn -0.2238 -0.9486 0.2238
|
||||
vn -0.0586 -0.9966 0.0586
|
||||
vn -0.7912 -0.3074 0.5287
|
||||
vn -0.6744 -0.5849 0.4506
|
||||
vn -0.4925 -0.8057 0.3291
|
||||
vn -0.2632 -0.9486 0.1758
|
||||
vn -0.0690 -0.9966 0.0461
|
||||
vn -0.8791 -0.3074 0.3641
|
||||
vn -0.7493 -0.5849 0.3104
|
||||
vn -0.5473 -0.8057 0.2267
|
||||
vn -0.2924 -0.9486 0.1211
|
||||
vn -0.0766 -0.9966 0.0317
|
||||
vn -0.9333 -0.3074 0.1856
|
||||
vn -0.7955 -0.5849 0.1582
|
||||
vn -0.5810 -0.8057 0.1156
|
||||
vn -0.3104 -0.9486 0.0617
|
||||
vn -0.0813 -0.9966 0.0162
|
||||
vn -0.9516 -0.3074 -0.0000
|
||||
vn -0.8111 -0.5849 -0.0000
|
||||
vn -0.5924 -0.8057 -0.0000
|
||||
vn -0.3165 -0.9486 -0.0000
|
||||
vn -0.0829 -0.9966 -0.0000
|
||||
vn -0.9333 -0.3074 -0.1856
|
||||
vn -0.7955 -0.5849 -0.1582
|
||||
vn -0.5810 -0.8057 -0.1156
|
||||
vn -0.3104 -0.9486 -0.0617
|
||||
vn -0.0813 -0.9966 -0.0162
|
||||
vn -0.8791 -0.3074 -0.3641
|
||||
vn -0.7493 -0.5849 -0.3104
|
||||
vn -0.5473 -0.8057 -0.2267
|
||||
vn -0.2924 -0.9486 -0.1211
|
||||
vn -0.0766 -0.9966 -0.0317
|
||||
vn -0.7912 -0.3074 -0.5287
|
||||
vn -0.6744 -0.5849 -0.4506
|
||||
vn -0.4925 -0.8057 -0.3291
|
||||
vn -0.2632 -0.9486 -0.1758
|
||||
vn -0.0690 -0.9966 -0.0461
|
||||
vn -0.6729 -0.3074 -0.6729
|
||||
vn -0.5735 -0.5849 -0.5735
|
||||
vn -0.4189 -0.8057 -0.4189
|
||||
vn -0.2238 -0.9486 -0.2238
|
||||
vn -0.0586 -0.9966 -0.0586
|
||||
vn -0.5287 -0.3074 -0.7912
|
||||
vn -0.4506 -0.5849 -0.6744
|
||||
vn -0.3291 -0.8057 -0.4925
|
||||
vn -0.1758 -0.9486 -0.2632
|
||||
vn -0.0461 -0.9966 -0.0690
|
||||
vn -0.3641 -0.3074 -0.8791
|
||||
vn -0.3104 -0.5849 -0.7493
|
||||
vn -0.2267 -0.8057 -0.5473
|
||||
vn -0.1211 -0.9486 -0.2924
|
||||
vn -0.0317 -0.9966 -0.0766
|
||||
vn -0.1856 -0.3074 -0.9333
|
||||
vn -0.1582 -0.5849 -0.7955
|
||||
vn -0.1156 -0.8057 -0.5810
|
||||
vn -0.0617 -0.9486 -0.3104
|
||||
vn -0.0162 -0.9966 -0.0813
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.968750 1.000000
|
||||
vt 0.937500 1.000000
|
||||
vt 0.906250 1.000000
|
||||
vt 0.875000 1.000000
|
||||
vt 0.843750 1.000000
|
||||
vt 0.812500 1.000000
|
||||
vt 0.781250 1.000000
|
||||
vt 0.750000 1.000000
|
||||
vt 0.718750 1.000000
|
||||
vt 0.687500 1.000000
|
||||
vt 0.656250 1.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.593750 1.000000
|
||||
vt 0.562500 1.000000
|
||||
vt 0.531250 1.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.468750 1.000000
|
||||
vt 0.437500 1.000000
|
||||
vt 0.406250 1.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.343750 1.000000
|
||||
vt 0.312500 1.000000
|
||||
vt 0.281250 1.000000
|
||||
vt 0.250000 1.000000
|
||||
vt 0.218750 1.000000
|
||||
vt 0.187500 1.000000
|
||||
vt 0.156250 1.000000
|
||||
vt 0.125000 1.000000
|
||||
vt 0.093750 1.000000
|
||||
vt 0.062500 1.000000
|
||||
vt 0.031250 1.000000
|
||||
vt 0.750000 0.441768
|
||||
vt 1.000000 0.600000
|
||||
vt 0.000000 0.600000
|
||||
vt 0.750000 0.456672
|
||||
vt 0.750000 0.470118
|
||||
vt 0.999400 0.500000
|
||||
vt 0.750899 0.489911
|
||||
vt 0.000600 0.500000
|
||||
vt 0.749101 0.489911
|
||||
vt 0.999846 0.569098
|
||||
vt 0.000154 0.569098
|
||||
vt 0.787412 0.438083
|
||||
vt 0.968750 0.600000
|
||||
vt 0.790320 0.452701
|
||||
vt 0.792943 0.465888
|
||||
vt 0.969350 0.500000
|
||||
vt 0.795923 0.485477
|
||||
vt 0.968150 0.500000
|
||||
vt 0.797686 0.485126
|
||||
vt 0.968904 0.569098
|
||||
vt 0.968596 0.569098
|
||||
vt 0.823386 0.427170
|
||||
vt 0.937500 0.600000
|
||||
vt 0.829090 0.440940
|
||||
vt 0.834235 0.453362
|
||||
vt 0.938100 0.500000
|
||||
vt 0.840980 0.471993
|
||||
vt 0.936900 0.500000
|
||||
vt 0.842640 0.471305
|
||||
vt 0.937654 0.569098
|
||||
vt 0.937346 0.569098
|
||||
vt 0.856541 0.409449
|
||||
vt 0.906250 0.600000
|
||||
vt 0.864821 0.421842
|
||||
vt 0.872291 0.433021
|
||||
vt 0.906850 0.500000
|
||||
vt 0.882541 0.449978
|
||||
vt 0.905650 0.500000
|
||||
vt 0.884035 0.448980
|
||||
vt 0.906404 0.569098
|
||||
vt 0.906096 0.569098
|
||||
vt 0.885600 0.385600
|
||||
vt 0.875000 0.600000
|
||||
vt 0.896140 0.396139
|
||||
vt 0.905647 0.405647
|
||||
vt 0.875600 0.500000
|
||||
vt 0.919008 0.420278
|
||||
vt 0.874400 0.500000
|
||||
vt 0.920278 0.419008
|
||||
vt 0.875154 0.569098
|
||||
vt 0.874846 0.569098
|
||||
vt 0.909449 0.356541
|
||||
vt 0.843750 0.600000
|
||||
vt 0.921842 0.364821
|
||||
vt 0.933021 0.372291
|
||||
vt 0.844350 0.500000
|
||||
vt 0.948980 0.384035
|
||||
vt 0.843150 0.500000
|
||||
vt 0.949978 0.382541
|
||||
vt 0.843904 0.569098
|
||||
vt 0.843596 0.569098
|
||||
vt 0.927170 0.323386
|
||||
vt 0.812500 0.600000
|
||||
vt 0.940940 0.329090
|
||||
vt 0.953362 0.334235
|
||||
vt 0.813100 0.500000
|
||||
vt 0.971305 0.342640
|
||||
vt 0.811900 0.500000
|
||||
vt 0.971993 0.340980
|
||||
vt 0.812654 0.569098
|
||||
vt 0.812346 0.569098
|
||||
vt 0.938083 0.287412
|
||||
vt 0.781250 0.600000
|
||||
vt 0.952701 0.290320
|
||||
vt 0.965888 0.292943
|
||||
vt 0.781850 0.500000
|
||||
vt 0.985126 0.297686
|
||||
vt 0.780650 0.500000
|
||||
vt 0.985477 0.295923
|
||||
vt 0.781404 0.569098
|
||||
vt 0.781096 0.569098
|
||||
vt 0.941768 0.250000
|
||||
vt 0.750000 0.600000
|
||||
vt 0.956673 0.250000
|
||||
vt 0.970118 0.250000
|
||||
vt 0.750600 0.500000
|
||||
vt 0.989912 0.250899
|
||||
vt 0.749400 0.500000
|
||||
vt 0.989911 0.249101
|
||||
vt 0.750154 0.569098
|
||||
vt 0.749846 0.569098
|
||||
vt 0.938083 0.212588
|
||||
vt 0.718750 0.600000
|
||||
vt 0.952702 0.209680
|
||||
vt 0.965888 0.207057
|
||||
vt 0.719350 0.500000
|
||||
vt 0.985477 0.204077
|
||||
vt 0.718150 0.500000
|
||||
vt 0.985126 0.202314
|
||||
vt 0.718904 0.569098
|
||||
vt 0.718596 0.569098
|
||||
vt 0.927170 0.176614
|
||||
vt 0.687500 0.600000
|
||||
vt 0.940940 0.170910
|
||||
vt 0.953362 0.165764
|
||||
vt 0.688100 0.500000
|
||||
vt 0.971993 0.159020
|
||||
vt 0.686900 0.500000
|
||||
vt 0.971305 0.157360
|
||||
vt 0.687654 0.569098
|
||||
vt 0.687346 0.569098
|
||||
vt 0.909449 0.143460
|
||||
vt 0.656250 0.600000
|
||||
vt 0.921842 0.135179
|
||||
vt 0.933021 0.127709
|
||||
vt 0.656850 0.500000
|
||||
vt 0.949978 0.117459
|
||||
vt 0.655650 0.500000
|
||||
vt 0.948980 0.115965
|
||||
vt 0.656404 0.569098
|
||||
vt 0.656096 0.569098
|
||||
vt 0.885600 0.114400
|
||||
vt 0.625000 0.600000
|
||||
vt 0.896140 0.103861
|
||||
vt 0.905647 0.094353
|
||||
vt 0.625600 0.500000
|
||||
vt 0.920278 0.080992
|
||||
vt 0.624400 0.500000
|
||||
vt 0.919008 0.079722
|
||||
vt 0.625154 0.569098
|
||||
vt 0.624846 0.569098
|
||||
vt 0.856541 0.090551
|
||||
vt 0.593750 0.600000
|
||||
vt 0.864821 0.078158
|
||||
vt 0.872291 0.066979
|
||||
vt 0.594350 0.500000
|
||||
vt 0.884035 0.051020
|
||||
vt 0.593150 0.500000
|
||||
vt 0.882541 0.050022
|
||||
vt 0.593904 0.569098
|
||||
vt 0.593596 0.569098
|
||||
vt 0.823386 0.072830
|
||||
vt 0.562500 0.600000
|
||||
vt 0.829090 0.059060
|
||||
vt 0.834235 0.046638
|
||||
vt 0.563100 0.500000
|
||||
vt 0.842640 0.028695
|
||||
vt 0.561900 0.500000
|
||||
vt 0.840980 0.028007
|
||||
vt 0.562654 0.569098
|
||||
vt 0.562346 0.569098
|
||||
vt 0.787412 0.061917
|
||||
vt 0.531250 0.600000
|
||||
vt 0.790320 0.047299
|
||||
vt 0.792943 0.034112
|
||||
vt 0.531850 0.500000
|
||||
vt 0.797686 0.014874
|
||||
vt 0.530650 0.500000
|
||||
vt 0.795923 0.014523
|
||||
vt 0.531404 0.569098
|
||||
vt 0.531096 0.569098
|
||||
vt 0.750000 0.058232
|
||||
vt 0.500000 0.600000
|
||||
vt 0.750000 0.043328
|
||||
vt 0.750000 0.029882
|
||||
vt 0.500600 0.500000
|
||||
vt 0.750899 0.010089
|
||||
vt 0.499400 0.500000
|
||||
vt 0.749101 0.010089
|
||||
vt 0.500154 0.569098
|
||||
vt 0.499846 0.569098
|
||||
vt 0.712588 0.061917
|
||||
vt 0.468750 0.600000
|
||||
vt 0.709680 0.047299
|
||||
vt 0.707057 0.034112
|
||||
vt 0.469350 0.500000
|
||||
vt 0.704077 0.014523
|
||||
vt 0.468150 0.500000
|
||||
vt 0.702314 0.014874
|
||||
vt 0.468904 0.569098
|
||||
vt 0.468596 0.569098
|
||||
vt 0.676614 0.072830
|
||||
vt 0.437500 0.600000
|
||||
vt 0.670910 0.059060
|
||||
vt 0.665764 0.046638
|
||||
vt 0.438100 0.500000
|
||||
vt 0.659020 0.028007
|
||||
vt 0.436900 0.500000
|
||||
vt 0.657360 0.028695
|
||||
vt 0.437654 0.569098
|
||||
vt 0.437346 0.569098
|
||||
vt 0.643460 0.090551
|
||||
vt 0.406250 0.600000
|
||||
vt 0.635179 0.078158
|
||||
vt 0.627709 0.066979
|
||||
vt 0.406850 0.500000
|
||||
vt 0.617459 0.050022
|
||||
vt 0.405650 0.500000
|
||||
vt 0.615965 0.051020
|
||||
vt 0.406404 0.569098
|
||||
vt 0.406096 0.569098
|
||||
vt 0.614400 0.114400
|
||||
vt 0.375000 0.600000
|
||||
vt 0.603861 0.103861
|
||||
vt 0.594353 0.094353
|
||||
vt 0.375600 0.500000
|
||||
vt 0.580992 0.079722
|
||||
vt 0.374400 0.500000
|
||||
vt 0.579722 0.080992
|
||||
vt 0.375154 0.569098
|
||||
vt 0.374846 0.569098
|
||||
vt 0.590551 0.143460
|
||||
vt 0.343750 0.600000
|
||||
vt 0.578158 0.135179
|
||||
vt 0.566979 0.127709
|
||||
vt 0.344350 0.500000
|
||||
vt 0.551020 0.115965
|
||||
vt 0.343150 0.500000
|
||||
vt 0.550022 0.117459
|
||||
vt 0.343904 0.569098
|
||||
vt 0.343596 0.569098
|
||||
vt 0.572830 0.176614
|
||||
vt 0.312500 0.600000
|
||||
vt 0.559060 0.170910
|
||||
vt 0.546637 0.165764
|
||||
vt 0.313100 0.500000
|
||||
vt 0.528695 0.157360
|
||||
vt 0.311900 0.500000
|
||||
vt 0.528007 0.159020
|
||||
vt 0.312654 0.569098
|
||||
vt 0.312346 0.569098
|
||||
vt 0.561917 0.212588
|
||||
vt 0.281250 0.600000
|
||||
vt 0.547299 0.209680
|
||||
vt 0.534112 0.207057
|
||||
vt 0.281850 0.500000
|
||||
vt 0.514874 0.202314
|
||||
vt 0.280650 0.500000
|
||||
vt 0.514523 0.204077
|
||||
vt 0.281404 0.569098
|
||||
vt 0.281096 0.569098
|
||||
vt 0.558232 0.250000
|
||||
vt 0.250000 0.600000
|
||||
vt 0.543328 0.250000
|
||||
vt 0.529882 0.250000
|
||||
vt 0.250600 0.500000
|
||||
vt 0.510089 0.249101
|
||||
vt 0.249400 0.500000
|
||||
vt 0.510088 0.250899
|
||||
vt 0.250154 0.569098
|
||||
vt 0.249846 0.569098
|
||||
vt 0.561917 0.287412
|
||||
vt 0.218750 0.600000
|
||||
vt 0.547299 0.290320
|
||||
vt 0.534112 0.292943
|
||||
vt 0.219350 0.500000
|
||||
vt 0.514523 0.295923
|
||||
vt 0.218150 0.500000
|
||||
vt 0.514874 0.297686
|
||||
vt 0.218904 0.569098
|
||||
vt 0.218596 0.569098
|
||||
vt 0.572830 0.323386
|
||||
vt 0.187500 0.600000
|
||||
vt 0.559060 0.329090
|
||||
vt 0.546638 0.334236
|
||||
vt 0.188100 0.500000
|
||||
vt 0.528007 0.340980
|
||||
vt 0.186900 0.500000
|
||||
vt 0.528695 0.342640
|
||||
vt 0.187654 0.569098
|
||||
vt 0.187346 0.569098
|
||||
vt 0.590551 0.356540
|
||||
vt 0.156250 0.600000
|
||||
vt 0.578158 0.364821
|
||||
vt 0.566979 0.372291
|
||||
vt 0.156850 0.500000
|
||||
vt 0.550022 0.382541
|
||||
vt 0.155650 0.500000
|
||||
vt 0.551020 0.384035
|
||||
vt 0.156404 0.569098
|
||||
vt 0.156096 0.569098
|
||||
vt 0.614400 0.385600
|
||||
vt 0.125000 0.600000
|
||||
vt 0.603861 0.396139
|
||||
vt 0.594353 0.405647
|
||||
vt 0.125600 0.500000
|
||||
vt 0.579722 0.419008
|
||||
vt 0.124400 0.500000
|
||||
vt 0.580992 0.420278
|
||||
vt 0.125154 0.569098
|
||||
vt 0.124846 0.569098
|
||||
vt 0.643460 0.409449
|
||||
vt 0.093750 0.600000
|
||||
vt 0.635179 0.421842
|
||||
vt 0.627709 0.433021
|
||||
vt 0.094350 0.500000
|
||||
vt 0.615965 0.448980
|
||||
vt 0.093150 0.500000
|
||||
vt 0.617459 0.449978
|
||||
vt 0.093904 0.569098
|
||||
vt 0.093596 0.569098
|
||||
vt 0.676614 0.427170
|
||||
vt 0.062500 0.600000
|
||||
vt 0.670910 0.440940
|
||||
vt 0.665765 0.453363
|
||||
vt 0.063100 0.500000
|
||||
vt 0.657360 0.471305
|
||||
vt 0.061900 0.500000
|
||||
vt 0.659020 0.471993
|
||||
vt 0.062654 0.569098
|
||||
vt 0.062346 0.569098
|
||||
vt 0.712588 0.438083
|
||||
vt 0.031250 0.600000
|
||||
vt 0.709680 0.452701
|
||||
vt 0.707057 0.465888
|
||||
vt 0.031850 0.500000
|
||||
vt 0.702314 0.485126
|
||||
vt 0.030650 0.500000
|
||||
vt 0.704077 0.485477
|
||||
vt 0.031404 0.569098
|
||||
vt 0.031096 0.569098
|
||||
s 1
|
||||
f 220/346/1 32/33/2 1/1/3 34/36/4
|
||||
f 46/56/5 3/4/6 4/5/7 52/66/8
|
||||
f 52/66/8 4/5/7 5/6/9 58/76/10
|
||||
f 58/76/10 5/6/9 6/7/11 64/86/12
|
||||
f 64/86/12 6/7/11 7/8/13 70/96/14
|
||||
f 70/96/14 7/8/13 8/9/15 76/106/16
|
||||
f 76/106/16 8/9/15 9/10/17 82/116/18
|
||||
f 82/116/18 9/10/17 10/11/19 88/126/20
|
||||
f 88/126/20 10/11/19 11/12/21 94/136/22
|
||||
f 94/136/22 11/12/21 12/13/23 100/146/24
|
||||
f 100/146/24 12/13/23 13/14/25 106/156/26
|
||||
f 106/156/26 13/14/25 14/15/27 112/166/28
|
||||
f 112/166/28 14/15/27 15/16/29 118/176/30
|
||||
f 118/176/30 15/16/29 16/17/31 124/186/32
|
||||
f 124/186/32 16/17/31 17/18/33 130/196/34
|
||||
f 130/196/34 17/18/33 18/19/35 136/206/36
|
||||
f 136/206/36 18/19/35 19/20/37 142/216/38
|
||||
f 142/216/38 19/20/37 20/21/39 148/226/40
|
||||
f 148/226/40 20/21/39 21/22/41 154/236/42
|
||||
f 154/236/42 21/22/41 22/23/43 160/246/44
|
||||
f 160/246/44 22/23/43 23/24/45 166/256/46
|
||||
f 166/256/46 23/24/45 24/25/47 172/266/48
|
||||
f 172/266/48 24/25/47 25/26/49 178/276/50
|
||||
f 178/276/50 25/26/49 26/27/51 184/286/52
|
||||
f 184/286/52 26/27/51 27/28/53 190/296/54
|
||||
f 190/296/54 27/28/53 28/29/55 196/306/56
|
||||
f 196/306/56 28/29/55 29/30/57 202/316/58
|
||||
f 202/316/58 29/30/57 30/31/59 208/326/60
|
||||
f 208/326/60 30/31/59 31/32/61 214/336/62
|
||||
f 214/336/62 31/32/61 32/33/2 220/346/1
|
||||
f 40/46/63 2/3/64 3/4/6 46/56/5
|
||||
f 34/35/4 1/2/3 2/3/64 40/46/63
|
||||
f 34/35/4 40/46/63 44/53/65 38/43/66
|
||||
f 38/43/66 44/53/65 43/49/67 37/39/68
|
||||
f 37/40/68 43/50/67 42/48/69 36/38/70
|
||||
f 36/38/70 42/48/69 41/47/71 35/37/72
|
||||
f 35/37/72 41/47/71 39/45/73 33/34/74
|
||||
f 40/46/63 46/56/5 50/63/75 44/54/65
|
||||
f 44/54/65 50/63/75 49/59/76 43/51/67
|
||||
f 43/52/67 49/60/76 48/58/77 42/48/69
|
||||
f 42/48/69 48/58/77 47/57/78 41/47/71
|
||||
f 41/47/71 47/57/78 45/55/79 39/45/73
|
||||
f 46/56/5 52/66/8 56/73/80 50/64/75
|
||||
f 50/64/75 56/73/80 55/69/81 49/61/76
|
||||
f 49/62/76 55/70/81 54/68/82 48/58/77
|
||||
f 48/58/77 54/68/82 53/67/83 47/57/78
|
||||
f 47/57/78 53/67/83 51/65/84 45/55/79
|
||||
f 52/66/8 58/76/10 62/83/85 56/74/80
|
||||
f 56/74/80 62/83/85 61/79/86 55/71/81
|
||||
f 55/72/81 61/80/86 60/78/87 54/68/82
|
||||
f 54/68/82 60/78/87 59/77/88 53/67/83
|
||||
f 53/67/83 59/77/88 57/75/89 51/65/84
|
||||
f 58/76/10 64/86/12 68/93/90 62/84/85
|
||||
f 62/84/85 68/93/90 67/89/91 61/81/86
|
||||
f 61/82/86 67/90/91 66/88/92 60/78/87
|
||||
f 60/78/87 66/88/92 65/87/93 59/77/88
|
||||
f 59/77/88 65/87/93 63/85/94 57/75/89
|
||||
f 64/86/12 70/96/14 74/103/95 68/94/90
|
||||
f 68/94/90 74/103/95 73/99/96 67/91/91
|
||||
f 67/92/91 73/100/96 72/98/97 66/88/92
|
||||
f 66/88/92 72/98/97 71/97/98 65/87/93
|
||||
f 65/87/93 71/97/98 69/95/99 63/85/94
|
||||
f 70/96/14 76/106/16 80/113/100 74/104/95
|
||||
f 74/104/95 80/113/100 79/109/101 73/101/96
|
||||
f 73/102/96 79/110/101 78/108/102 72/98/97
|
||||
f 72/98/97 78/108/102 77/107/103 71/97/98
|
||||
f 71/97/98 77/107/103 75/105/104 69/95/99
|
||||
f 76/106/16 82/116/18 86/123/105 80/114/100
|
||||
f 80/114/100 86/123/105 85/119/106 79/111/101
|
||||
f 79/112/101 85/120/106 84/118/107 78/108/102
|
||||
f 78/108/102 84/118/107 83/117/108 77/107/103
|
||||
f 77/107/103 83/117/108 81/115/109 75/105/104
|
||||
f 82/116/18 88/126/20 92/133/110 86/124/105
|
||||
f 86/124/105 92/133/110 91/129/111 85/121/106
|
||||
f 85/122/106 91/130/111 90/128/112 84/118/107
|
||||
f 84/118/107 90/128/112 89/127/113 83/117/108
|
||||
f 83/117/108 89/127/113 87/125/114 81/115/109
|
||||
f 88/126/20 94/136/22 98/143/115 92/134/110
|
||||
f 92/134/110 98/143/115 97/139/116 91/131/111
|
||||
f 91/132/111 97/140/116 96/138/117 90/128/112
|
||||
f 90/128/112 96/138/117 95/137/118 89/127/113
|
||||
f 89/127/113 95/137/118 93/135/119 87/125/114
|
||||
f 94/136/22 100/146/24 104/153/120 98/144/115
|
||||
f 98/144/115 104/153/120 103/149/121 97/141/116
|
||||
f 97/142/116 103/150/121 102/148/122 96/138/117
|
||||
f 96/138/117 102/148/122 101/147/123 95/137/118
|
||||
f 95/137/118 101/147/123 99/145/124 93/135/119
|
||||
f 100/146/24 106/156/26 110/163/125 104/154/120
|
||||
f 104/154/120 110/163/125 109/159/126 103/151/121
|
||||
f 103/152/121 109/160/126 108/158/127 102/148/122
|
||||
f 102/148/122 108/158/127 107/157/128 101/147/123
|
||||
f 101/147/123 107/157/128 105/155/129 99/145/124
|
||||
f 106/156/26 112/166/28 116/173/130 110/164/125
|
||||
f 110/164/125 116/173/130 115/169/131 109/161/126
|
||||
f 109/162/126 115/170/131 114/168/132 108/158/127
|
||||
f 108/158/127 114/168/132 113/167/133 107/157/128
|
||||
f 107/157/128 113/167/133 111/165/134 105/155/129
|
||||
f 112/166/28 118/176/30 122/183/135 116/174/130
|
||||
f 116/174/130 122/183/135 121/179/136 115/171/131
|
||||
f 115/172/131 121/180/136 120/178/137 114/168/132
|
||||
f 114/168/132 120/178/137 119/177/138 113/167/133
|
||||
f 113/167/133 119/177/138 117/175/139 111/165/134
|
||||
f 118/176/30 124/186/32 128/193/140 122/184/135
|
||||
f 122/184/135 128/193/140 127/189/141 121/181/136
|
||||
f 121/182/136 127/190/141 126/188/142 120/178/137
|
||||
f 120/178/137 126/188/142 125/187/143 119/177/138
|
||||
f 119/177/138 125/187/143 123/185/144 117/175/139
|
||||
f 124/186/32 130/196/34 134/203/145 128/194/140
|
||||
f 128/194/140 134/203/145 133/199/146 127/191/141
|
||||
f 127/192/141 133/200/146 132/198/147 126/188/142
|
||||
f 126/188/142 132/198/147 131/197/148 125/187/143
|
||||
f 125/187/143 131/197/148 129/195/149 123/185/144
|
||||
f 130/196/34 136/206/36 140/213/150 134/204/145
|
||||
f 134/204/145 140/213/150 139/209/151 133/201/146
|
||||
f 133/202/146 139/210/151 138/208/152 132/198/147
|
||||
f 132/198/147 138/208/152 137/207/153 131/197/148
|
||||
f 131/197/148 137/207/153 135/205/154 129/195/149
|
||||
f 136/206/36 142/216/38 146/223/155 140/214/150
|
||||
f 140/214/150 146/223/155 145/219/156 139/211/151
|
||||
f 139/212/151 145/220/156 144/218/157 138/208/152
|
||||
f 138/208/152 144/218/157 143/217/158 137/207/153
|
||||
f 137/207/153 143/217/158 141/215/159 135/205/154
|
||||
f 142/216/38 148/226/40 152/233/160 146/224/155
|
||||
f 146/224/155 152/233/160 151/229/161 145/221/156
|
||||
f 145/222/156 151/230/161 150/228/162 144/218/157
|
||||
f 144/218/157 150/228/162 149/227/163 143/217/158
|
||||
f 143/217/158 149/227/163 147/225/164 141/215/159
|
||||
f 148/226/40 154/236/42 158/243/165 152/234/160
|
||||
f 152/234/160 158/243/165 157/239/166 151/231/161
|
||||
f 151/232/161 157/240/166 156/238/167 150/228/162
|
||||
f 150/228/162 156/238/167 155/237/168 149/227/163
|
||||
f 149/227/163 155/237/168 153/235/169 147/225/164
|
||||
f 154/236/42 160/246/44 164/253/170 158/244/165
|
||||
f 158/244/165 164/253/170 163/249/171 157/241/166
|
||||
f 157/242/166 163/250/171 162/248/172 156/238/167
|
||||
f 156/238/167 162/248/172 161/247/173 155/237/168
|
||||
f 155/237/168 161/247/173 159/245/174 153/235/169
|
||||
f 160/246/44 166/256/46 170/263/175 164/254/170
|
||||
f 164/254/170 170/263/175 169/259/176 163/251/171
|
||||
f 163/252/171 169/260/176 168/258/177 162/248/172
|
||||
f 162/248/172 168/258/177 167/257/178 161/247/173
|
||||
f 161/247/173 167/257/178 165/255/179 159/245/174
|
||||
f 166/256/46 172/266/48 176/273/180 170/264/175
|
||||
f 170/264/175 176/273/180 175/269/181 169/261/176
|
||||
f 169/262/176 175/270/181 174/268/182 168/258/177
|
||||
f 168/258/177 174/268/182 173/267/183 167/257/178
|
||||
f 167/257/178 173/267/183 171/265/184 165/255/179
|
||||
f 172/266/48 178/276/50 182/283/185 176/274/180
|
||||
f 176/274/180 182/283/185 181/279/186 175/271/181
|
||||
f 175/272/181 181/280/186 180/278/187 174/268/182
|
||||
f 174/268/182 180/278/187 179/277/188 173/267/183
|
||||
f 173/267/183 179/277/188 177/275/189 171/265/184
|
||||
f 178/276/50 184/286/52 188/293/190 182/284/185
|
||||
f 182/284/185 188/293/190 187/289/191 181/281/186
|
||||
f 181/282/186 187/290/191 186/288/192 180/278/187
|
||||
f 180/278/187 186/288/192 185/287/193 179/277/188
|
||||
f 179/277/188 185/287/193 183/285/194 177/275/189
|
||||
f 184/286/52 190/296/54 194/303/195 188/294/190
|
||||
f 188/294/190 194/303/195 193/299/196 187/291/191
|
||||
f 187/292/191 193/300/196 192/298/197 186/288/192
|
||||
f 186/288/192 192/298/197 191/297/198 185/287/193
|
||||
f 185/287/193 191/297/198 189/295/199 183/285/194
|
||||
f 190/296/54 196/306/56 200/313/200 194/304/195
|
||||
f 194/304/195 200/313/200 199/309/201 193/301/196
|
||||
f 193/302/196 199/310/201 198/308/202 192/298/197
|
||||
f 192/298/197 198/308/202 197/307/203 191/297/198
|
||||
f 191/297/198 197/307/203 195/305/204 189/295/199
|
||||
f 196/306/56 202/316/58 206/323/205 200/314/200
|
||||
f 200/314/200 206/323/205 205/319/206 199/311/201
|
||||
f 199/312/201 205/320/206 204/318/207 198/308/202
|
||||
f 198/308/202 204/318/207 203/317/208 197/307/203
|
||||
f 197/307/203 203/317/208 201/315/209 195/305/204
|
||||
f 202/316/58 208/326/60 212/333/210 206/324/205
|
||||
f 206/324/205 212/333/210 211/329/211 205/321/206
|
||||
f 205/322/206 211/330/211 210/328/212 204/318/207
|
||||
f 204/318/207 210/328/212 209/327/213 203/317/208
|
||||
f 203/317/208 209/327/213 207/325/214 201/315/209
|
||||
f 208/326/60 214/336/62 218/343/215 212/334/210
|
||||
f 212/334/210 218/343/215 217/339/216 211/331/211
|
||||
f 211/332/211 217/340/216 216/338/217 210/328/212
|
||||
f 210/328/212 216/338/217 215/337/218 209/327/213
|
||||
f 209/327/213 215/337/218 213/335/219 207/325/214
|
||||
f 214/336/62 220/346/1 224/353/220 218/344/215
|
||||
f 218/344/215 224/353/220 223/349/221 217/341/216
|
||||
f 217/342/216 223/350/221 222/348/222 216/338/217
|
||||
f 216/338/217 222/348/222 221/347/223 215/337/218
|
||||
f 215/337/218 221/347/223 219/345/224 213/335/219
|
||||
f 220/346/1 34/36/4 38/44/66 224/354/220
|
||||
f 224/354/220 38/44/66 37/41/68 223/351/221
|
||||
f 223/352/221 37/42/68 36/38/70 222/348/222
|
||||
f 222/348/222 36/38/70 35/37/72 221/347/223
|
||||
f 221/347/223 35/37/72 33/34/74 219/345/224
|
||||
f 33/34/74 39/45/73 45/55/79 51/65/84 57/75/89 63/85/94 69/95/99 75/105/104 81/115/109 87/125/114 93/135/119 99/145/124 105/155/129 111/165/134 117/175/139 123/185/144 129/195/149 135/205/154 141/215/159 147/225/164 153/235/169 159/245/174 165/255/179 171/265/184 177/275/189 183/285/194 189/295/199 195/305/204 201/315/209 207/325/214 213/335/219 219/345/224
|
||||
@@ -0,0 +1,25 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://r33dd86y85gd"
|
||||
path="res://.godot/imported/room_mesh.obj-18d913e73e4e90b43bdd3c53e3711fe4.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/room_mesh.obj-18d913e73e4e90b43bdd3c53e3711fe4.mesh"]
|
||||
|
||||
source_file="res://addons/gdquest_model_viewer_3d/viewer/assets/meshes/room_mesh.obj"
|
||||
dest_files=["res://.godot/imported/room_mesh.obj-18d913e73e4e90b43bdd3c53e3711fe4.mesh", "res://.godot/imported/room_mesh.obj-18d913e73e4e90b43bdd3c53e3711fe4.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
generate_lods=true
|
||||
generate_shadow_mesh=true
|
||||
generate_lightmap_uv2=false
|
||||
generate_lightmap_uv2_texel_size=0.2
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
force_disable_mesh_compression=false
|
||||
@@ -0,0 +1,20 @@
|
||||
shader_type spatial;
|
||||
render_mode unshaded;
|
||||
|
||||
uniform sampler2D logo_sampler_sdf : repeat_disable;
|
||||
uniform float logo_scale = 1.0;
|
||||
uniform float logo_opacity = 0.1;
|
||||
uniform vec3 border_color : source_color = vec3(0.0);
|
||||
uniform vec3 center_color : source_color = vec3(0.08);
|
||||
uniform vec2 ratio = vec2(1.0);
|
||||
const float logo_ratio = 1312.0 / 404.0;
|
||||
|
||||
void vertex() {
|
||||
MODELVIEW_MATRIX = VIEW_MATRIX * mat4(INV_VIEW_MATRIX[0], INV_VIEW_MATRIX[1], INV_VIEW_MATRIX[2], MODEL_MATRIX[3]);
|
||||
MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX);
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
ALBEDO = vec3(mix(center_color, border_color, distance(vec2(0.5), UV)));
|
||||
ALBEDO += smoothstep(0.45,0.5,texture(logo_sampler_sdf, ((UV - vec2(0.5, 0.2)) * vec2(1.0, logo_ratio) * ratio) * logo_scale + 0.5).a) * logo_opacity;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cxb875k3l7iyn
|
||||
@@ -0,0 +1,16 @@
|
||||
shader_type spatial;
|
||||
render_mode unshaded;
|
||||
|
||||
uniform vec3 grid_color : source_color = vec3(0.0);
|
||||
uniform float grid_opacity = 0.1;
|
||||
|
||||
float grid(vec2 st, float res)
|
||||
{
|
||||
vec2 grid = fract(st*res);
|
||||
return (step(0.015,grid.x) * step(0.015,grid.y));
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
ALPHA = (1.0 - grid(UV, 10.0)) * smoothstep(0.5, 0.0, distance(vec2(0.5), UV)) * grid_opacity;
|
||||
ALBEDO = grid_color;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cmu4l7tiy7ipg
|
||||
@@ -0,0 +1,5 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
COLOR.a *= smoothstep(0.5, 0.49, distance(vec2(0.5), UV));
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cjhwwbt4lmm4r
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 188 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b3hg20sllwpo"
|
||||
path="res://.godot/imported/down_arrow_icon.png-ee822e47dcdd8783867f4b716f93a980.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdquest_model_viewer_3d/viewer/assets/textures/down_arrow_icon.png"
|
||||
dest_files=["res://.godot/imported/down_arrow_icon.png-ee822e47dcdd8783867f4b716f93a980.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 208 KiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bcls3ehldqget"
|
||||
path.s3tc="res://.godot/imported/gdquest_logo_sdf.png-98b2400d807abafebce1b06ba77b3333.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdquest_model_viewer_3d/viewer/assets/textures/gdquest_logo_sdf.png"
|
||||
dest_files=["res://.godot/imported/gdquest_logo_sdf.png-98b2400d807abafebce1b06ba77b3333.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
@@ -0,0 +1,91 @@
|
||||
[gd_resource type="Theme" format=3 uid="uid://dioqrbukc6tl0"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b3hg20sllwpo" path="res://addons/gdquest_model_viewer_3d/viewer/assets/textures/down_arrow_icon.png" id="1_8g03f"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_aa11v"]
|
||||
content_margin_left = 4.0
|
||||
content_margin_top = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_bottom = 4.0
|
||||
bg_color = Color(0, 0, 0, 0.901961)
|
||||
corner_radius_top_left = 4
|
||||
corner_radius_top_right = 4
|
||||
corner_radius_bottom_right = 4
|
||||
corner_radius_bottom_left = 4
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4wrdr"]
|
||||
content_margin_left = 12.0
|
||||
content_margin_top = 8.0
|
||||
content_margin_right = 12.0
|
||||
content_margin_bottom = 8.0
|
||||
bg_color = Color(0, 0, 0, 0.901961)
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xvkoa"]
|
||||
content_margin_left = 12.0
|
||||
content_margin_top = 8.0
|
||||
content_margin_right = 12.0
|
||||
content_margin_bottom = 8.0
|
||||
bg_color = Color(0, 0, 0, 0.901961)
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_txpvc"]
|
||||
content_margin_left = 12.0
|
||||
content_margin_top = 8.0
|
||||
content_margin_right = 12.0
|
||||
content_margin_bottom = 8.0
|
||||
bg_color = Color(0, 0, 0, 0.901961)
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cdvkf"]
|
||||
content_margin_left = 12.0
|
||||
content_margin_top = 8.0
|
||||
content_margin_right = 12.0
|
||||
content_margin_bottom = 8.0
|
||||
bg_color = Color(0, 0, 0, 0.9019608)
|
||||
border_width_left = 2
|
||||
border_width_top = 2
|
||||
border_width_right = 2
|
||||
border_width_bottom = 2
|
||||
border_color = Color(0.175, 0.175, 0.175, 1)
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yvg6q"]
|
||||
content_margin_left = 4.0
|
||||
content_margin_top = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_bottom = 4.0
|
||||
bg_color = Color(0, 0, 0, 0.901961)
|
||||
corner_radius_top_left = 4
|
||||
corner_radius_top_right = 4
|
||||
corner_radius_bottom_right = 4
|
||||
corner_radius_bottom_left = 4
|
||||
|
||||
[resource]
|
||||
HBoxContainer/constants/separation = 8
|
||||
HSlider/styles/slider = SubResource("StyleBoxFlat_aa11v")
|
||||
MarginContainer/constants/margin_bottom = 8
|
||||
MarginContainer/constants/margin_left = 8
|
||||
MarginContainer/constants/margin_right = 8
|
||||
MarginContainer/constants/margin_top = 8
|
||||
OptionButton/constants/arrow_margin = 8
|
||||
OptionButton/icons/arrow = ExtResource("1_8g03f")
|
||||
OptionButton/styles/focus = SubResource("StyleBoxFlat_4wrdr")
|
||||
OptionButton/styles/hover = SubResource("StyleBoxFlat_4wrdr")
|
||||
OptionButton/styles/normal = SubResource("StyleBoxFlat_xvkoa")
|
||||
OptionButton/styles/pressed = SubResource("StyleBoxFlat_txpvc")
|
||||
PopupMenu/styles/panel = SubResource("StyleBoxFlat_cdvkf")
|
||||
VBoxContainer/constants/separation = 8
|
||||
VScrollBar/styles/scroll = SubResource("StyleBoxFlat_yvg6q")
|
||||
@@ -0,0 +1,44 @@
|
||||
extends Resource
|
||||
|
||||
class_name ModelData
|
||||
|
||||
const OptionSetterListData = preload("./option_list_data_builder.gd")
|
||||
|
||||
@export_group("Model Info")
|
||||
|
||||
@export var name: String = ""
|
||||
@export_file var scene_path: String = ""
|
||||
var scene: PackedScene
|
||||
@export var vignette: Texture
|
||||
@export var y_offset := 0.0
|
||||
@export var scale_compensation := 1.0
|
||||
@export var camera_offset_y := 0.5
|
||||
|
||||
@export_group("Parameters")
|
||||
# Animation list:
|
||||
# Name: Displayed Value: called
|
||||
@export var animations_list: PackedStringArray:
|
||||
get = _get_animations
|
||||
@export var range_bind: PackedStringArray:
|
||||
get = _get_ranges
|
||||
@export var dropdown_bind: Array[OptionSetterListData]
|
||||
|
||||
|
||||
func _get_options(options_index: int) -> Array[Dictionary]:
|
||||
return _array_string_to_dict(dropdown_bind[options_index].options_values)
|
||||
|
||||
|
||||
func _get_animations() -> Array[Dictionary]:
|
||||
return _array_string_to_dict(animations_list)
|
||||
|
||||
|
||||
func _get_ranges() -> Array[Dictionary]:
|
||||
return _array_string_to_dict(range_bind)
|
||||
|
||||
|
||||
func _array_string_to_dict(source_array: PackedStringArray) -> Array[Dictionary]:
|
||||
var result: Array[Dictionary] = []
|
||||
for text in source_array:
|
||||
var s = text.split(":")
|
||||
result.append({ "name": s[0], "value": s[1] })
|
||||
return result
|
||||
@@ -0,0 +1 @@
|
||||
uid://cieem5bgp44xo
|
||||
@@ -0,0 +1,106 @@
|
||||
extends Node
|
||||
|
||||
const ModelSelector = preload("./ui/model_selector/model_selector.gd")
|
||||
|
||||
@export var known_models: Array[ModelData]
|
||||
@onready var model_selector: ModelSelector = %ModelSelector
|
||||
@onready var animation_selector: OptionButton = %AnimationSelector
|
||||
@onready var turner: Node3D = %Turner
|
||||
@onready var parameters: MarginContainer = %Parameters
|
||||
@onready var model_holder: Node3D = %ModelHolder
|
||||
|
||||
var current_model: Node3D = null
|
||||
var current_animations := []
|
||||
var current_range_values := []
|
||||
var dropdown_list := []
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
for model_data in known_models:
|
||||
model_data.scene = load(model_data.scene_path)
|
||||
model_selector.setup(known_models)
|
||||
set_model(known_models[0])
|
||||
animation_selector.item_selected.connect(
|
||||
func(item_index: int) -> void:
|
||||
call_method(current_animations[item_index].value)
|
||||
)
|
||||
model_selector.selection_changed.connect(_on_model_selection)
|
||||
|
||||
|
||||
func _on_model_selection(value: int) -> void:
|
||||
set_model(known_models[value])
|
||||
|
||||
|
||||
func set_model(model_data: ModelData) -> void:
|
||||
# Check if a model is already displayed
|
||||
if current_model != null:
|
||||
# Purge Model Holder
|
||||
for child in model_holder.get_children():
|
||||
child.queue_free()
|
||||
await get_tree().process_frame
|
||||
|
||||
# Set the new current model node
|
||||
current_model = model_data.scene.instantiate()
|
||||
# Set a model wrapper and put the model in it
|
||||
var base_scale := Vector3.ONE * model_data.scale_compensation
|
||||
var wrapper = Node3D.new()
|
||||
wrapper.position.y = model_data.y_offset
|
||||
wrapper.scale = base_scale * 0.8
|
||||
wrapper.add_child(current_model)
|
||||
model_holder.add_child(wrapper)
|
||||
|
||||
var t = create_tween().set_parallel(true)
|
||||
t.tween_property(turner, "position:y", model_data.camera_offset_y, 0.2)
|
||||
t.tween_property(wrapper, "scale", base_scale, 0.2)
|
||||
|
||||
# Set animations
|
||||
animation_selector.hide()
|
||||
current_animations = model_data.animations_list
|
||||
if current_animations.size() != 0:
|
||||
var method_names = current_animations.map(func(m: Dictionary) -> String: return m.name)
|
||||
animation_selector.setup(method_names)
|
||||
animation_selector.show()
|
||||
call_method(current_animations[0].value)
|
||||
|
||||
# Check if the parameters panel already show something, remove the children if so.
|
||||
if parameters.has_childrens():
|
||||
parameters.clear()
|
||||
|
||||
# Ranges
|
||||
current_range_values = model_data.range_bind
|
||||
if current_range_values.size() != 0:
|
||||
for range_index in current_range_values.size():
|
||||
var slider: HSlider = parameters.add_slider(current_range_values[range_index].name)
|
||||
slider.value_changed.connect(
|
||||
func(value: float) -> void:
|
||||
set_variable(current_range_values[range_index].value, remap(value, 0, 100, 0, 1))
|
||||
)
|
||||
# Dropdown
|
||||
dropdown_list = []
|
||||
for option_setter_index in model_data.dropdown_bind.size():
|
||||
var setter := model_data.dropdown_bind[option_setter_index]
|
||||
var options := model_data._get_options(option_setter_index)
|
||||
var options_names := options.map(func(m: Dictionary) -> String: return m.name)
|
||||
dropdown_list.append(
|
||||
{
|
||||
"bind_variable": setter.bind_name,
|
||||
"options": options,
|
||||
},
|
||||
)
|
||||
var option_button: OptionButton = parameters.add_options(setter.list_name, options_names)
|
||||
option_button.item_selected.connect(
|
||||
func(dropdown_choice_index: int) -> void:
|
||||
var v_value = dropdown_list[option_setter_index].options[dropdown_choice_index].value
|
||||
if setter.mode == setter.MODE.SET:
|
||||
set_variable(setter.bind_name, v_value)
|
||||
elif setter.mode == setter.MODE.CALL:
|
||||
current_model.call(setter.bind_name, v_value)
|
||||
)
|
||||
|
||||
|
||||
func call_method(method_name: String) -> void:
|
||||
current_model.call(method_name)
|
||||
|
||||
|
||||
func set_variable(variable_name: String, new_value: Variant) -> void:
|
||||
current_model.set(variable_name, new_value)
|
||||
@@ -0,0 +1 @@
|
||||
uid://bijckwsxrp35q
|
||||
@@ -0,0 +1,139 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://birqyoesacalq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bijckwsxrp35q" path="res://addons/gdquest_model_viewer_3d/viewer/model_viewer_3d.gd" id="1_3jhs4"]
|
||||
[ext_resource type="Shader" uid="uid://cmu4l7tiy7ipg" path="res://addons/gdquest_model_viewer_3d/viewer/assets/shaders/ground.gdshader" id="6_s8bys"]
|
||||
[ext_resource type="Script" uid="uid://dku3luw8maxcb" path="res://addons/gdquest_model_viewer_3d/viewer/turner.gd" id="7_0tn27"]
|
||||
[ext_resource type="Material" uid="uid://cqdapslfy1rva" path="res://addons/gdquest_model_viewer_3d/viewer/assets/materials/background_mat.tres" id="8_nxs1c"]
|
||||
[ext_resource type="PackedScene" uid="uid://cj6led5eh25bo" path="res://addons/gdquest_model_viewer_3d/viewer/ui/model_selector/model_selector.tscn" id="9_yvaan"]
|
||||
[ext_resource type="Theme" uid="uid://dioqrbukc6tl0" path="res://addons/gdquest_model_viewer_3d/viewer/main_theme.tres" id="10_l4eat"]
|
||||
[ext_resource type="Script" uid="uid://b3iqdl3p46v67" path="res://addons/gdquest_model_viewer_3d/viewer/animation_selector.gd" id="10_ylcjv"]
|
||||
[ext_resource type="Script" uid="uid://c64vs8kud8f6g" path="res://addons/gdquest_model_viewer_3d/viewer/parameters.gd" id="11_rc064"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_4cejc"]
|
||||
ground_horizon_color = Color(0.898039, 0.898039, 0.905882, 1)
|
||||
|
||||
[sub_resource type="Sky" id="Sky_fa2m7"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_4cejc")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_cw67r"]
|
||||
background_mode = 1
|
||||
background_color = Color(0.105882, 0.105882, 0.105882, 1)
|
||||
sky = SubResource("Sky_fa2m7")
|
||||
ambient_light_source = 2
|
||||
ambient_light_color = Color(0.52549, 0.52549, 0.52549, 1)
|
||||
tonemap_mode = 2
|
||||
tonemap_exposure = 1.1
|
||||
tonemap_white = 0.9
|
||||
ssao_enabled = true
|
||||
glow_enabled = true
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_25vcg"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("6_s8bys")
|
||||
shader_parameter/grid_color = Color(0.764706, 0.815686, 0.878431, 1)
|
||||
shader_parameter/grid_opacity = 0.025
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_pcsvn"]
|
||||
size = Vector2(4, 4)
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_purc5"]
|
||||
size = Vector2(2, 1)
|
||||
|
||||
[node name="Main" type="Node"]
|
||||
script = ExtResource("1_3jhs4")
|
||||
|
||||
[node name="TopLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="UI" type="Control" parent="TopLayer"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
theme = ExtResource("10_l4eat")
|
||||
|
||||
[node name="ModelSelector" parent="TopLayer/UI" instance=ExtResource("9_yvaan")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
|
||||
[node name="AnimationSelector" type="OptionButton" parent="TopLayer/UI"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
layout_mode = 1
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -41.0
|
||||
offset_top = -87.0
|
||||
offset_right = 41.0
|
||||
offset_bottom = -56.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
script = ExtResource("10_ylcjv")
|
||||
|
||||
[node name="Parameters" type="MarginContainer" parent="TopLayer/UI"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -345.0
|
||||
offset_top = -148.0
|
||||
offset_right = -32.0
|
||||
offset_bottom = -56.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
script = ExtResource("11_rc064")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="TopLayer/UI/Parameters"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
alignment = 2
|
||||
|
||||
[node name="World" type="Node3D" parent="."]
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="World"]
|
||||
environment = SubResource("Environment_cw67r")
|
||||
|
||||
[node name="Ground" type="MeshInstance3D" parent="World"]
|
||||
material_override = SubResource("ShaderMaterial_25vcg")
|
||||
mesh = SubResource("PlaneMesh_pcsvn")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="Turner" type="Node3D" parent="World"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.906308, 0.0368336, -0.42101, 0, 0.996195, 0.0871557, 0.422618, -0.0789899, 0.902859, 0, 0.6, 0)
|
||||
script = ExtResource("7_0tn27")
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="World/Turner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.5)
|
||||
fov = 60.0
|
||||
|
||||
[node name="BackgroundPlane" type="MeshInstance3D" parent="World/Turner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -5)
|
||||
material_override = ExtResource("8_nxs1c")
|
||||
cast_shadow = 0
|
||||
mesh = SubResource("QuadMesh_purc5")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="FrontLight" type="DirectionalLight3D" parent="World/Turner"]
|
||||
transform = Transform3D(0.707107, -0.298836, 0.640856, -1.49012e-08, 0.906308, 0.422618, -0.707107, -0.298836, 0.640856, 0, -0.609801, 1.49012e-08)
|
||||
light_energy = 0.65
|
||||
shadow_enabled = true
|
||||
directional_shadow_max_distance = 20.0
|
||||
directional_shadow_pancake_size = 0.0
|
||||
|
||||
[node name="BackLight" type="OmniLight3D" parent="World/Turner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.653888, 0, -0.722009)
|
||||
light_energy = 0.5
|
||||
omni_attenuation = 0.554785
|
||||
|
||||
[node name="ModelHolder" type="Node3D" parent="World"]
|
||||
unique_name_in_owner = true
|
||||
@@ -0,0 +1,8 @@
|
||||
extends Resource
|
||||
|
||||
enum MODE {SET, CALL}
|
||||
|
||||
@export var list_name : String = ""
|
||||
@export var mode : MODE
|
||||
@export var bind_name : String = ""
|
||||
@export var options_values : PackedStringArray
|
||||
@@ -0,0 +1 @@
|
||||
uid://bpk07sgyftnyy
|
||||
@@ -0,0 +1,46 @@
|
||||
extends MarginContainer
|
||||
|
||||
@onready var _v_box = $VBoxContainer
|
||||
|
||||
|
||||
func has_childrens() -> bool:
|
||||
return _v_box.get_child_count() > 0
|
||||
|
||||
|
||||
func clear() -> void:
|
||||
for child in _v_box.get_children():
|
||||
child.queue_free()
|
||||
|
||||
|
||||
func add_slider(tag_name: String) -> HSlider:
|
||||
var slider: HSlider = HSlider.new()
|
||||
|
||||
var tag: Label = Label.new()
|
||||
tag.text = tag_name
|
||||
|
||||
var tag_slider_box: VBoxContainer = VBoxContainer.new()
|
||||
|
||||
tag_slider_box.add_child(tag)
|
||||
tag_slider_box.add_child(slider)
|
||||
|
||||
_v_box.add_child(tag_slider_box)
|
||||
|
||||
return slider
|
||||
|
||||
|
||||
func add_options(tag_name: String, options_list: Array) -> OptionButton:
|
||||
var options_button: OptionButton = OptionButton.new()
|
||||
for option in options_list:
|
||||
options_button.add_item(option)
|
||||
|
||||
var tag: Label = Label.new()
|
||||
tag.text = tag_name
|
||||
|
||||
var tag_option_box: VBoxContainer = VBoxContainer.new()
|
||||
|
||||
tag_option_box.add_child(tag)
|
||||
tag_option_box.add_child(options_button)
|
||||
|
||||
_v_box.add_child(tag_option_box)
|
||||
|
||||
return options_button
|
||||
@@ -0,0 +1 @@
|
||||
uid://c64vs8kud8f6g
|
||||
@@ -0,0 +1,48 @@
|
||||
extends Node3D
|
||||
|
||||
@export var low_angle: float = -5.0
|
||||
@export var high_angle: float = -50.0
|
||||
@export var min_zoom: float = 1.5
|
||||
@export var max_zoom: float = 5.0
|
||||
@onready var _camera = $Camera3D
|
||||
var _is_grabbing = false
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_set_bg_ratio()
|
||||
get_viewport().size_changed.connect(_set_bg_ratio)
|
||||
|
||||
|
||||
func _set_bg_ratio() -> void:
|
||||
var background_plane: MeshInstance3D = $BackgroundPlane
|
||||
var frustum_height = tan(_camera.fov * PI / 180 * 0.5) * (_camera.position.z - background_plane.position.z) * 2
|
||||
var viewport_size = get_viewport().size
|
||||
var ratio = float(viewport_size.x) / float(viewport_size.y)
|
||||
|
||||
background_plane.mesh.size.x = frustum_height * ratio
|
||||
background_plane.mesh.size.y = frustum_height
|
||||
background_plane.material_override.set_shader_parameter("ratio", Vector2(ratio, 1.0))
|
||||
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
var wheel_direction = 0.0
|
||||
if (event is InputEventMouseButton):
|
||||
if event.button_index == MOUSE_BUTTON_LEFT:
|
||||
_is_grabbing = event.pressed
|
||||
if event.pressed:
|
||||
var wheel_up = event.button_index == MOUSE_BUTTON_WHEEL_UP
|
||||
var wheel_down = event.button_index == MOUSE_BUTTON_WHEEL_DOWN
|
||||
wheel_direction = float(wheel_down) - float(wheel_up)
|
||||
|
||||
if wheel_direction != 0:
|
||||
_camera.position.z += wheel_direction * 0.25
|
||||
_camera.position.z = clamp(_camera.position.z, min_zoom, max_zoom)
|
||||
_set_bg_ratio()
|
||||
|
||||
# Check mouse motion
|
||||
if (event is InputEventMouseMotion):
|
||||
if !_is_grabbing:
|
||||
return
|
||||
rotation.y += -event.relative.x * 0.005
|
||||
rotation.x += -event.relative.y * 0.005
|
||||
rotation.x = clamp(rotation.x, deg_to_rad(high_angle), deg_to_rad(low_angle))
|
||||
@@ -0,0 +1 @@
|
||||
uid://dku3luw8maxcb
|
||||
@@ -0,0 +1,20 @@
|
||||
extends Control
|
||||
|
||||
@onready var tag_list = %TagList
|
||||
|
||||
var displayed_items = 3
|
||||
|
||||
signal value_changed(value: int)
|
||||
|
||||
|
||||
func setup() -> void:
|
||||
custom_minimum_size.y = _get_item_height() * displayed_items - (tag_list.get("theme_override_constants/separation") / 2.0)
|
||||
|
||||
for tag in tag_list.get_children():
|
||||
tag.pivot_offset.y = tag.size.y / 2
|
||||
|
||||
|
||||
func _get_item_height() -> float:
|
||||
var box_sep: int = tag_list.get("theme_override_constants/separation")
|
||||
var tag_height: float = tag_list.get_child(0).size.y
|
||||
return (tag_height + box_sep)
|
||||
@@ -0,0 +1 @@
|
||||
uid://s6pt8fqmklcm
|
||||
@@ -0,0 +1,52 @@
|
||||
extends VBoxContainer
|
||||
|
||||
signal selection_changed(value: int)
|
||||
|
||||
@onready var tag_list = %TagList
|
||||
@onready var model_tag = %ModelTag
|
||||
@onready var scroll_container = %ScrollContainer
|
||||
@export var model_tag_scene: PackedScene
|
||||
|
||||
var selection := 0:
|
||||
set = set_selection
|
||||
var model_list: Array[ModelData]
|
||||
|
||||
var _is_open = false:
|
||||
set = _set_is_open
|
||||
|
||||
|
||||
func setup(new_model_list: Array[ModelData]) -> void:
|
||||
model_list = new_model_list
|
||||
model_tag.tag_name = model_list[0].name
|
||||
model_tag.icon_texture = model_list[0].vignette
|
||||
for model_index in model_list.size():
|
||||
var model: ModelData = model_list[model_index]
|
||||
var tag = model_tag_scene.instantiate()
|
||||
tag.tag_name = model.name
|
||||
tag.icon_texture = model.vignette
|
||||
tag.pressed.connect(set_selection.bind(model_index))
|
||||
tag_list.add_child(tag)
|
||||
|
||||
await get_tree().process_frame
|
||||
tag_list.position.y = 0.0
|
||||
scroll_container.setup()
|
||||
_set_is_open(false)
|
||||
|
||||
|
||||
func set_selection(index: int) -> void:
|
||||
if selection == index or selection < 0 or selection >= model_list.size():
|
||||
return
|
||||
selection = index
|
||||
_set_is_open(false)
|
||||
model_tag.tag_name = model_list[index].name
|
||||
model_tag.icon_texture = model_list[index].vignette
|
||||
selection_changed.emit(index)
|
||||
|
||||
|
||||
func _on_model_tag_pressed() -> void:
|
||||
_set_is_open(!_is_open)
|
||||
|
||||
|
||||
func _set_is_open(value: bool) -> void:
|
||||
_is_open = value
|
||||
scroll_container.visible = _is_open
|
||||
@@ -0,0 +1 @@
|
||||
uid://b2mu4wa0kab1a
|
||||
@@ -0,0 +1,41 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://cj6led5eh25bo"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2mu4wa0kab1a" path="res://addons/gdquest_model_viewer_3d/viewer/ui/model_selector/model_selector.gd" id="1_8owei"]
|
||||
[ext_resource type="PackedScene" uid="uid://bfs31qyude6h2" path="res://addons/gdquest_model_viewer_3d/viewer/ui/model_selector/model_tag.tscn" id="2_botqh"]
|
||||
[ext_resource type="Script" uid="uid://s6pt8fqmklcm" path="res://addons/gdquest_model_viewer_3d/viewer/ui/model_selector/bubble_scroll.gd" id="3_8hjj3"]
|
||||
|
||||
[sub_resource type="Theme" id="Theme_b1ojb"]
|
||||
|
||||
[node name="ModelSelector" type="VBoxContainer"]
|
||||
clip_contents = true
|
||||
anchors_preset = 2
|
||||
anchor_top = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 32.0
|
||||
offset_top = -132.0
|
||||
offset_right = 233.0
|
||||
offset_bottom = -32.0
|
||||
grow_vertical = 0
|
||||
mouse_force_pass_scroll_events = false
|
||||
alignment = 2
|
||||
script = ExtResource("1_8owei")
|
||||
model_tag_scene = ExtResource("2_botqh")
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme = SubResource("Theme_b1ojb")
|
||||
script = ExtResource("3_8hjj3")
|
||||
|
||||
[node name="TagList" type="VBoxContainer" parent="ScrollContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
mouse_filter = 0
|
||||
theme_override_constants/separation = 8
|
||||
|
||||
[node name="ModelTag" parent="." instance=ExtResource("2_botqh")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[connection signal="pressed" from="ModelTag" to="." method="_on_model_tag_pressed"]
|
||||
@@ -0,0 +1,24 @@
|
||||
extends PanelContainer
|
||||
|
||||
signal pressed
|
||||
|
||||
@export var tag_name: String:
|
||||
set = _set_label
|
||||
@export var icon_texture: Texture:
|
||||
set = _set_icon
|
||||
|
||||
|
||||
func _set_label(value: String) -> void:
|
||||
var label = $MarginContainer/Item/Label
|
||||
label.text = value
|
||||
|
||||
|
||||
func _set_icon(value: Texture) -> void:
|
||||
var icon = $MarginContainer/Item/Icon
|
||||
icon.texture = value
|
||||
|
||||
|
||||
func _gui_input(event: InputEvent) -> void:
|
||||
if event is InputEventMouseButton:
|
||||
if event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
|
||||
pressed.emit()
|
||||
@@ -0,0 +1 @@
|
||||
uid://fjjqhq0cww4g
|
||||
@@ -0,0 +1,48 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://bfs31qyude6h2"]
|
||||
|
||||
[ext_resource type="Shader" path="res://addons/gdquest_model_viewer_3d/viewer/assets/shaders/icon.gdshader" id="1_mtufu"]
|
||||
[ext_resource type="Script" path="res://addons/gdquest_model_viewer_3d/viewer/ui/model_selector/model_tag.gd" id="1_xy4n0"]
|
||||
[ext_resource type="Texture2D" uid="uid://ya08nse1qni2" path="res://character_icon.png" id="3_vur6e"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_chjiq"]
|
||||
bg_color = Color(0, 0, 0, 1)
|
||||
corner_radius_top_left = 62
|
||||
corner_radius_top_right = 62
|
||||
corner_radius_bottom_right = 62
|
||||
corner_radius_bottom_left = 62
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fsaak"]
|
||||
shader = ExtResource("1_mtufu")
|
||||
|
||||
[node name="ModelTag" type="PanelContainer"]
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_chjiq")
|
||||
script = ExtResource("1_xy4n0")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
theme_override_constants/margin_left = 12
|
||||
theme_override_constants/margin_top = 12
|
||||
theme_override_constants/margin_right = 12
|
||||
theme_override_constants/margin_bottom = 12
|
||||
|
||||
[node name="Item" type="HBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="Icon" type="TextureRect" parent="MarginContainer/Item"]
|
||||
texture_filter = 4
|
||||
material = SubResource("ShaderMaterial_fsaak")
|
||||
custom_minimum_size = Vector2(64, 64)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("3_vur6e")
|
||||
expand_mode = 1
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/Item"]
|
||||
layout_mode = 2
|
||||
text = "Model name"
|
||||
Reference in New Issue
Block a user