Compare commits

...

5 commits

10 changed files with 164 additions and 6 deletions

View file

@ -26,6 +26,8 @@
- metal.jpg: ["Seamless metal texture" by hhh316, CC BY 3.0](https://www.deviantart.com/hhh316/art/Seamless-metal-texture-182943398)
- solarpanel.jpg: ["Solar panel-Texture 1" by Conquestus, CC BY 3.0](https://www.deviantart.com/conquestus/art/Solar-panel-Texture-1-703900580)
- plant.jpg: [OTF_Macro_Leaf_19 by Brent Leimenstoll, CC BY-SA 2.0](https://www.flickr.com/photos/brentleimenstoll/9117089591)
- denim.jpg: ["Seamless Denim" by fotogrph, CC BY 3.0](https://www.deviantart.com/fotogrph/art/Seamless-Denim-301565637)
- suit.jpg: By Yuni, CC0 License
- Icon: By Yuni, CC0 License
- Sounds by Yuni, CC0 License:
- click.ogg: Recorded the click of a Victorinox Swisstool Spirit, when closing the big flathead screw driver

BIN
assets/models/ar_skirt.bin Normal file

Binary file not shown.

153
assets/models/ar_skirt.gltf Normal file
View file

@ -0,0 +1,153 @@
{
"asset":{
"generator":"Khronos glTF Blender I/O v4.2.60",
"version":"2.0"
},
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
0
]
}
],
"nodes":[
{
"mesh":0,
"name":"Skirt",
"rotation":[
0.18716467916965485,
0,
0,
0.9823286533355713
],
"scale":[
0.7949548363685608,
0.7549549341201782,
0.5049549341201782
],
"translation":[
0,
0,
-0.3132408559322357
]
}
],
"materials":[
{
"doubleSided":true,
"name":"Denim",
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":0
},
"metallicFactor":0.5158730149269104,
"roughnessFactor":0.841269850730896
}
}
],
"meshes":[
{
"name":"Mesh",
"primitives":[
{
"attributes":{
"POSITION":0,
"NORMAL":1,
"TEXCOORD_0":2
},
"indices":3,
"material":0
}
]
}
],
"textures":[
{
"sampler":0,
"source":0
}
],
"images":[
{
"mimeType":"image/jpeg",
"name":"denim",
"uri":"textures/denim.jpg"
}
],
"accessors":[
{
"bufferView":0,
"componentType":5126,
"count":2765,
"max":[
0.44324639439582825,
0.14108650386333466,
0.4957937002182007
],
"min":[
-0.44725117087364197,
-0.3539474904537201,
-0.2795291841030121
],
"type":"VEC3"
},
{
"bufferView":1,
"componentType":5126,
"count":2765,
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":2765,
"type":"VEC2"
},
{
"bufferView":3,
"componentType":5123,
"count":15360,
"type":"SCALAR"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":33180,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":33180,
"byteOffset":33180,
"target":34962
},
{
"buffer":0,
"byteLength":22120,
"byteOffset":66360,
"target":34962
},
{
"buffer":0,
"byteLength":30720,
"byteOffset":88480,
"target":34963
}
],
"samplers":[
{
"magFilter":9729,
"minFilter":9987
}
],
"buffers":[
{
"byteLength":119200,
"uri":"ar_skirt.bin"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

BIN
src/blender/ar_skirt.blend Normal file

Binary file not shown.

Binary file not shown.

View file

@ -314,12 +314,13 @@ actor 700 -100 -1100 suitv2
name Luna
id Luna
chatid Luna
armodel suit_ar_skirt
angularmomentum 0 0 0
wants maxrotation 0
wants maxvelocity none
rotationy 108
rotationx 180
pronoun he
pronoun she
scene 22 0 0 workshop
relativeto Luna
actor -20 10 -23 MeteorAceGT
@ -387,6 +388,7 @@ actor 13200 300 -3000 hollow_asteroid
wants matchvelocitywith cultasteroid
name "River"
chatid River
armodel suit_ar_skirt
rotationy 54
rotationx -90
pronoun she

View file

@ -33,7 +33,7 @@ impl Plugin for GamePlugin {
app.add_systems(Update, debug.run_if(game_running));
app.add_systems(PostUpdate, handle_game_event);
app.add_systems(Update, handle_window_focus);
app.add_systems(PreUpdate, handle_player_death.run_if(game_running));
app.add_systems(PreUpdate, handle_player_death);
app.add_systems(
PostUpdate,
update_id2pos

View file

@ -46,6 +46,7 @@ pub const DASHBOARD_DEF: &[(Dashboard, &str)] = &[
pub const PLAYER_AR_AVATARS: &[(Avatar, &str, f32, &str)] = &[
(Avatar::None, "", 1.0, "No Avatar"),
(Avatar::ChefHat, "suit_ar_chefhat", 1.0, "Chef Hat"),
(Avatar::Skirt, "suit_ar_skirt", 1.0, "Skirt"),
(Avatar::Wings, "suit_ar_wings", 1.0, "Wings"),
(Avatar::Asteroid, "asteroid2", 1.2, "Asteroid"),
];
@ -68,10 +69,8 @@ impl Plugin for HudPlugin {
app.add_systems(
PostUpdate,
(
update_overlay_visibility.run_if(game_running),
update_avatar
.run_if(game_running)
.run_if(on_event::<UpdateAvatarEvent>()),
update_overlay_visibility,
update_avatar.run_if(on_event::<UpdateAvatarEvent>()),
update_ar_overlays
.run_if(game_running)
.after(camera::position_to_transform)
@ -178,6 +177,7 @@ struct FPSUpdateTimer(Timer);
pub enum Avatar {
None,
ChefHat,
Skirt,
Wings,
Asteroid,
}

View file

@ -30,6 +30,7 @@ pub fn asset_name_to_path(name: &str) -> &'static str {
match name {
"suitv2" => "models/suit_v2.gltf#Scene0",
"suit_ar_chefhat" => "models/suit_v2/ar_chefhat.glb#Scene0",
"suit_ar_skirt" => "models/ar_skirt.gltf#Scene0",
"suit_ar_wings" => "models/suit_v2/ar_wings.glb#Scene0",
"sus" => "models/sus.glb#Scene0",
"asteroid1" => "models/asteroid.glb#Scene0",