Void Room preliminary shaders added, boss1 materials added

This commit is contained in:
Pal
2025-09-12 03:35:19 -07:00
parent a4205f1963
commit b04956ea4d
37 changed files with 844 additions and 550 deletions

View File

@@ -54,123 +54,123 @@ public partial class BossTypeA : CharacterBody3D, IEnemy, IHasPrimaryAttack, IHa
public void Setup()
{
_enemyLogic = new EnemyLogic();
_enemyLogic.Set(_enemyStatResource);
_enemyLogic.Set(this as IEnemy);
_enemyLogic.Set(_player);
_damageCalculator = new DamageCalculator();
SetPhysicsProcess(true);
_enemyLogic = new EnemyLogic();
_enemyLogic.Set(_enemyStatResource);
_enemyLogic.Set(this as IEnemy);
_enemyLogic.Set(_player);
_damageCalculator = new DamageCalculator();
SetPhysicsProcess(true);
}
public void OnResolved()
{
EnemyBinding = _enemyLogic.Bind();
EnemyBinding = _enemyLogic.Bind();
EnemyBinding
.Handle((in EnemyLogic.Output.TakeAction _) =>
{
TakeAction();
})
.Handle((in EnemyLogic.Output.Defeated output) =>
{
});
EnemyBinding
.Handle((in EnemyLogic.Output.TakeAction _) =>
{
TakeAction();
})
.Handle((in EnemyLogic.Output.Defeated output) =>
{
});
this.Provide();
this.Provide();
_enemyLogic.Start();
_enemyLogic.Start();
CurrentHP = new AutoProp<double>(_enemyStatResource.MaximumHP);
CurrentHP.Sync += OnHPChanged;
CurrentHP = new AutoProp<double>(_enemyStatResource.MaximumHP);
CurrentHP.Sync += OnHPChanged;
}
private void OnHPChanged(double newHP)
{
if (newHP <= 0)
Die();
if (newHP <= 0)
Die();
}
public virtual void Die()
{
SetProcess(false);
_movementSpeed = 0;
CurrentHP.OnNext(0);
_enemyLogic.Input(new EnemyLogic.Input.EnemyDefeated());
_collisionShape.SetDeferred("disabled", true);
_enemyModelView.PlayDeathAnimation();
var tweener = CreateTween();
tweener.TweenInterval(1.0f);
tweener.TweenCallback(Callable.From(QueueFree));
SetProcess(false);
_movementSpeed = 0;
CurrentHP.OnNext(0);
_enemyLogic.Input(new EnemyLogic.Input.EnemyDefeated());
_collisionShape.SetDeferred("disabled", true);
_enemyModelView.PlayDeathAnimation();
var tweener = CreateTween();
tweener.TweenInterval(1.0f);
tweener.TweenCallback(Callable.From(QueueFree));
}
public void OnReady()
{
_target = GlobalPosition;
SetPhysicsProcess(true);
_enemyModelView.Hitbox.AreaEntered += Hitbox_AreaEntered;
_attackTimer.Start();
_target = GlobalPosition;
SetPhysicsProcess(true);
_enemyModelView.Hitbox.AreaEntered += Hitbox_AreaEntered;
_attackTimer.Start();
}
public void OnPhysicsProcess(double delta)
{
_enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta));
_enemyLogic.Input(new EnemyLogic.Input.PhysicsTick(delta));
var direction = GlobalPosition.DirectionTo(_target).Normalized();
var direction = GlobalPosition.DirectionTo(_target).Normalized();
if (_enemyLogic.Value is not EnemyLogic.State.Activated)
return;
if (_enemyLogic.Value is not EnemyLogic.State.Activated)
return;
var rotationAngle = GetRotationAngle();
if (GlobalBasis.Z.AngleTo(_player.CurrentBasis.Z) > Mathf.DegToRad(60))
{
RotateToPlayer(rotationAngle);
_enemyModelView.PlayIdleAnimation();
return;
}
var rotationAngle = GetRotationAngle();
if (GlobalBasis.Z.AngleTo(_player.CurrentBasis.Z) > Mathf.DegToRad(60))
{
RotateToPlayer(rotationAngle);
_enemyModelView.PlayIdleAnimation();
return;
}
if (_enemyLogic.Value is EnemyLogic.State.FollowPlayer && GlobalPosition.DistanceTo(_player.CurrentPosition) < 5f)
_enemyLogic.Input(new EnemyLogic.Input.StartAttacking());
if (_enemyLogic.Value is EnemyLogic.State.Attacking && GlobalPosition.DistanceTo(_player.CurrentPosition) > 5f)
_enemyLogic.Input(new EnemyLogic.Input.Alerted());
if (_enemyLogic.Value is EnemyLogic.State.FollowPlayer && GlobalPosition.DistanceTo(_player.CurrentPosition) < 5f)
_enemyLogic.Input(new EnemyLogic.Input.StartAttacking());
if (_enemyLogic.Value is EnemyLogic.State.Attacking && GlobalPosition.DistanceTo(_player.CurrentPosition) > 5f)
_enemyLogic.Input(new EnemyLogic.Input.Alerted());
if (_enemyLogic.Value is EnemyLogic.State.FollowPlayer)
{
Velocity = direction * _movementSpeed;
MoveAndSlide();
_enemyModelView.PlayWalkAnimation();
}
else
{
_enemyModelView.PlayIdleAnimation();
}
if (_enemyLogic.Value is EnemyLogic.State.FollowPlayer)
{
Velocity = direction * _movementSpeed;
MoveAndSlide();
_enemyModelView.PlayWalkAnimation();
}
else
{
_enemyModelView.PlayIdleAnimation();
}
}
public void TakeAction()
{
var rng = new RandomNumberGenerator();
var options = new List<Action>() { PrimaryAttack, SecondaryAttack };
var selection = rng.RandWeighted([0.875f, 0.125f]);
options[(int)selection].Invoke();
var rng = new RandomNumberGenerator();
var options = new List<Action>() { PrimaryAttack, SecondaryAttack };
var selection = rng.RandWeighted([0.875f, 0.125f]);
options[(int)selection].Invoke();
}
public void PrimaryAttack()
{
_enemyModelView.PlayPrimaryAttackAnimation();
_enemyModelView.PlayPrimaryAttackAnimation();
}
public void SecondaryAttack()
{
_enemyModelView.PlaySecondaryAttackAnimation();
_enemyModelView.PlaySecondaryAttackAnimation();
}
public void StartAttackTimer()
{
_attackTimer.Timeout += OnAttackTimeout;
_attackTimer.Timeout += OnAttackTimeout;
}
public void StopAttackTimer()
{
if (_attackTimer.TimeLeft > 0)
_attackTimer.Timeout -= OnAttackTimeout;
if (_attackTimer.TimeLeft > 0)
_attackTimer.Timeout -= OnAttackTimeout;
}
@@ -179,61 +179,61 @@ public partial class BossTypeA : CharacterBody3D, IEnemy, IHasPrimaryAttack, IHa
private void Hitbox_AreaEntered(Area3D area)
{
var target = area.GetOwner();
if (target is IPlayer player)
{
var damage = _enemyStatResource.CurrentAttack * PrimaryAttackElementalDamageBonus;
player.TakeDamage(damage, PrimaryAttackElementalType, BattleExtensions.IsCriticalHit(_enemyStatResource.Luck));
}
var target = area.GetOwner();
if (target is IPlayer player)
{
var damage = _enemyStatResource.CurrentAttack * PrimaryAttackElementalDamageBonus;
player.TakeDamage(damage, PrimaryAttackElementalType, BattleExtensions.IsCriticalHit(_enemyStatResource.Luck));
}
}
public void StartFight()
{
_enemyLogic.Input(new EnemyLogic.Input.Alerted());
_enemyLogic.Input(new EnemyLogic.Input.Alerted());
}
public void Activate()
{
Show();
EnemyHitbox.SetDeferred(CollisionShape3D.PropertyName.Disabled, false);
Show();
EnemyHitbox.SetDeferred(CollisionShape3D.PropertyName.Disabled, false);
}
private void OnAttackTimeout()
{
if (GlobalPosition.DistanceTo(_player.CurrentPosition) > 5f)
{
_enemyLogic.Input(new EnemyLogic.Input.Alerted());
return;
}
if (GlobalPosition.DistanceTo(_player.CurrentPosition) > 5f)
{
_enemyLogic.Input(new EnemyLogic.Input.Alerted());
return;
}
var rng = new RandomNumberGenerator();
rng.Randomize();
_enemyLogic.Input(new EnemyLogic.Input.AttackTimer());
_attackTimer.Stop();
_attackTimer.WaitTime = rng.RandfRange(2f, 5.0f);
_attackTimer.Start();
var rng = new RandomNumberGenerator();
rng.Randomize();
_enemyLogic.Input(new EnemyLogic.Input.AttackTimer());
_attackTimer.Stop();
_attackTimer.WaitTime = rng.RandfRange(2f, 5.0f);
_attackTimer.Start();
}
public void RotateToPlayer(float rotationAngle)
{
var tweener = GetTree().CreateTween();
tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 0.5f);
var tweener = GetTree().CreateTween();
tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 0.5f);
}
private float GetRotationAngle()
{
var target = new Vector3(_player.CurrentPosition.X, Position.Y, _player.CurrentPosition.Z);
_rotation.LookAt(target, Vector3.Up, true);
_rotation.RotateY(Rotation.Y);
return _rotation.Rotation.Y;
var target = new Vector3(_player.CurrentPosition.X, Position.Y, _player.CurrentPosition.Z);
_rotation.LookAt(target, Vector3.Up, true);
_rotation.RotateY(Rotation.Y);
return _rotation.Rotation.Y;
}
private void RotateTowardsPlayer(float angle) => Rotation = new Vector3(Rotation.X, angle, Rotation.Z);
public override void _ExitTree()
{
CurrentHP.OnCompleted();
StopAttackTimer();
CurrentHP.OnCompleted();
StopAttackTimer();
}
public void Move(Vector3 velocity) => throw new NotImplementedException();

View File

@@ -1,21 +1,37 @@
[gd_scene load_steps=35 format=4 uid="uid://bid6f48l0q58o"]
[gd_scene load_steps=39 format=4 uid="uid://bid6f48l0q58o"]
[ext_resource type="Script" uid="uid://bvcfww5827g74" path="res://src/enemy/enemy_types/BossTypeAEnemyModelView.cs" id="1_q3bfl"]
[ext_resource type="Texture2D" uid="uid://2e4cp477ex0t" path="res://src/enemy/enemy_types/14. horse_head/animation/Horse Head 1_Metal054C_1K-JPG_Color.jpg" id="1_vv6g0"]
[ext_resource type="Animation" uid="uid://bhsp32c05j2o5" path="res://src/enemy/enemy_types/14. horse_head/animation/walking.res" id="2_yvw71"]
[ext_resource type="Texture2D" uid="uid://dd7ocxanos2o7" path="res://src/enemy/enemy_types/14. horse_head/animation/HORSE-FACE 1_Metal054C_1K-JPG_Displacement.jpg" id="3_b3lw2"]
[ext_resource type="Animation" uid="uid://ccq41qrm1lduk" path="res://src/enemy/enemy_types/14. horse_head/animation/walking2.res" id="3_bkc4x"]
[ext_resource type="Texture2D" uid="uid://d3nsmrs41cpxs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Metalness.jpg" id="4_58wyj"]
[ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="4_bkc4x"]
[ext_resource type="Texture2D" uid="uid://dhk7u4r608cby" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_NormalGL.jpg" id="5_qhoxi"]
[ext_resource type="Texture2D" uid="uid://qp3uycxaljcs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Roughness.jpg" id="6_lj3cb"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tv6dm"]
resource_name = "Material"
cull_mode = 2
shading_mode = 0
albedo_texture = ExtResource("1_vv6g0")
albedo_texture_force_srgb = true
metallic = 0.19
metallic_texture = ExtResource("4_58wyj")
roughness = 0.5
roughness_texture = ExtResource("6_lj3cb")
normal_enabled = true
normal_scale = 3.23
normal_texture = ExtResource("5_qhoxi")
heightmap_texture = ExtResource("3_b3lw2")
texture_filter = 0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hbmlb"]
resource_name = "Material.004"
cull_mode = 2
albedo_color = Color(0.906414, 0.0490838, 0, 1)
emission_enabled = true
emission = Color(1, 0.174173, 0.127215, 1)
emission_energy_multiplier = 1.75
[sub_resource type="ArrayMesh" id="ArrayMesh_6e63x"]
resource_name = "Horse Head 1_0_Cube_037"
@@ -949,7 +965,7 @@ bones/0/name = "spine1"
bones/0/parent = -1
bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735)
bones/0/enabled = true
bones/0/position = Vector3(0.0996386, -0.275575, -1.53144)
bones/0/position = Vector3(0.0996387, -0.350701, -1.53144)
bones/0/rotation = Quaternion(0.0256267, -0.805691, 0.0118477, 0.591662)
bones/0/scale = Vector3(1, 1, 1)
bones/1/name = "spine0"
@@ -978,7 +994,7 @@ bones/4/parent = 3
bones/4/rest = Transform3D(0.901905, -0.410135, 0.135488, 0.412416, 0.910915, 0.0120912, -0.128377, 0.0449723, 0.990705, 2.5332e-07, 0.990515, -7.07805e-08)
bones/4/enabled = true
bones/4/position = Vector3(2.5332e-07, 0.990515, -7.07805e-08)
bones/4/rotation = Quaternion(0.00823408, 0.0675355, 0.210519, 0.975219)
bones/4/rotation = Quaternion(0.00133629, 0.0635411, 0.1977, 0.9782)
bones/4/scale = Vector3(1, 1, 1)
bones/5/name = "neck4"
bones/5/parent = 4
@@ -992,7 +1008,7 @@ bones/6/parent = 5
bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0)
bones/6/enabled = true
bones/6/position = Vector3(3.65078e-07, 1.40318, 0)
bones/6/rotation = Quaternion(-0.343412, 0.052141, -0.495863, 0.795908)
bones/6/rotation = Quaternion(-0.335877, 0.0514318, -0.474453, 0.812056)
bones/6/scale = Vector3(1, 1, 1)
bones/7/name = "Bone.007"
bones/7/parent = 6
@@ -1027,7 +1043,7 @@ bones/11/parent = 1
bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07)
bones/11/enabled = true
bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07)
bones/11/rotation = Quaternion(-0.805856, -0.0793298, -0.0234794, 0.586303)
bones/11/rotation = Quaternion(-0.809968, -0.0869372, -0.0236559, 0.579512)
bones/11/scale = Vector3(1, 1, 1)
bones/12/name = "arm2_L"
bones/12/parent = 11
@@ -1054,7 +1070,7 @@ bones/15/name = "arm1_R"
bones/15/parent = 1
bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097)
bones/15/enabled = true
bones/15/position = Vector3(-0.203473, 3.65763, 0.074242)
bones/15/position = Vector3(-0.187045, 3.5313, 0.0981292)
bones/15/rotation = Quaternion(-0.502686, 0.531044, 0.680821, -0.0422068)
bones/15/scale = Vector3(1, 1, 1)
bones/16/name = "arm2_R"
@@ -1069,7 +1085,7 @@ bones/17/parent = 16
bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06)
bones/17/enabled = true
bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06)
bones/17/rotation = Quaternion(-0.046921, 0.0973887, 0.264564, 0.95829)
bones/17/rotation = Quaternion(-0.0284391, 0.0967671, 0.271047, 0.957268)
bones/17/scale = Vector3(1, 1, 1)
bones/18/name = "hand_R"
bones/18/parent = 17
@@ -1082,7 +1098,7 @@ bones/19/name = "hip_L"
bones/19/parent = -1
bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735)
bones/19/enabled = true
bones/19/position = Vector3(0.147751, -0.279981, -1.49267)
bones/19/position = Vector3(0.147751, -0.323457, -1.49267)
bones/19/rotation = Quaternion(0.427793, 0.34021, 0.687061, -0.478745)
bones/19/scale = Vector3(1, 1, 1)
bones/20/name = "leg1_L"
@@ -1090,14 +1106,14 @@ bones/20/parent = 19
bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07)
bones/20/enabled = true
bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07)
bones/20/rotation = Quaternion(-0.437866, -0.325186, -0.36926, 0.752446)
bones/20/rotation = Quaternion(-0.435714, -0.327862, -0.372566, 0.750902)
bones/20/scale = Vector3(1, 1, 1)
bones/21/name = "leg2_L"
bones/21/parent = 20
bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07)
bones/21/enabled = true
bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07)
bones/21/rotation = Quaternion(-0.0474618, 0.00189033, 0.37965, 0.92391)
bones/21/rotation = Quaternion(-0.0484256, 0.00188367, 0.38736, 0.920654)
bones/21/scale = Vector3(1, 1, 1)
bones/22/name = "foot1_L"
bones/22/parent = 21
@@ -1131,7 +1147,7 @@ bones/26/name = "hip_R"
bones/26/parent = -1
bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735)
bones/26/enabled = true
bones/26/position = Vector3(0.0289172, -0.296612, -1.59603)
bones/26/position = Vector3(0.0289172, -0.325595, -1.59603)
bones/26/rotation = Quaternion(0.695067, -0.09936, -0.377924, -0.603475)
bones/26/scale = Vector3(1, 1, 1)
bones/27/name = "leg1_R"
@@ -1139,14 +1155,14 @@ bones/27/parent = 26
bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07)
bones/27/enabled = true
bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07)
bones/27/rotation = Quaternion(-0.317769, 0.173907, 0.183876, 0.913766)
bones/27/rotation = Quaternion(-0.314391, 0.176313, 0.184131, 0.914422)
bones/27/scale = Vector3(1, 1, 1)
bones/28/name = "leg2_R"
bones/28/parent = 27
bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09)
bones/28/enabled = true
bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09)
bones/28/rotation = Quaternion(-0.267722, 0.0202251, -0.174685, 0.947312)
bones/28/rotation = Quaternion(-0.273011, 0.0201792, -0.178136, 0.945159)
bones/28/scale = Vector3(1, 1, 1)
bones/29/name = "foot1_R"
bones/29/parent = 28
@@ -1183,7 +1199,7 @@ mesh = SubResource("ArrayMesh_6e63x")
skin = SubResource("Skin_yvw71")
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
transform = Transform3D(-0.370165, -0.13327, -0.919357, -0.25739, -0.936197, 0.239345, -0.892596, 0.32523, 0.312245, -2.00356, 8.78642, 6.13561)
transform = Transform3D(-0.370164, -0.13327, -0.919357, -0.279584, -0.927789, 0.247063, -0.885896, 0.348492, 0.306174, -2.00357, 8.75613, 6.23014)
bone_name = "TOP OF SKULL"
bone_idx = 8

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3nsmrs41cpxs"
path="res://.godot/imported/Metal054C_1K-JPG_Metalness.jpg-709fb0d842c00695c17b10667914cb83.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Metalness.jpg"
dest_files=["res://.godot/imported/Metal054C_1K-JPG_Metalness.jpg-709fb0d842c00695c17b10667914cb83.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhk7u4r608cby"
path="res://.godot/imported/Metal054C_1K-JPG_NormalGL.jpg-0b9cedbde8b12936946b94ac8629b77b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_NormalGL.jpg"
dest_files=["res://.godot/imported/Metal054C_1K-JPG_NormalGL.jpg-0b9cedbde8b12936946b94ac8629b77b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_NormalGL.jpg"
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://qp3uycxaljcs"
path="res://.godot/imported/Metal054C_1K-JPG_Roughness.jpg-13be6ce05b5c96649d47e6249e18716c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Roughness.jpg"
dest_files=["res://.godot/imported/Metal054C_1K-JPG_Roughness.jpg-13be6ce05b5c96649d47e6249e18716c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

View File

@@ -50,6 +50,52 @@ shape = SubResource("CapsuleShape3D_7uhtm")
[node name="EnemyModelView" parent="." instance=ExtResource("2_v6b2s")]
unique_name_in_owner = true
[node name="Skeleton3D" parent="EnemyModelView/Armature" index="0"]
bones/0/position = Vector3(-0.259743, -0.993026, -1.9718)
bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149)
bones/1/rotation = Quaternion(0.0828172, 0.0642671, -0.39627, 0.91213)
bones/2/rotation = Quaternion(-0.137837, 0.137086, 0.403643, 0.894025)
bones/3/rotation = Quaternion(-0.00338816, 0.00852271, 0.0152662, 0.999842)
bones/4/rotation = Quaternion(0.037164, 0.133882, 0.101977, 0.985036)
bones/5/rotation = Quaternion(-0.0397875, -0.0104688, 0.0235613, 0.998875)
bones/6/rotation = Quaternion(-0.0605251, -0.298986, -0.744535, 0.593812)
bones/7/rotation = Quaternion(0.0788712, -0.0306685, -0.220772, 0.971647)
bones/8/rotation = Quaternion(-0.127286, 0.0273856, -0.425308, 0.895635)
bones/9/rotation = Quaternion(-0.0931654, 0.0493592, -0.752794, 0.649757)
bones/10/rotation = Quaternion(0.0429966, 0.0102923, 0.363547, 0.930526)
bones/11/rotation = Quaternion(-0.783022, -0.0601473, 0.0752645, 0.614487)
bones/12/rotation = Quaternion(-0.607818, -0.670503, -0.284916, 0.31592)
bones/13/rotation = Quaternion(-0.255941, 0.586097, -0.127235, 0.758153)
bones/14/rotation = Quaternion(-0.513517, -0.227335, -0.228787, 0.795157)
bones/15/rotation = Quaternion(-0.212267, 0.740375, 0.61896, -0.153871)
bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174)
bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514)
bones/18/rotation = Quaternion(-0.119289, 0.0998131, -0.0173011, 0.987678)
bones/19/position = Vector3(-0.332546, -1.15404, -1.87769)
bones/19/rotation = Quaternion(0.617734, 0.305017, 0.56153, -0.458315)
bones/20/rotation = Quaternion(-0.31739, -0.434429, -0.283374, 0.793873)
bones/21/rotation = Quaternion(-0.0603083, 0.00129965, 0.488199, 0.870645)
bones/22/rotation = Quaternion(0.156218, 0.0483037, -0.624744, 0.763516)
bones/23/rotation = Quaternion(0.123936, -0.00678731, -0.347765, 0.92933)
bones/24/rotation = Quaternion(0.427621, 0.561851, 0.530083, 0.469549)
bones/25/position = Vector3(4.82744, -12.3397, 0.183847)
bones/25/rotation = Quaternion(-0.400051, 0.463947, -0.598439, 0.516317)
bones/26/position = Vector3(-0.165895, -1.11395, -2.0182)
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793)
bones/27/rotation = Quaternion(-0.205675, 0.422771, 0.140472, 0.871338)
bones/28/rotation = Quaternion(-0.063614, -0.00115913, -0.507889, 0.85907)
bones/29/rotation = Quaternion(0.150998, -0.0515735, 0.668372, 0.726511)
bones/31/position = Vector3(-7.29038, -6.72226, -0.133983)
bones/31/rotation = Quaternion(-0.453784, 0.542292, 0.542291, -0.453784)
bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893)
[node name="BoneAttachment3D" parent="EnemyModelView/Armature/Skeleton3D" index="0"]
transform = Transform3D(-0.28122, -0.0593245, -0.957808, -0.331584, -0.930606, 0.154995, -0.900537, 0.361182, 0.242033, -1.67603, 8.26688, 4.95147)
[node name="OmniLight3D" parent="EnemyModelView/Armature/Skeleton3D/BoneAttachment3D" index="0"]
light_energy = 0.0
light_indirect_energy = 0.0
[node name="AttackTimer" type="Timer" parent="."]
unique_name_in_owner = true
wait_time = 3.5
@@ -65,3 +111,5 @@ disabled = true
[node name="Rotation" type="Node3D" parent="."]
unique_name_in_owner = true
[editable path="EnemyModelView"]

