Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Ivmi-Builder
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Damien Marchal
Ivmi-Builder
Commits
01404384
Commit
01404384
authored
1 year ago
by
Florent Berthaut
Browse files
Options
Downloads
Patches
Plain Diff
Fix cursor
parent
f82f2309
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
core/IvmiScene.gd
+15
-82
15 additions, 82 deletions
core/IvmiScene.gd
techniques/manipulation/Cursor.gd
+4
-4
4 additions, 4 deletions
techniques/manipulation/Cursor.gd
with
19 additions
and
86 deletions
core/IvmiScene.gd
+
15
−
82
View file @
01404384
...
...
@@ -23,29 +23,22 @@ var _output_buffer
var
_buffer_size
=
64
var
phase
=
0
@
export
var
_debug_osc
:
bool
=
false
#XR variables
@
export_group
(
"XR"
)
enum
XRMode
{
Mono
,
OpenXR
}
@
export
var
_xr_mode
:
XRMode
=
XRMode
.
OpenXR
@
export
var
_open_xr_passthrough
:
bool
=
false
@
export_group
(
"ScreenVR"
)
enum
VRMode
{
SplitHorizontal
,
SplitVertical
,
Anaglyph
,
QuadBuffer
}
@
export
var
_screen_vr_mode
:
VRMode
=
VRMode
.
SplitHorizontal
@
export
var
_screen_vr_iod
=
0.06
:
set
=
set_screen_vr_iod
@
export
var
_screen_vr_head_position
=
Vector3
(
0
,
0
,
3
)
:
set
=
set_screen_vr_head_position
@
export
var
_screen_vr_screen_size
=
Vector2
(
3
,
2
)
:
set
=
set_screen_vr_screen_size
@
export
var
_screen_vr_window_size
=
Vector2
(
1024
,
600
)
:
set
=
set_screen_vr_window_size
@
export
var
_screen_vr_window_position
=
Vector2
(
640
,
480
)
:
set
=
set_screen_vr_window_position
var
_xr_interface
:
XRInterface
=
null
var
_config
# Network variables
@
export_group
(
"Network"
)
enum
NetMode
{
None
,
Peer
,
Client
,
Server
}
@
export
var
_network_mode
:
NetMode
=
NetMode
.
None
enum
NetProto
{
Enet
,
WebRTC
}
@
export
var
_network_protocol
:
NetProto
=
NetProto
.
Enet
enum
NetProto
{
Enet
}
var
_network_protocol
:
NetProto
=
NetProto
.
Enet
var
_client_name
=
""
var
_is_connected
=
false
@
export
var
_server_ip
=
"127.0.0.1"
:
set
=
set_server_ip
...
...
@@ -66,8 +59,6 @@ var _recording_time = 0
var
_recording_index
=
0
@
export
var
_debug_osc
:
bool
=
false
var
_is_2D
:
bool
=
true
var
_ivmi_node
=
load
(
"res://addons/ivmi-builder/core/IvmiNode.gd"
)
...
...
@@ -104,30 +95,12 @@ func _ready():
print
(
"Error : Could not activate OpenXR Passthrough"
)
else
:
print
(
"Error : Could not initialize OpenXR interface"
)
# XRMode.ScreenVr:
# XRServer.add_interface(Gd4ScreenVR.new())
# _config = XRServer.find_interface("Gd4ScreenVR")
# if _config and _config.initialize():
# #get_viewport().arvr = true
# #get_viewport().use_xr = true
# #_config = load("res://addons/gdscreenvr/ScreenVRConfig.gdns").new()
# _config.set_intraocular_dist(_screen_vr_iod)
# _config.set_stereo_mode(_screen_vr_mode+1)
# _config.set_head_pos(_screen_vr_head_position)
# _config.set_screen_size(_screen_vr_screen_size)
# _config.set_window_size(_screen_vr_window_size)
# _config.set_window_position(_screen_vr_window_position)
# print("IVMI : Initialised ScreenVR Interface")
# else:
# print("Error : Could not activate ScreenVR")
# pass
# PureData mode
if
_pd_mode
==
PdMode
.
LIBPD
:
var
gdpd_dir
=
FileAccess
var
exists
=
gdpd_dir
.
dir_exists
(
"res://addons/gdpd"
)
if
exists
:
_gdpd
=
load
(
"res://addons/gdpd/bin/gdpd.gdns"
)
.
new
()
var
gdpdir
=
DirAccess
.
open
(
"res://addons/gdpd"
)
if
gdpdir
:
_gdpd
=
load
(
"res://addons/gdpd/gdpd.gdextension"
)
.
new
()
add_child
(
_gdpd
)
_input_buffer
=
PackedVector2Array
()
_input_buffer
.
resize
(
_buffer_size
)
...
...
@@ -233,17 +206,14 @@ func _process(delta) :
func
_on_found_server
(
server_ip
,
port
)
:
match
_network_protocol
:
NetProto
.
WebRTC
:
#_network_client.connect_to_server(server_ip, port)
pass
NetProto
.
Enet
:
if
!
_is_connected
or
_server_ip
!=
server_ip
:
print
(
"IVMI : Connecting to server "
,
server_ip
,
" "
,
port
)
var
peer
=
ENetMultiplayerPeer
.
new
()
_server_ip
=
server_ip
peer
.
create_client
(
server_ip
,
port
)
multiplayer
.
multiplayer_peer
=
peer
multiplayer
.
connected_to_server
.
connect
(
_on_network_ready
)
NetProto
.
Enet
:
if
!
_is_connected
or
_server_ip
!=
server_ip
:
print
(
"IVMI : Connecting to server "
,
server_ip
,
" "
,
port
)
var
peer
=
ENetMultiplayerPeer
.
new
()
_server_ip
=
server_ip
peer
.
create_client
(
server_ip
,
port
)
multiplayer
.
multiplayer_peer
=
peer
multiplayer
.
connected_to_server
.
connect
(
_on_network_ready
)
func
_on_timeout
()
:
...
...
@@ -253,11 +223,6 @@ func _on_timeout() :
_network_mode
=
NetMode
.
Server
_network_discov
.
set_server
(
_server_port
)
match
_network_protocol
:
NetProto
.
WebRTC
:
_network_server
=
IvmiServer
.
new
()
_network_server
.
_port
=
_server_port
add_child
(
_network_server
)
_on_found_server
(
"127.0.0.1"
,
_server_port
)
NetProto
.
Enet
:
var
peer
=
ENetMultiplayerPeer
.
new
()
peer
.
create_server
(
_server_port
)
...
...
@@ -406,38 +371,6 @@ func get_xr_mode():
func
is_2D
()
:
return
_is_2D
func
set_screen_vr_iod
(
iod
)
:
_screen_vr_iod
=
iod
if
is_inside_tree
():
_config
.
set_intraocular_dist
(
_screen_vr_iod
)
func
set_screen_vr_head_position
(
pos
)
:
_screen_vr_head_position
=
pos
if
is_inside_tree
():
_config
.
set_head_pos
(
_screen_vr_head_position
)
func
set_screen_vr_screen_size
(
size
)
:
_screen_vr_screen_size
=
size
if
is_inside_tree
():
_config
.
set_screen_size
(
_screen_vr_screen_size
)
func
set_screen_vr_window_size
(
size
)
:
_screen_vr_window_size
=
size
if
is_inside_tree
():
_config
.
set_window_size
(
_screen_vr_window_size
)
func
set_screen_vr_window_position
(
pos
)
:
_screen_vr_window_position
=
pos
if
is_inside_tree
():
_config
.
set_window_position
(
_screen_vr_window_position
)
func
set_screen_vr_stereo_images
(
imgL
,
imgR
)
:
if
is_inside_tree
():
if
imgL
!=
null
:
_config
.
set_stereo_images
(
imgL
,
imgR
)
else
:
_config
.
unset_stereo_images
()
func
vector3_to_array
(
vec
):
return
[
vec
.
x
,
vec
.
y
,
vec
.
z
]
...
...
This diff is collapsed.
Click to expand it.
techniques/manipulation/Cursor.gd
+
4
−
4
View file @
01404384
...
...
@@ -112,20 +112,20 @@ func _on_node_entered(node):
_grabbed
[
_parent
.
name
]
=
false
func
_on_Controller_button_pressed
(
button
):
if
button
==
JOY_GR
if
button
==
"grip_click"
:
_grabbing
=
true
for
k
in
_selected
.
keys
():
_grabbed
[
k
]
=
true
if
button
==
JOY_VR_TRIGGER
:
el
if
button
==
"trigger_click"
:
for
k
in
_selected
.
keys
():
_selected
[
k
]
.
set_property
(
"triggered"
,
[
1
])
func
_on_Controller_button_release
(
button
):
if
button
==
JOY_VR_GRIP
:
if
button
==
"grip_click"
:
_grabbing
=
false
for
k
in
_selected
.
keys
():
_grabbed
[
k
]
=
false
if
button
==
JOY_VR_TRIGGER
:
el
if
button
==
"trigger_click"
:
for
k
in
_selected
.
keys
():
_selected
[
k
]
.
set_property
(
"triggered"
,
[
0
])
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment