mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Improved quadruped origin
Former-commit-id: 35a360bf285f2495dda7859cb8d376d5aa16a1af
This commit is contained in:
parent
7ac973623f
commit
5092df0e7f
@ -216,7 +216,7 @@ impl Client {
|
||||
'outer: for dist in 0..10 {
|
||||
for i in chunk_pos.x - dist..chunk_pos.x + dist + 1 {
|
||||
for j in chunk_pos.y - dist..chunk_pos.y + dist + 1 {
|
||||
for k in 0..3 {
|
||||
for k in 0..6 {
|
||||
let key = Vec3::new(i, j, k);
|
||||
if self.state.terrain().get_key(key).is_none()
|
||||
&& !self.pending_chunks.contains(&key)
|
||||
|
@ -9,7 +9,7 @@ pub enum ClientMsg {
|
||||
},
|
||||
Character {
|
||||
name: String,
|
||||
body: comp::HumanoidBody,
|
||||
body: comp::Body,
|
||||
},
|
||||
RequestState(ClientState),
|
||||
Ping,
|
||||
|
@ -133,15 +133,9 @@ impl Server {
|
||||
entity: EcsEntity,
|
||||
client: &mut Client,
|
||||
name: String,
|
||||
body: comp::HumanoidBody,
|
||||
body: comp::Body,
|
||||
) {
|
||||
state.write_component(
|
||||
entity,
|
||||
comp::Actor::Character {
|
||||
name,
|
||||
body: comp::Body::Humanoid(body),
|
||||
},
|
||||
);
|
||||
state.write_component(entity, comp::Actor::Character { name, body });
|
||||
state.write_component(entity, comp::Stats::default());
|
||||
state.write_component(entity, comp::phys::Pos(Vec3::new(0.0, 0.0, 64.0)));
|
||||
state.write_component(entity, comp::phys::Vel(Vec3::zero()));
|
||||
|
@ -43,27 +43,27 @@ impl Animation for IdleAnimation {
|
||||
* 0.25,
|
||||
);
|
||||
|
||||
next.pighead.offset = Vec3::new(0.0, 7.0, -1.5 + wave * 0.2) / 11.0;
|
||||
next.pighead.offset = Vec3::new(0.0, -2.0, -1.5 + wave * 0.2) / 11.0;
|
||||
next.pighead.ori = Quaternion::rotation_z(pighead_look.x) * Quaternion::rotation_x(pighead_look.y + wavecos_slow * 0.03);
|
||||
next.pighead.scale = Vec3::one() / 10.5;
|
||||
|
||||
next.pigchest.offset = Vec3::new(wave_slow * 0.05, 0.0, 1.5 + wavecos_slow * 0.4) / 11.0;
|
||||
next.pigchest.offset = Vec3::new(wave_slow * 0.05, -9.0, 1.5 + wavecos_slow * 0.4) / 11.0;
|
||||
next.pigchest.ori = Quaternion::rotation_y(wave_slow * 0.05);
|
||||
next.pigchest.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.piglf_leg.offset = Vec3::new(-4.5, 11.0, 1.5) / 11.0;
|
||||
next.piglf_leg.offset = Vec3::new(-4.5, 2.0, 1.5) / 11.0;
|
||||
next.piglf_leg.ori = Quaternion::rotation_x(wave_slow * 0.08);
|
||||
next.piglf_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.pigrf_leg.offset = Vec3::new(2.5, 11.0, 1.5) / 11.0;
|
||||
next.pigrf_leg.offset = Vec3::new(2.5, 2.0, 1.5) / 11.0;
|
||||
next.pigrf_leg.ori = Quaternion::rotation_x(wavecos_slow * 0.08);
|
||||
next.pigrf_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.piglb_leg.offset = Vec3::new(-4.5, 6.0, 1.5) / 11.0;
|
||||
next.piglb_leg.offset = Vec3::new(-4.5, -3.0, 1.5) / 11.0;
|
||||
next.piglb_leg.ori = Quaternion::rotation_x(wavecos_slow * 0.08);
|
||||
next.piglb_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.pigrb_leg.offset = Vec3::new(2.5, 6.0, 1.5) / 11.0;
|
||||
next.pigrb_leg.offset = Vec3::new(2.5, -3.0, 1.5) / 11.0;
|
||||
next.pigrb_leg.ori = Quaternion::rotation_x(wave_slow * 0.08);
|
||||
next.pigrb_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
|
@ -30,27 +30,27 @@ impl Animation for JumpAnimation {
|
||||
let wave_stop = (anim_time as f32 * 4.5).min(PI / 2.0).sin();
|
||||
|
||||
|
||||
next.pighead.offset = Vec3::new(0.0, 9.0, -1.5 ) / 11.0;
|
||||
next.pighead.offset = Vec3::new(0.0, 0.0, -1.5 ) / 11.0;
|
||||
next.pighead.ori = Quaternion::rotation_x(wave_stop * 0.4);
|
||||
next.pighead.scale = Vec3::one() / 10.5;
|
||||
|
||||
next.pigchest.offset = Vec3::new(0.0, 0.0, 1.5) / 11.0;
|
||||
next.pigchest.offset = Vec3::new(0.0, -9.0, 1.5) / 11.0;
|
||||
next.pigchest.ori = Quaternion::rotation_x(0.0);
|
||||
next.pigchest.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.piglf_leg.offset = Vec3::new(-4.5, 12.0, 1.5) / 11.0;
|
||||
next.piglf_leg.offset = Vec3::new(-4.5, 3.0, 1.5) / 11.0;
|
||||
next.piglf_leg.ori = Quaternion::rotation_x(wave_stop * 0.6);
|
||||
next.piglf_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.pigrf_leg.offset = Vec3::new(2.5, 12.0, 1.5) / 11.0;
|
||||
next.pigrf_leg.offset = Vec3::new(2.5, 3.0, 1.5) / 11.0;
|
||||
next.pigrf_leg.ori = Quaternion::rotation_x(wave_stop * 0.6 - wave_slow * 0.3);
|
||||
next.pigrf_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.piglb_leg.offset = Vec3::new(-4.5, 5.0, 2.0) / 11.0;
|
||||
next.piglb_leg.offset = Vec3::new(-4.5, -4.0, 2.0) / 11.0;
|
||||
next.piglb_leg.ori = Quaternion::rotation_x(wave_stop * -0.6 + wave_slow * 0.3);
|
||||
next.piglb_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.pigrb_leg.offset = Vec3::new(2.5, 5.0, 2.0) / 11.0;
|
||||
next.pigrb_leg.offset = Vec3::new(2.5, -4.0, 2.0) / 11.0;
|
||||
next.pigrb_leg.ori = Quaternion::rotation_x(wave_stop * -0.6 + wave_slow * 0.3);
|
||||
next.pigrb_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
|
@ -30,27 +30,27 @@ impl Animation for RunAnimation {
|
||||
let wavecos_slow = (anim_time as f32 * 8.0 + PI).cos();
|
||||
let wave_dip = (wave_slow.abs() - 0.5).abs();
|
||||
|
||||
next.pighead.offset = Vec3::new(0.0, 9.0, -1.5 + wave * 1.5) / 11.0;
|
||||
next.pighead.offset = Vec3::new(0.0, 0.0, -1.5 + wave * 1.5) / 11.0;
|
||||
next.pighead.ori = Quaternion::rotation_x(0.2 + wave * 0.05) * Quaternion::rotation_y(wavecos * 0.03);
|
||||
next.pighead.scale = Vec3::one() / 10.5;
|
||||
|
||||
next.pigchest.offset = Vec3::new(0.0, 0.0, 1.5 + wavecos * 1.2) / 11.0;
|
||||
next.pigchest.offset = Vec3::new(0.0, -9.0, 1.5 + wavecos * 1.2) / 11.0;
|
||||
next.pigchest.ori = Quaternion::rotation_x(wave * 0.1);
|
||||
next.pigchest.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.piglf_leg.offset = Vec3::new(-4.5, 11.0 + wavequick * 0.8, 2.5 + wavequickcos * 1.5) / 11.0;
|
||||
next.piglf_leg.offset = Vec3::new(-4.5, 2.0 + wavequick * 0.8, 2.5 + wavequickcos * 1.5) / 11.0;
|
||||
next.piglf_leg.ori = Quaternion::rotation_x(wavequick * 0.3);
|
||||
next.piglf_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.pigrf_leg.offset = Vec3::new(2.5, 11.0 - wavequickcos * 0.8, 2.5 + wavequick * 1.5) / 11.0;
|
||||
next.pigrf_leg.offset = Vec3::new(2.5, 2.0 - wavequickcos * 0.8, 2.5 + wavequick * 1.5) / 11.0;
|
||||
next.pigrf_leg.ori = Quaternion::rotation_x(wavequickcos * -0.3);
|
||||
next.pigrf_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.piglb_leg.offset = Vec3::new(-4.5, 6.0 - wavequickcos * 0.8, 2.5 + wavequick * 1.5) / 11.0;
|
||||
next.piglb_leg.offset = Vec3::new(-4.5, -3.0 - wavequickcos * 0.8, 2.5 + wavequick * 1.5) / 11.0;
|
||||
next.piglb_leg.ori = Quaternion::rotation_x(wavequickcos * -0.3);
|
||||
next.piglb_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
next.pigrb_leg.offset = Vec3::new(2.5, 6.0 + wavequick * 0.8, 2.5 + wavequickcos * 1.5) / 11.0;
|
||||
next.pigrb_leg.offset = Vec3::new(2.5, -3.0 + wavequick * 0.8, 2.5 + wavequickcos * 1.5) / 11.0;
|
||||
next.pigrb_leg.ori = Quaternion::rotation_x(wavequick * 0.3);
|
||||
next.pigrb_leg.scale = Vec3::one() / 11.0;
|
||||
|
||||
|
@ -7,7 +7,11 @@ use crate::{
|
||||
Direction, GlobalState, PlayState, PlayStateResult,
|
||||
};
|
||||
use client::{self, Client};
|
||||
use common::{clock::Clock, msg::ClientMsg};
|
||||
use common::{
|
||||
comp,
|
||||
clock::Clock,
|
||||
msg::ClientMsg,
|
||||
};
|
||||
use scene::Scene;
|
||||
use std::{cell::RefCell, rc::Rc, time::Duration};
|
||||
use ui::CharSelectionUi;
|
||||
@ -78,7 +82,7 @@ impl PlayState for CharSelectionState {
|
||||
.postbox
|
||||
.send_message(ClientMsg::Character {
|
||||
name: self.char_selection_ui.character_name.clone(),
|
||||
body: self.char_selection_ui.character_body,
|
||||
body: comp::Body::Quadruped(comp::QuadrupedBody::random()), // comp::Body::Humanoid(self.char_selection_ui.character_body),
|
||||
});
|
||||
return PlayStateResult::Switch(Box::new(SessionState::new(
|
||||
&mut global_state.window,
|
||||
|
@ -42,7 +42,7 @@ impl World {
|
||||
|
||||
let chaos_freq = 1.0 / 100.0;
|
||||
let freq = 1.0 / 128.0;
|
||||
let ampl = 32.0;
|
||||
let ampl = 75.0;
|
||||
let small_freq = 1.0 / 32.0;
|
||||
let small_ampl = 6.0;
|
||||
let offs = 32.0;
|
||||
@ -55,7 +55,7 @@ impl World {
|
||||
let height = perlin_nz.get(Vec2::from(wposf * freq).into_array()) * ampl * chaos
|
||||
+ perlin_nz.get((wposf * small_freq).into_array())
|
||||
* small_ampl
|
||||
* 2.0
|
||||
* 3.0
|
||||
* chaos.powf(2.0)
|
||||
+ offs;
|
||||
let temp = (temp_nz.get(Vec2::from(wposf * (1.0 / 64.0)).into_array()) + 1.0) * 0.5;
|
||||
|
Loading…
Reference in New Issue
Block a user