View File

@@ -1,15 +1,31 @@
[gd_scene load_steps=26 format=4 uid="uid://dnomfbym36ivg"]
[gd_scene load_steps=31 format=4 uid="uid://dnomfbym36ivg"]
[ext_resource type="Script" uid="uid://ckv5dmrw6pvn6" path="res://src/enemy/EnemyModelView3D.cs" id="1_6miqu"]
[ext_resource type="Script" uid="uid://bvcfww5827g74" path="res://src/enemy/enemy_types/BossTypeAEnemyModelView.cs" id="1_f2iok"]
[ext_resource type="Texture2D" uid="uid://dp6hwvuhfkji8" path="res://src/enemy/enemy_types/15. ox_face/models/OX FACE_Metal054C_1K-JPG_Color.jpg" id="1_lsf8e"]
[ext_resource type="AnimationLibrary" uid="uid://dn4501qsypsu" path="res://src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres" id="3_pmgg3"]
[ext_resource type="Texture2D" uid="uid://d3nsmrs41cpxs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Metalness.jpg" id="4_q73y1"]
[ext_resource type="Texture2D" uid="uid://dhk7u4r608cby" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_NormalGL.jpg" id="5_desgq"]
[ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="5_f2iok"]
[ext_resource type="Texture2D" uid="uid://qp3uycxaljcs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Roughness.jpg" id="6_1ch7e"]
[sub_resource type="SphereMesh" id="SphereMesh_v4mpe"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nb428"]
emission_enabled = true
emission = Color(1, 0, 0, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y7226"]
resource_name = "Material"
cull_mode = 2
albedo_texture = ExtResource("1_lsf8e")
albedo_texture_force_srgb = true
metallic = 0.4
metallic_texture = ExtResource("4_q73y1")
roughness_texture = ExtResource("6_1ch7e")
normal_enabled = true
normal_scale = 6.33
normal_texture = ExtResource("5_desgq")
[sub_resource type="ArrayMesh" id="ArrayMesh_5ew54"]
resource_name = "OX FACE_Cube_037"
@@ -200,7 +216,7 @@ bones/0/name = "spine1"
bones/0/parent = -1
bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735)
bones/0/enabled = true
bones/0/position = Vector3(-0.259469, -0.961723, -1.97391)
bones/0/position = Vector3(-0.259798, -0.999285, -1.97138)
bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149)
bones/0/scale = Vector3(1, 1, 1)
bones/1/name = "spine0"
@@ -243,7 +259,7 @@ bones/6/parent = 5
bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0)
bones/6/enabled = true
bones/6/position = Vector3(3.65078e-07, 1.40318, 0)
bones/6/rotation = Quaternion(-0.0704928, -0.302607, -0.744723, 0.590633)
bones/6/rotation = Quaternion(-0.0661862, -0.301047, -0.744653, 0.592016)
bones/6/scale = Vector3(1, 1, 1)
bones/7/name = "Bone.007"
bones/7/parent = 6
@@ -278,7 +294,7 @@ bones/11/parent = 1
bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07)
bones/11/enabled = true
bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07)
bones/11/rotation = Quaternion(-0.784852, -0.0617623, 0.0715771, 0.612429)
bones/11/rotation = Quaternion(-0.782654, -0.0598241, 0.0760018, 0.614897)
bones/11/scale = Vector3(1, 0.999999, 1)
bones/12/name = "arm2_L"
bones/12/parent = 11
@@ -306,7 +322,7 @@ bones/15/parent = 1
bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097)
bones/15/enabled = true
bones/15/position = Vector3(0.00107886, 3.8461, -0.0821095)
bones/15/rotation = Quaternion(-0.210556, 0.737696, 0.621827, -0.157488)
bones/15/rotation = Quaternion(-0.21261, 0.740907, 0.618384, -0.153147)
bones/15/scale = Vector3(1, 1, 1)
bones/16/name = "arm2_R"
bones/16/parent = 15
@@ -333,22 +349,22 @@ bones/19/name = "hip_L"
bones/19/parent = -1
bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735)
bones/19/enabled = true
bones/19/position = Vector3(-0.307336, -1.13019, -1.96076)
bones/19/rotation = Quaternion(0.612399, 0.311274, 0.569887, -0.450895)
bones/19/position = Vector3(-0.337589, -1.15882, -1.86109)
bones/19/rotation = Quaternion(0.618788, 0.303759, 0.559846, -0.459788)
bones/19/scale = Vector3(1, 1, 1)
bones/20/name = "leg1_L"
bones/20/parent = 19
bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07)
bones/20/enabled = true
bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07)
bones/20/rotation = Quaternion(-0.311865, -0.440436, -0.274256, 0.795952)
bones/20/rotation = Quaternion(-0.318485, -0.433221, -0.285183, 0.793446)
bones/20/scale = Vector3(1, 0.999999, 1)
bones/21/name = "leg2_L"
bones/21/parent = 20
bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07)
bones/21/enabled = true
bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07)
bones/21/rotation = Quaternion(-0.0601624, 0.00130066, 0.487017, 0.871317)
bones/21/rotation = Quaternion(-0.0603367, 0.00129945, 0.488427, 0.870515)
bones/21/scale = Vector3(1, 1, 1)
bones/22/name = "foot1_L"
bones/22/parent = 21
@@ -382,7 +398,7 @@ bones/26/name = "hip_R"
bones/26/parent = -1
bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735)
bones/26/enabled = true
bones/26/position = Vector3(-0.239999, -1.11395, -2.0177)
bones/26/position = Vector3(-0.151076, -1.11395, -2.0183)
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793)
bones/26/scale = Vector3(1, 1, 1)
bones/27/name = "leg1_R"
@@ -390,14 +406,14 @@ bones/27/parent = 26
bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07)
bones/27/enabled = true
bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07)
bones/27/rotation = Quaternion(-0.20785, 0.421571, 0.141986, 0.871158)
bones/27/rotation = Quaternion(-0.205251, 0.423005, 0.14017, 0.871373)
bones/27/scale = Vector3(1, 0.999999, 1)
bones/28/name = "leg2_R"
bones/28/parent = 27
bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09)
bones/28/enabled = true
bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09)
bones/28/rotation = Quaternion(-0.0640726, -0.00115616, -0.511551, 0.85686)
bones/28/rotation = Quaternion(-0.06352, -0.00115973, -0.507138, 0.85952)
bones/28/scale = Vector3(1, 1, 1)
bones/29/name = "foot1_R"
bones/29/parent = 28
@@ -429,16 +445,21 @@ bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893)
bones/32/scale = Vector3(1, 1, 1)
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
transform = Transform3D(-0.292622, -0.0771386, -0.953112, -0.329652, -0.9275, 0.176274, -0.897608, 0.365778, 0.245978, -1.66576, 8.30266, 4.94823)
transform = Transform3D(-0.287701, -0.069451, -0.955199, -0.330519, -0.928891, 0.167089, -0.898879, 0.363783, 0.244287, -1.67042, 8.26319, 4.95126)
bone_name = "TOP OF SKULL"
bone_idx = 8
[node name="OmniLight3D" type="OmniLight3D" parent="Armature/Skeleton3D/BoneAttachment3D"]
transform = Transform3D(0.999253, -0.00101584, 0.0386575, -0.00132367, 0.99817, 0.0604484, -0.038649, -0.0604546, 0.997423, -0.0102944, 0.00300789, 0.0351939)
light_color = Color(0, 0.180392, 1, 1)
light_energy = 15.248
light_indirect_energy = 5.14
omni_range = 4.628
[node name="RED EYE" type="MeshInstance3D" parent="Armature/Skeleton3D/BoneAttachment3D"]
transform = Transform3D(-0.129256, -0.141102, -0.385076, -0.0385247, -0.397785, 0.15869, -0.4083, 0.0822014, 0.10693, -0.269631, -0.575198, 1.44186)
mesh = SubResource("SphereMesh_v4mpe")
skeleton = NodePath("../../../..")
surface_material_override/0 = SubResource("StandardMaterial3D_nb428")
[node name="RED EYE2" type="MeshInstance3D" parent="Armature/Skeleton3D/BoneAttachment3D"]
transform = Transform3D(-0.129256, -0.141102, -0.385076, -0.0385247, -0.397785, 0.15869, -0.4083, 0.0822014, 0.10693, -1.09887, -0.647159, -0.891094)
mesh = SubResource("SphereMesh_v4mpe")
skeleton = NodePath("../../../..")
surface_material_override/0 = SubResource("StandardMaterial3D_nb428")
[node name="MeshInstance" type="MeshInstance3D" parent="Armature/Skeleton3D"]
unique_name_in_owner = true