new autotargettinf script, dash
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ebddd29a45010564a8fa3d7bcfdb119c
|
||||
ModelImporter:
|
||||
serializedVersion: 21300
|
||||
serializedVersion: 22200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
@@ -15,16 +15,10 @@ ModelImporter:
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 1
|
||||
motionNodeName: <Root Transform>
|
||||
rigImportErrors:
|
||||
rigImportWarnings: "Avatar Rig Configuration mis-match. Inbetween bone rotation
|
||||
in configuration does not match rotation in animation file:\n\t'BBascileusLForearm2'
|
||||
: rotation error = 4.964906 deg\n\t'BBascileusRForearm2' : rotation error =
|
||||
12.815095 deg\n"
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings: "\nClip 'bazyl das' has import animation warnings that
|
||||
might lower retargeting quality:\nNote: Activate translation DOF on avatar
|
||||
to improve retargeting quality.\n\t'BBascileusRibcage' is inbetween humanoid
|
||||
might lower retargeting quality:\n\t'BBascileusRibcage' is inbetween humanoid
|
||||
transforms and has rotation animation that will be discarded.\n\t'BBascileusLForearm2'
|
||||
is inbetween humanoid transforms and has rotation animation that will be discarded.\n\t'BBascileusRForearm2'
|
||||
is inbetween humanoid transforms and has rotation animation that will be discarded.\n"
|
||||
@@ -77,6 +71,7 @@ ModelImporter:
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
@@ -104,6 +99,7 @@ ModelImporter:
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
@@ -662,13 +658,13 @@ ModelImporter:
|
||||
- name: BBascileusPelvisBone001
|
||||
parentName: BBascileusPelvis
|
||||
position: {x: 0.07825821, y: 0.20177604, z: -0.00000001769571}
|
||||
rotation: {x: 0.000000029802322, y: 0.000000029802322, z: -0.9999417, w: 0.010801524}
|
||||
scale: {x: 0.9999998, y: 0.99999994, z: 1.0000001}
|
||||
rotation: {x: 0.000000014901161, y: 0.000000029802322, z: -0.9999417, w: 0.010801569}
|
||||
scale: {x: 0.99999964, y: 0.9999999, z: 1}
|
||||
- name: BBascileusPelvisBone001Bone001
|
||||
parentName: BBascileusPelvisBone001
|
||||
position: {x: -0.19667259, y: -0.000000019073486, z: -5.820766e-13}
|
||||
rotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
scale: {x: 0.9999996, y: 0.99999994, z: 0.9999999}
|
||||
scale: {x: 0.9999996, y: 0.9999999, z: 0.99999994}
|
||||
- name: BBascileusPelvisBone002
|
||||
parentName: BBascileusPelvis
|
||||
position: {x: 0.07724678, y: -0.08808943, z: 0.000000027646893}
|
||||
@@ -681,66 +677,66 @@ ModelImporter:
|
||||
scale: {x: 1, y: 1, z: 1}
|
||||
- name: BBascileusLThigh
|
||||
parentName: BBascileusPelvis
|
||||
position: {x: -0.014909821, y: 0.048745498, z: 0.09665708}
|
||||
rotation: {x: -0.0054056644, y: 0.9980384, z: -0.007663563, w: 0.061898887}
|
||||
scale: {x: 0.9999997, y: 1, z: 1.0000008}
|
||||
position: {x: -0.014909896, y: 0.04874546, z: 0.09665708}
|
||||
rotation: {x: -0.0054056942, y: 0.9980384, z: -0.007663578, w: 0.061898917}
|
||||
scale: {x: 0.9999993, y: 1.0000005, z: 1.0000007}
|
||||
- name: Point_Sztylet
|
||||
parentName: BBascileusLThigh
|
||||
position: {x: -0.25436163, y: 0.118086085, z: -0.086462244}
|
||||
rotation: {x: 0.56421405, y: 0.28355482, z: 0.76616836, w: 0.11935343}
|
||||
position: {x: -0.25436157, y: 0.11808612, z: -0.086462244}
|
||||
rotation: {x: 0.5642141, y: 0.2835549, z: 0.76616836, w: 0.11935341}
|
||||
scale: {x: 1.000001, y: 1, z: 1}
|
||||
- name: Point_Sztylet001
|
||||
parentName: Point_Sztylet
|
||||
position: {x: 0.000000076293944, y: 0.000000057220458, z: 0}
|
||||
rotation: {x: 0.0000000023283075, y: -0.000000044703494, z: 0.000000021420425,
|
||||
position: {x: 0.000000095367426, y: 0.000000038146972, z: -0.000000076293944}
|
||||
rotation: {x: 0.000000005122275, y: -0.000000044703487, z: 0.0000000030267988,
|
||||
w: 1}
|
||||
scale: {x: 1, y: 1, z: 1}
|
||||
- name: SZTYLET_pochwa_low
|
||||
parentName: Point_Sztylet001
|
||||
position: {x: 0.000000057220458, y: 0, z: 0.000000076293944}
|
||||
rotation: {x: -0.0000000037252836, y: 0.00000007450581, z: -0.000000092899434,
|
||||
position: {x: 0.000000057220458, y: 0.000000019073486, z: 0.00000015258789}
|
||||
rotation: {x: 0.000000012572856, y: 0.000000014901161, z: -0.00000006170013,
|
||||
w: 1}
|
||||
scale: {x: 1, y: 1, z: 1}
|
||||
- name: SZTYLET_low
|
||||
parentName: SZTYLET_pochwa_low
|
||||
position: {x: 0.000373497, y: 0.014393616, z: 0.1581604}
|
||||
rotation: {x: 0.00000001071021, y: 3.0422713e-16, z: 0.000000028405339, w: 1}
|
||||
position: {x: 0.000373497, y: 0.014393577, z: 0.15816031}
|
||||
rotation: {x: 0.000000012572856, y: 3.366448e-17, z: 0.0000000026775526, w: 1}
|
||||
scale: {x: 1, y: 1, z: 1}
|
||||
- name: BBascileusLCalf
|
||||
parentName: BBascileusLThigh
|
||||
position: {x: -0.5443753, y: 0.0000002670288, z: -0.0000013446808}
|
||||
rotation: {x: 0.0022383004, y: 0.0055216365, z: 0.07750407, w: 0.9969743}
|
||||
scale: {x: 1.0000045, y: 0.9999952, z: 1.0000001}
|
||||
position: {x: -0.5443753, y: 0.00000022888183, z: -0.0000013160706}
|
||||
rotation: {x: 0.0022382895, y: 0.0055216663, z: 0.0775041, w: 0.9969743}
|
||||
scale: {x: 1.000005, y: 0.99999577, z: 1.0000004}
|
||||
- name: BBascileusLFoot
|
||||
parentName: BBascileusLCalf
|
||||
position: {x: -0.4400637, y: -0.000000007152557, z: 0}
|
||||
rotation: {x: -0.17019457, y: -0.049529366, z: -0.65981215, w: 0.73022515}
|
||||
scale: {x: 1.0000083, y: 0.9999913, z: 1.0000008}
|
||||
position: {x: -0.44006374, y: 0, z: 0}
|
||||
rotation: {x: -0.17019452, y: -0.04952934, z: -0.6598121, w: 0.73022515}
|
||||
scale: {x: 1.0000082, y: 0.9999915, z: 1.0000007}
|
||||
- name: BBascileusLToe11
|
||||
parentName: BBascileusLFoot
|
||||
position: {x: -0.16457953, y: 0, z: 0}
|
||||
rotation: {x: 0.000043481577, y: -0.00038452438, z: -0.11183561, w: 0.9937267}
|
||||
scale: {x: 1.0000006, y: 0.99999875, z: 1.0000001}
|
||||
rotation: {x: 0.000043451775, y: -0.00038453183, z: -0.111835785, w: 0.9937267}
|
||||
scale: {x: 1.0000002, y: 0.9999989, z: 1.0000001}
|
||||
- name: BBascileusRThigh
|
||||
parentName: BBascileusPelvis
|
||||
position: {x: -0.014909896, y: 0.048745416, z: -0.09665707}
|
||||
rotation: {x: -0.0053949207, y: 0.998028, z: 0.0076718926, w: -0.062066972}
|
||||
scale: {x: 1.0000012, y: 1.0000011, z: 1.0000002}
|
||||
position: {x: -0.014909896, y: 0.048745453, z: -0.09665705}
|
||||
rotation: {x: -0.0053948015, y: 0.9980279, z: 0.0076719522, w: -0.06206703}
|
||||
scale: {x: 1.0000011, y: 1.0000013, z: 1.0000004}
|
||||
- name: BBascileusRCalf
|
||||
parentName: BBascileusRThigh
|
||||
position: {x: -0.54437524, y: 0.00000030517577, z: 0.0000013542175}
|
||||
rotation: {x: -0.0022075963, y: -0.006138265, z: 0.07753153, w: 0.9969686}
|
||||
scale: {x: 1.000002, y: 0.999999, z: 1.0000005}
|
||||
position: {x: -0.54437536, y: 0.00000030517577, z: 0.000001335144}
|
||||
rotation: {x: -0.0022075346, y: -0.006138332, z: 0.07753142, w: 0.99696857}
|
||||
scale: {x: 1.0000015, y: 0.99999845, z: 1.0000001}
|
||||
- name: BBascileusRFoot
|
||||
parentName: BBascileusRCalf
|
||||
position: {x: -0.4400637, y: -0.000000009536743, z: 0}
|
||||
rotation: {x: 0.17011751, y: 0.050110403, z: -0.6599207, w: 0.7301053}
|
||||
scale: {x: 1.0000033, y: 0.99999666, z: 1.0000002}
|
||||
position: {x: -0.44006374, y: 0.000000009536743, z: 0}
|
||||
rotation: {x: 0.17011748, y: 0.050110415, z: -0.65992075, w: 0.7301053}
|
||||
scale: {x: 1.0000038, y: 0.9999968, z: 1.0000007}
|
||||
- name: BBascileusRToe11
|
||||
parentName: BBascileusRFoot
|
||||
position: {x: -0.16457959, y: 0, z: -0.000000009536743}
|
||||
rotation: {x: -0.000006079673, y: 0.000051505856, z: -0.11175243, w: 0.99373615}
|
||||
scale: {x: 1.0000006, y: 0.9999996, z: 1.0000002}
|
||||
position: {x: -0.16457959, y: 0.0000000047683715, z: 0}
|
||||
rotation: {x: -0.000006042421, y: 0.000051535666, z: -0.111752465, w: 0.99373615}
|
||||
scale: {x: 1.0000005, y: 0.9999996, z: 1.0000002}
|
||||
- name: BBascileusSpine1
|
||||
parentName: BBascileusPelvis
|
||||
position: {x: -0.050127562, y: 0.034697857, z: -0.000000015592086}
|
||||
@@ -749,13 +745,13 @@ ModelImporter:
|
||||
- name: BBascileusSpine2
|
||||
parentName: BBascileusSpine1
|
||||
position: {x: -0.1697451, y: -0.000000009536743, z: 0}
|
||||
rotation: {x: -0.0000010291151, y: -0.000000008657171, z: -0.09791627, w: -0.99519473}
|
||||
scale: {x: 1.0000011, y: 1.000001, z: 1.0000006}
|
||||
rotation: {x: -0.0000010291151, y: -0.000000008657238, z: -0.0979162, w: -0.9951947}
|
||||
scale: {x: 1.000001, y: 1.0000011, z: 1.0000008}
|
||||
- name: BBascileusSpine3
|
||||
parentName: BBascileusSpine2
|
||||
position: {x: -0.14894363, y: -0.0000000047683715, z: 0}
|
||||
rotation: {x: -0.0000061287524, y: 0.0000012585541, z: 0.10858775, w: 0.99408686}
|
||||
scale: {x: 1.0000013, y: 1.0000013, z: 1.0000012}
|
||||
rotation: {x: -0.000006128753, y: 0.000001258554, z: 0.108587824, w: 0.99408686}
|
||||
scale: {x: 1.0000006, y: 1.0000001, z: 1.0000005}
|
||||
- name: BBascileusRibcage
|
||||
parentName: BBascileusSpine3
|
||||
position: {x: -0.13884567, y: 0, z: -5.820766e-13}
|
||||
@@ -808,338 +804,338 @@ ModelImporter:
|
||||
- name: BBascileusLCollarbone
|
||||
parentName: BBascileusRibcage
|
||||
position: {x: 0.019088592, y: 0.08539459, z: 0.033116244}
|
||||
rotation: {x: 0.0027111778, y: 0.6781315, z: 0.22975281, w: 0.69810027}
|
||||
scale: {x: 0.9999997, y: 1.0000004, z: 1.0000013}
|
||||
rotation: {x: 0.0027113864, y: 0.67813134, z: 0.22975293, w: 0.6981003}
|
||||
scale: {x: 0.99999905, y: 1.0000005, z: 1.0000006}
|
||||
- name: BBascileusLUpperarm
|
||||
parentName: BBascileusLCollarbone
|
||||
position: {x: -0.16346252, y: 0, z: -0.00000015258789}
|
||||
rotation: {x: 0.15174195, y: 0.037312757, z: -0.16109477, w: 0.97449}
|
||||
scale: {x: 0.9999998, y: 1.0000007, z: 1.0000006}
|
||||
rotation: {x: 0.1517419, y: 0.03731315, z: -0.1610948, w: 0.97448987}
|
||||
scale: {x: 1.000001, y: 1.0000014, z: 1.0000017}
|
||||
- name: BBascileusLForearm1
|
||||
parentName: BBascileusLUpperarm
|
||||
position: {x: -0.28799826, y: 0.000000038146972, z: 0.000000038146972}
|
||||
rotation: {x: 0.049899615, y: -0.022131823, z: -0.02222066, w: 0.9982617}
|
||||
scale: {x: 0.9999998, y: 1.0000018, z: 0.9999996}
|
||||
rotation: {x: 0.049899474, y: -0.022132102, z: -0.022220863, w: 0.9982617}
|
||||
scale: {x: 0.9999995, y: 1.0000013, z: 0.9999999}
|
||||
- name: BBascileusLForearm2
|
||||
parentName: BBascileusLForearm1
|
||||
position: {x: -0.15145752, y: 0, z: 0}
|
||||
rotation: {x: -0.028443605, y: -0.000000029802322, z: -0.00000011920929, w: 0.99959546}
|
||||
scale: {x: 1.0000005, y: 0.9999997, z: 1.0000007}
|
||||
rotation: {x: -0.028443545, y: 0.000000059604645, z: -0, w: 0.99959546}
|
||||
scale: {x: 1.0000005, y: 0.9999999, z: 0.9999999}
|
||||
- name: BBascileusLPalm
|
||||
parentName: BBascileusLForearm2
|
||||
position: {x: -0.15145752, y: -0.000000038146972, z: 0.000000038146972}
|
||||
rotation: {x: -0.724727, y: 0.045742925, z: 0.06300033, w: 0.6846236}
|
||||
scale: {x: 1.0000007, y: 1.0000018, z: 0.99999875}
|
||||
rotation: {x: -0.7247269, y: 0.04574296, z: 0.06300035, w: 0.6846236}
|
||||
scale: {x: 1.0000001, y: 1.0000019, z: 0.9999989}
|
||||
- name: BBascileusLDigit21
|
||||
parentName: BBascileusLPalm
|
||||
position: {x: -0.079194985, y: 0.013246307, z: 0.030535659}
|
||||
rotation: {x: 0.10257624, y: 0.050627448, z: -0.034644864, w: 0.99283165}
|
||||
scale: {x: 1.000001, y: 1.0000006, z: 0.9999992}
|
||||
position: {x: -0.079194866, y: 0.013246307, z: 0.030535622}
|
||||
rotation: {x: 0.102575794, y: 0.050627228, z: -0.03464561, w: 0.99283177}
|
||||
scale: {x: 1.0000011, y: 1.0000005, z: 0.99999905}
|
||||
- name: BBascileusLDigit22
|
||||
parentName: BBascileusLDigit21
|
||||
position: {x: -0.038691215, y: 0, z: 0}
|
||||
rotation: {x: -0.00000014901153, y: -0.00000081583806, z: 0.0398323, w: 0.99920636}
|
||||
scale: {x: 1.0000002, y: 1.0000002, z: 0.999999}
|
||||
position: {x: -0.038691252, y: 0, z: 0}
|
||||
rotation: {x: -0.00000010430811, y: 0.0000003501772, z: 0.039835792, w: 0.9992063}
|
||||
scale: {x: 1, y: 1.0000001, z: 0.9999989}
|
||||
- name: BBascileusLDigit23
|
||||
parentName: BBascileusLDigit22
|
||||
position: {x: -0.026512375, y: 0, z: 0.000000038146972}
|
||||
rotation: {x: 0.000000099732475, y: -0.000000057600015, z: 0.049723566, w: 0.998763}
|
||||
scale: {x: 1.0000013, y: 1.000001, z: 0.99999934}
|
||||
position: {x: -0.026512375, y: -0.000000038146972, z: 0.000000038146972}
|
||||
rotation: {x: -0.000000041706244, y: 0.000000011140897, z: 0.049723573, w: 0.998763}
|
||||
scale: {x: 1.0000013, y: 1.000001, z: 0.9999994}
|
||||
- name: BBascileusLDigit31
|
||||
parentName: BBascileusLPalm
|
||||
position: {x: -0.08202087, y: 0.017218018, z: 0.005308876}
|
||||
rotation: {x: 0.05547659, y: 0.012086258, z: -0.027844438, w: 0.9979985}
|
||||
scale: {x: 1.0000005, y: 1.0000002, z: 0.99999934}
|
||||
position: {x: -0.0820208, y: 0.017218018, z: 0.005308876}
|
||||
rotation: {x: 0.05547654, y: 0.012086922, z: -0.027845584, w: 0.9979985}
|
||||
scale: {x: 1.0000012, y: 1.0000005, z: 0.9999993}
|
||||
- name: BBascileusLDigit32
|
||||
parentName: BBascileusLDigit31
|
||||
position: {x: -0.042970315, y: 0, z: 0.000000038146972}
|
||||
rotation: {x: 0.000000029802305, y: -0.00000026077018, z: 0.03983521, w: 0.9992063}
|
||||
scale: {x: 0.9999992, y: 1.0000005, z: 1.0000002}
|
||||
position: {x: -0.042970274, y: 0, z: 0}
|
||||
rotation: {x: -0.00000008195635, y: -0.0000004004685, z: 0.03983326, w: 0.9992063}
|
||||
scale: {x: 0.9999987, y: 1.0000005, z: 1.0000004}
|
||||
- name: BBascileusLDigit33
|
||||
parentName: BBascileusLDigit32
|
||||
position: {x: -0.02593628, y: 0, z: 0}
|
||||
rotation: {x: -0.00000009170627, y: 8.142819e-11, z: 0.027146723, w: 0.9996315}
|
||||
scale: {x: 0.9999991, y: 1.0000002, z: 1.0000004}
|
||||
rotation: {x: -0.000000033767993, y: -0.0000000071652444, z: 0.027146734, w: 0.9996315}
|
||||
scale: {x: 0.9999993, y: 1.0000005, z: 1.0000005}
|
||||
- name: BBascileusLDigit41
|
||||
parentName: BBascileusLPalm
|
||||
position: {x: -0.07846595, y: 0.018682862, z: -0.01876114}
|
||||
rotation: {x: 0.061978646, y: -0.008323082, z: -0.03601368, w: 0.99739283}
|
||||
scale: {x: 1.0000005, y: 1.0000004, z: 0.9999992}
|
||||
position: {x: -0.078465916, y: 0.018682862, z: -0.01876114}
|
||||
rotation: {x: 0.06197884, y: -0.0083214445, z: -0.036015715, w: 0.9973927}
|
||||
scale: {x: 1.0000008, y: 1.0000006, z: 0.9999993}
|
||||
- name: BBascileusLDigit42
|
||||
parentName: BBascileusLDigit41
|
||||
position: {x: -0.038855664, y: 0, z: 0}
|
||||
rotation: {x: 0.0015541378, y: -0.010334632, z: 0.038331375, w: 0.9992104}
|
||||
scale: {x: 0.99999934, y: 1.0000006, z: 1.0000006}
|
||||
position: {x: -0.038855743, y: 0, z: 0}
|
||||
rotation: {x: 0.001554284, y: -0.010334772, z: 0.038328562, w: 0.99921054}
|
||||
scale: {x: 0.99999917, y: 1.0000007, z: 1.0000008}
|
||||
- name: BBascileusLDigit43
|
||||
parentName: BBascileusLDigit42
|
||||
position: {x: -0.029392546, y: 0, z: -0.000000038146972}
|
||||
rotation: {x: 0.000000073574476, y: 0.0000000037252899, z: 0.0008555441, w: 0.9999997}
|
||||
scale: {x: 0.99999934, y: 1.0000006, z: 1.0000002}
|
||||
position: {x: -0.029392472, y: -0.000000038146972, z: -0.000000019073486}
|
||||
rotation: {x: -0.0000000023283062, y: -0.00000004470348, z: 0.0008554753, w: 0.9999997}
|
||||
scale: {x: 0.99999976, y: 1.0000008, z: 1.0000001}
|
||||
- name: BBascileusLDigit51
|
||||
parentName: BBascileusLPalm
|
||||
position: {x: -0.06530929, y: 0.015980758, z: -0.03695217}
|
||||
rotation: {x: -0.06901986, y: -0.009341053, z: -0.04650144, w: 0.9964872}
|
||||
scale: {x: 0.9999992, y: 1.0000005, z: 1.0000005}
|
||||
position: {x: -0.06530922, y: 0.015980758, z: -0.036952056}
|
||||
rotation: {x: -0.06901982, y: -0.009340377, z: -0.046502143, w: 0.9964872}
|
||||
scale: {x: 0.9999995, y: 1.0000006, z: 1.0000005}
|
||||
- name: BBascileusLDigit52
|
||||
parentName: BBascileusLDigit51
|
||||
position: {x: -0.034564514, y: -0.000000038146972, z: 0}
|
||||
rotation: {x: 0.0023405983, y: -0.0013786554, z: 0.039544616, w: 0.9992141}
|
||||
scale: {x: 0.99999934, y: 1.0000008, z: 1.0000004}
|
||||
position: {x: -0.034564435, y: 0, z: 0}
|
||||
rotation: {x: 0.002340532, y: -0.0013765278, z: 0.039537705, w: 0.9992144}
|
||||
scale: {x: 0.9999994, y: 1.0000008, z: 1.0000004}
|
||||
- name: BBascileusLDigit53
|
||||
parentName: BBascileusLDigit52
|
||||
position: {x: -0.015238647, y: 0.000000019073486, z: 0.000000038146972}
|
||||
rotation: {x: -0.00000014668329, y: 0.000000056112178, z: 0.0008554602, w: 0.99999964}
|
||||
scale: {x: 0.9999992, y: 1.0000004, z: 1}
|
||||
position: {x: -0.015238647, y: 0, z: 0.000000038146972}
|
||||
rotation: {x: 0.000000073341646, y: 0.000000008149072, z: 0.00085540017, w: 0.9999997}
|
||||
scale: {x: 0.9999993, y: 1.0000005, z: 1}
|
||||
- name: BBascileusLDigit11
|
||||
parentName: BBascileusLPalm
|
||||
position: {x: -0.016858406, y: 0.0005366516, z: 0.027796859}
|
||||
rotation: {x: 0.46113008, y: 0.34610605, z: -0.18941285, w: 0.7947908}
|
||||
scale: {x: 1.0000007, y: 1.0000005, z: 0.9999996}
|
||||
position: {x: -0.01685833, y: 0.0005367279, z: 0.027796859}
|
||||
rotation: {x: 0.4611306, y: 0.34610757, z: -0.1894128, w: 0.7947899}
|
||||
scale: {x: 1.0000014, y: 1.0000004, z: 1.0000001}
|
||||
- name: BBascileusLDigit12
|
||||
parentName: BBascileusLDigit11
|
||||
position: {x: -0.03630478, y: 0, z: 0}
|
||||
rotation: {x: -0.000000022351742, y: -0.00000014901161, z: 0.021399751, w: 0.999771}
|
||||
scale: {x: 1.000001, y: 0.9999986, z: 1.0000005}
|
||||
position: {x: -0.036304817, y: 0, z: -0.000000038146972}
|
||||
rotation: {x: -0.000000007450581, y: -0.00000008940697, z: 0.021399781, w: 0.99977106}
|
||||
scale: {x: 1.0000006, y: 0.99999857, z: 1.0000002}
|
||||
- name: BBascileusLDigit13
|
||||
parentName: BBascileusLDigit12
|
||||
position: {x: -0.033260155, y: -0.000000076293944, z: 0.000000019073486}
|
||||
rotation: {x: 0.00000006226293, y: 0.00000005667964, z: 0.05987306, w: 0.998206}
|
||||
scale: {x: 1.0000011, y: 0.9999992, z: 1.0000007}
|
||||
position: {x: -0.033260114, y: 0, z: 0.000000019073486}
|
||||
rotation: {x: 0.000000051294265, y: 0.000000057913727, z: 0.05987303, w: 0.998206}
|
||||
scale: {x: 1.0000006, y: 0.99999917, z: 1.0000004}
|
||||
- name: BBascileusRCollarbone
|
||||
parentName: BBascileusRibcage
|
||||
position: {x: 0.019088745, y: 0.0853946, z: -0.033116236}
|
||||
rotation: {x: 0.002706964, y: 0.6781323, z: -0.22974865, w: -0.6981009}
|
||||
scale: {x: 1.0000001, y: 1.0000002, z: 1.0000005}
|
||||
rotation: {x: 0.002706972, y: 0.6781323, z: -0.22974865, w: -0.698101}
|
||||
scale: {x: 1, y: 1.0000006, z: 1.0000007}
|
||||
- name: BBascileusRUpperarm
|
||||
parentName: BBascileusRCollarbone
|
||||
position: {x: -0.16346253, y: 0, z: -0.00000015258789}
|
||||
rotation: {x: -0.15174213, y: -0.03731408, z: -0.16109489, w: 0.97448987}
|
||||
scale: {x: 0.9999996, y: 1.0000008, z: 1.0000017}
|
||||
rotation: {x: -0.151742, y: -0.037314214, z: -0.16109484, w: 0.9744898}
|
||||
scale: {x: 0.9999999, y: 1.0000006, z: 1.0000019}
|
||||
- name: BBascileusRForearm1
|
||||
parentName: BBascileusRUpperarm
|
||||
position: {x: -0.2879984, y: 0, z: 0}
|
||||
rotation: {x: -0.049899235, y: 0.022132136, z: -0.022220159, w: 0.9982618}
|
||||
scale: {x: 1.000002, y: 1.0000024, z: 1.0000008}
|
||||
rotation: {x: -0.049899247, y: 0.022132378, z: -0.022220695, w: 0.99826175}
|
||||
scale: {x: 1.0000018, y: 1.0000026, z: 1.0000005}
|
||||
- name: BBascileusRForearm2
|
||||
parentName: BBascileusRForearm1
|
||||
position: {x: -0.1514576, y: -0.000000009536743, z: 0}
|
||||
rotation: {x: 0.028443707, y: -0, z: -0.0000001573935, w: 0.9995954}
|
||||
scale: {x: 1.0000001, y: 0.99999994, z: 1.0000001}
|
||||
rotation: {x: 0.028443636, y: -0, z: -0.000000059604645, w: 0.9995954}
|
||||
scale: {x: 1.0000004, y: 1, z: 1.0000002}
|
||||
- name: BBascileusRPalm
|
||||
parentName: BBascileusRForearm2
|
||||
position: {x: -0.15145752, y: 0, z: 0}
|
||||
rotation: {x: 0.72472686, y: -0.045742866, z: 0.063000314, w: 0.68462366}
|
||||
scale: {x: 0.9999998, y: 0.99999934, z: 0.9999992}
|
||||
rotation: {x: 0.72472686, y: -0.04574296, z: 0.06300014, w: 0.68462366}
|
||||
scale: {x: 1, y: 0.99999917, z: 0.9999994}
|
||||
- name: BBascileusRDigit21
|
||||
parentName: BBascileusRPalm
|
||||
position: {x: -0.079194866, y: 0.013246269, z: -0.030535592}
|
||||
rotation: {x: -0.10257572, y: -0.0506268, z: -0.03464471, w: 0.9928318}
|
||||
scale: {x: 0.9999997, y: 0.99999994, z: 1.0000005}
|
||||
position: {x: -0.07919472, y: 0.013246193, z: -0.030535573}
|
||||
rotation: {x: -0.10257573, y: -0.050627016, z: -0.034642663, w: 0.9928318}
|
||||
scale: {x: 0.99999905, y: 0.99999976, z: 1.0000002}
|
||||
- name: BBascileusRDigit22
|
||||
parentName: BBascileusRDigit21
|
||||
position: {x: -0.03869133, y: 0, z: 0.000000019073486}
|
||||
rotation: {x: 0.00000006705516, y: 0.0000003091988, z: 0.039836757, w: 0.9992062}
|
||||
scale: {x: 0.9999992, y: 1.0000002, z: 1.0000013}
|
||||
position: {x: -0.03869133, y: 0, z: 0}
|
||||
rotation: {x: -0.000000096857505, y: 0.00000032037482, z: 0.039836213, w: 0.99920624}
|
||||
scale: {x: 0.99999905, y: 1.0000001, z: 1.0000008}
|
||||
- name: BBascileusRDigit23
|
||||
parentName: BBascileusRDigit22
|
||||
position: {x: -0.026512375, y: 0, z: 0.000000019073486}
|
||||
rotation: {x: 0.000000030691712, y: 0.00000012978838, z: 0.049723648, w: 0.998763}
|
||||
scale: {x: 0.99999934, y: 0.9999998, z: 1.0000014}
|
||||
position: {x: -0.026512299, y: 0.000000019073486, z: -0.000000019073486}
|
||||
rotation: {x: 0.00000012797352, y: 0.000000062678154, z: 0.04972358, w: 0.998763}
|
||||
scale: {x: 0.9999993, y: 1.0000001, z: 1.0000007}
|
||||
- name: BBascileusRDigit31
|
||||
parentName: BBascileusRPalm
|
||||
position: {x: -0.08202087, y: 0.017218018, z: -0.005308876}
|
||||
rotation: {x: -0.055476323, y: -0.0120856995, z: -0.027843393, w: 0.9979986}
|
||||
scale: {x: 0.9999997, y: 0.9999998, z: 1.0000008}
|
||||
position: {x: -0.08202064, y: 0.017217979, z: -0.005308876}
|
||||
rotation: {x: -0.055476498, y: -0.012085809, z: -0.027841467, w: 0.99799865}
|
||||
scale: {x: 0.99999917, y: 0.9999994, z: 1.0000002}
|
||||
- name: BBascileusRDigit32
|
||||
parentName: BBascileusRDigit31
|
||||
position: {x: -0.042970274, y: -0.000000038146972, z: -0.000000019073486}
|
||||
rotation: {x: -0.000000100582746, y: -0.00000046100425, z: 0.03983037, w: 0.9992064}
|
||||
scale: {x: 0.9999991, y: 0.9999998, z: 1.0000007}
|
||||
position: {x: -0.0429702, y: 0.000000038146972, z: -0.000000009536743}
|
||||
rotation: {x: -0.00000015273682, y: -0.00000007823105, z: 0.039831243, w: 0.9992065}
|
||||
scale: {x: 0.9999994, y: 1, z: 1.0000011}
|
||||
- name: BBascileusRDigit33
|
||||
parentName: BBascileusRDigit32
|
||||
position: {x: -0.025936356, y: -0.000000019073486, z: -0.000000009536743}
|
||||
rotation: {x: 0.0000000133383775, y: 0.000000035748265, z: 0.027146708, w: 0.99963146}
|
||||
scale: {x: 0.9999997, y: 1, z: 1.0000006}
|
||||
position: {x: -0.02593628, y: 0, z: 0}
|
||||
rotation: {x: 0.00000013844094, y: -0.00000013755212, z: 0.027146764, w: 0.9996315}
|
||||
scale: {x: 0.99999964, y: 1.0000002, z: 1.0000007}
|
||||
- name: BBascileusRDigit41
|
||||
parentName: BBascileusRPalm
|
||||
position: {x: -0.07846588, y: 0.018682899, z: 0.018761063}
|
||||
rotation: {x: -0.0619784, y: 0.008323382, z: -0.03601435, w: 0.9973928}
|
||||
scale: {x: 0.9999992, y: 1, z: 1.000001}
|
||||
position: {x: -0.07846573, y: 0.018682862, z: 0.018761033}
|
||||
rotation: {x: -0.061978303, y: 0.0083235195, z: -0.03601367, w: 0.9973929}
|
||||
scale: {x: 0.99999905, y: 0.9999999, z: 1.0000005}
|
||||
- name: BBascileusRDigit42
|
||||
parentName: BBascileusRDigit41
|
||||
position: {x: -0.038855817, y: 0, z: -0.000000019073486}
|
||||
rotation: {x: -0.0015540409, y: 0.010333558, z: 0.038327653, w: 0.99921066}
|
||||
scale: {x: 1.0000008, y: 1, z: 0.9999998}
|
||||
position: {x: -0.038855817, y: -0.000000038146972, z: 0}
|
||||
rotation: {x: -0.0015540672, y: 0.010333283, z: 0.038329106, w: 0.99921054}
|
||||
scale: {x: 1.000001, y: 1.0000001, z: 0.99999976}
|
||||
- name: BBascileusRDigit43
|
||||
parentName: BBascileusRDigit42
|
||||
position: {x: -0.029392472, y: 0, z: 0}
|
||||
rotation: {x: -0.000000062398605, y: -0.000000029802319, z: 0.0008554306, w: 0.99999964}
|
||||
scale: {x: 1.0000011, y: 1, z: 0.9999996}
|
||||
position: {x: -0.029392546, y: 0, z: 0.000000009536743}
|
||||
rotation: {x: 0.000000027823258, y: 0.000000104308114, z: 0.0008553566, w: 0.99999964}
|
||||
scale: {x: 1.0000014, y: 1.0000001, z: 1}
|
||||
- name: BBascileusRDigit51
|
||||
parentName: BBascileusRPalm
|
||||
position: {x: -0.06530922, y: 0.015980681, z: 0.036952037}
|
||||
rotation: {x: 0.069020085, y: 0.009342177, z: -0.046499103, w: 0.9964872}
|
||||
scale: {x: 1.0000006, y: 0.9999998, z: 0.99999946}
|
||||
position: {x: -0.06530899, y: 0.015980681, z: 0.036952}
|
||||
rotation: {x: 0.06902015, y: 0.009342157, z: -0.046498757, w: 0.9964872}
|
||||
scale: {x: 1.0000005, y: 0.99999976, z: 0.9999988}
|
||||
- name: BBascileusRDigit52
|
||||
parentName: BBascileusRDigit51
|
||||
position: {x: -0.034564514, y: -0.000000019073486, z: 0.000000009536743}
|
||||
rotation: {x: -0.0023418132, y: 0.0013763544, z: 0.039538033, w: 0.9992144}
|
||||
scale: {x: 1.0000007, y: 0.9999992, z: 0.9999998}
|
||||
position: {x: -0.034564514, y: 0.000000038146972, z: 0.000000019073486}
|
||||
rotation: {x: -0.0023419624, y: 0.0013773353, z: 0.03954194, w: 0.99921423}
|
||||
scale: {x: 1.000001, y: 0.9999994, z: 1.0000001}
|
||||
- name: BBascileusRDigit53
|
||||
parentName: BBascileusRDigit52
|
||||
position: {x: -0.015238647, y: 0, z: 0.000000009536743}
|
||||
rotation: {x: -0.00000006123445, y: 0.00000004912726, z: 0.00085544266, w: 0.99999964}
|
||||
scale: {x: 1.0000007, y: 0.99999946, z: 0.9999998}
|
||||
position: {x: -0.015238647, y: 0, z: 0}
|
||||
rotation: {x: -0.000000020023435, y: 0.000000015832484, z: 0.0008555545, w: 0.9999997}
|
||||
scale: {x: 1.000001, y: 0.99999964, z: 1}
|
||||
- name: BBascileusRDigit11
|
||||
parentName: BBascileusRPalm
|
||||
position: {x: -0.01685829, y: 0.0005367279, z: -0.027796812}
|
||||
rotation: {x: -0.46112975, y: -0.3461063, z: -0.18941282, w: 0.79479086}
|
||||
scale: {x: 0.9999986, y: 1.0000005, z: 1.0000008}
|
||||
position: {x: -0.01685829, y: 0.00053668977, z: -0.027796801}
|
||||
rotation: {x: -0.46113047, y: -0.346107, z: -0.18941054, w: 0.7947908}
|
||||
scale: {x: 0.9999982, y: 0.99999976, z: 1.0000004}
|
||||
- name: BBascileusRDigit12
|
||||
parentName: BBascileusRDigit11
|
||||
position: {x: -0.036304854, y: 0.000000038146972, z: -0.000000019073486}
|
||||
rotation: {x: 0.0000000074505797, y: -0, z: 0.021399764, w: 0.999771}
|
||||
scale: {x: 0.9999996, y: 1.0000008, z: 0.99999994}
|
||||
position: {x: -0.03630478, y: 0.000000038146972, z: 0}
|
||||
rotation: {x: -0.000000014901161, y: 0.000000029802322, z: 0.02139981, w: 0.99977106}
|
||||
scale: {x: 0.9999994, y: 1.0000007, z: 0.99999976}
|
||||
- name: BBascileusRDigit13
|
||||
parentName: BBascileusRDigit12
|
||||
position: {x: -0.033260114, y: 0, z: -0.000000019073486}
|
||||
rotation: {x: -0.000000073190314, y: 0.000000061631106, z: 0.059873026, w: 0.9982061}
|
||||
scale: {x: 0.9999991, y: 1.0000005, z: 0.9999997}
|
||||
rotation: {x: -0.000000031624115, y: -1.619984e-10, z: 0.059873015, w: 0.998206}
|
||||
scale: {x: 0.9999994, y: 1.0000005, z: 1}
|
||||
- name: BBascileusNeck
|
||||
parentName: BBascileusRibcage
|
||||
position: {x: -0.00087341305, y: 0.027984885, z: -0.000000012189848}
|
||||
rotation: {x: 0.00000082531534, y: -0.000000080582296, z: 0.022007644, w: -0.9997579}
|
||||
scale: {x: 1.0000005, y: 1.0000004, z: 1.0000011}
|
||||
rotation: {x: 0.00000085034304, y: -0.00000004667104, z: 0.02200766, w: -0.9997578}
|
||||
scale: {x: 1.0000004, y: 1.0000007, z: 1.000001}
|
||||
- name: BBascileusHead
|
||||
parentName: BBascileusNeck
|
||||
position: {x: -0.13578369, y: 0, z: -0.000000009536743}
|
||||
rotation: {x: -0.00000004392086, y: 0.00000003687501, z: -0.05469627, w: -0.9985031}
|
||||
scale: {x: 1.0000004, y: 1.0000006, z: 1.000001}
|
||||
rotation: {x: -0.00000007004427, y: 0.000000003800522, z: -0.054696284, w: -0.998503}
|
||||
scale: {x: 1.0000007, y: 1.0000006, z: 1.000001}
|
||||
- name: BBascileuseye_L
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.04198761, y: 0.1179171, z: 0.033568047}
|
||||
rotation: {x: 0.0000047600724, y: 0.000004215992, z: 0.7071077, w: -0.7071059}
|
||||
scale: {x: 1.0000004, y: 1.0000011, z: 1.0000006}
|
||||
rotation: {x: 0.000004786652, y: 0.0000042340544, z: 0.7071077, w: -0.70710576}
|
||||
scale: {x: 1.0000006, y: 1.0000012, z: 1.0000006}
|
||||
- name: BBascileusEye_R
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.041987915, y: 0.117917135, z: -0.033554126}
|
||||
rotation: {x: 0.0000047600724, y: 0.000004215992, z: 0.7071077, w: -0.7071059}
|
||||
scale: {x: 1.0000004, y: 1.0000011, z: 1.0000006}
|
||||
rotation: {x: 0.000004786652, y: 0.0000042340544, z: 0.7071077, w: -0.70710576}
|
||||
scale: {x: 1.0000006, y: 1.0000012, z: 1.0000006}
|
||||
- name: BBascileusforehead
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.08255325, y: 0.13490985, z: -0.000006914139}
|
||||
rotation: {x: -0.00000042142278, y: -0.00000033011995, z: 0.67559016, w: -0.7372773}
|
||||
scale: {x: 1.0000002, y: 1.0000007, z: 1.0000005}
|
||||
rotation: {x: -0.00000042876957, y: -0.00000032619525, z: 0.6755902, w: -0.73727745}
|
||||
scale: {x: 0.99999976, y: 1.0000001, z: 1}
|
||||
- name: BBascileusHeadBone001
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.00041046142, y: 0.029118994, z: 0}
|
||||
rotation: {x: -0.00000037976878, y: -0.0000005056824, z: 0.8878954, w: -0.46004546}
|
||||
scale: {x: 1.0000014, y: 1.0000015, z: 1.0000011}
|
||||
rotation: {x: -0.00000037976884, y: -0.0000005056825, z: 0.8878954, w: -0.46004537}
|
||||
scale: {x: 1.0000004, y: 1.000001, z: 1.0000001}
|
||||
- name: BBascileusLip_09
|
||||
parentName: BBascileusHeadBone001
|
||||
position: {x: -0.10226505, y: -0.02875366, z: 0.011468906}
|
||||
rotation: {x: 0.14361128, y: -0.2930769, z: -0.08045425, w: -0.94181144}
|
||||
scale: {x: 0.99999994, y: 1.0000005, z: 1.0000007}
|
||||
rotation: {x: 0.14361139, y: -0.29307696, z: -0.080454245, w: -0.94181144}
|
||||
scale: {x: 0.99999964, y: 0.9999999, z: 0.99999976}
|
||||
- name: BBascileusLip_07
|
||||
parentName: BBascileusHeadBone001
|
||||
position: {x: -0.1063258, y: -0.030387573, z: -0.000000009536743}
|
||||
rotation: {x: 0.000000027689158, y: -0.00000006764062, z: 0.089068115, w: 0.99602556}
|
||||
scale: {x: 1.0000005, y: 1.0000005, z: 1.0000002}
|
||||
rotation: {x: 0.000000027689776, y: -0.00000006764045, z: 0.08906823, w: 0.99602556}
|
||||
scale: {x: 1.0000004, y: 1.0000001, z: 1}
|
||||
- name: BBascileusLip_08
|
||||
parentName: BBascileusHeadBone001
|
||||
position: {x: -0.10228523, y: -0.027728423, z: -0.011706352}
|
||||
rotation: {x: 0.1528816, y: -0.2694516, z: 0.1434271, w: 0.93992114}
|
||||
scale: {x: 1.0000004, y: 1, z: 1.0000004}
|
||||
rotation: {x: 0.15288164, y: -0.26945162, z: 0.14342728, w: 0.93992114}
|
||||
scale: {x: 0.9999999, y: 1.0000002, z: 1.0000001}
|
||||
- name: BBascileusLip_04
|
||||
parentName: BBascileusHead
|
||||
position: {x: 0.025479889, y: 0.13096447, z: 0.016629992}
|
||||
rotation: {x: 0.1672843, y: 0.28326944, z: -0.67458934, w: 0.6608355}
|
||||
scale: {x: 1.0000008, y: 1.0000014, z: 1.000001}
|
||||
rotation: {x: 0.16728428, y: 0.28326926, z: -0.6745894, w: 0.6608355}
|
||||
scale: {x: 1.0000006, y: 1.0000018, z: 1.0000012}
|
||||
- name: BBascileusLip_06
|
||||
parentName: BBascileusHead
|
||||
position: {x: 0.03262924, y: 0.11999492, z: 0.02676774}
|
||||
rotation: {x: 0.25853693, y: 0.2821435, z: -0.73296297, w: 0.56242245}
|
||||
scale: {x: 1, y: 1.000001, z: 1.0000008}
|
||||
rotation: {x: 0.25853702, y: 0.28214353, z: -0.7329629, w: 0.5624225}
|
||||
scale: {x: 0.9999999, y: 1.0000005, z: 1.0000005}
|
||||
- name: BBascileusNose_L
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.00015258789, y: 0.14336269, z: 0.011793213}
|
||||
rotation: {x: -0.60394186, y: 0.42288512, z: -0.55341107, w: 0.38750306}
|
||||
scale: {x: 1.000001, y: 1.0000002, z: 1.000001}
|
||||
rotation: {x: -0.603942, y: 0.42288512, z: -0.553411, w: 0.3875031}
|
||||
scale: {x: 1.0000004, y: 1.0000001, z: 1.000001}
|
||||
- name: BBascileusLip_02
|
||||
parentName: BBascileusHead
|
||||
position: {x: 0.024773864, y: 0.13751544, z: 0.004539461}
|
||||
rotation: {x: 0.1280273, y: 0.117315345, z: -0.7260764, w: 0.66532636}
|
||||
scale: {x: 0.99999994, y: 1.0000007, z: 1.0000004}
|
||||
rotation: {x: 0.1280274, y: 0.11731538, z: -0.7260765, w: 0.6653264}
|
||||
scale: {x: 1, y: 1.0000013, z: 1.0000007}
|
||||
- name: BBascileusNose_R
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.0001524353, y: 0.14336261, z: -0.012314653}
|
||||
rotation: {x: -0.42288455, y: 0.60394216, z: -0.38750243, w: 0.55341166}
|
||||
scale: {x: 1.0000004, y: 1.0000007, z: 1.0000014}
|
||||
rotation: {x: -0.42288452, y: 0.60394233, z: -0.38750252, w: 0.5534115}
|
||||
scale: {x: 0.99999964, y: 0.9999999, z: 1.0000004}
|
||||
- name: BBascileusLip_01
|
||||
parentName: BBascileusHead
|
||||
position: {x: 0.024773711, y: 0.13751549, z: -0.005047016}
|
||||
rotation: {x: 0.12802702, y: 0.11731521, z: 0.7260764, w: -0.6653265}
|
||||
scale: {x: 1.0000007, y: 1.0000014, z: 1.0000006}
|
||||
rotation: {x: 0.12802699, y: 0.117315166, z: 0.7260764, w: -0.6653265}
|
||||
scale: {x: 1.0000002, y: 1.0000014, z: 1.0000004}
|
||||
- name: BBascileusLip_03
|
||||
parentName: BBascileusHead
|
||||
position: {x: 0.025915831, y: 0.13126469, z: -0.016473074}
|
||||
rotation: {x: 0.15235916, y: 0.3008653, z: 0.663591, w: -0.6677678}
|
||||
scale: {x: 1.0000011, y: 1.0000013, z: 1.0000005}
|
||||
rotation: {x: 0.15235919, y: 0.3008652, z: 0.663591, w: -0.66776776}
|
||||
scale: {x: 1.000001, y: 1.0000011, z: 1.0000002}
|
||||
- name: BBascileusLip_05
|
||||
parentName: BBascileusHead
|
||||
position: {x: 0.032629546, y: 0.11999485, z: -0.027385129}
|
||||
rotation: {x: 0.3354698, y: 0.19818704, z: 0.7010963, w: -0.5971984}
|
||||
scale: {x: 1.0000006, y: 1.0000004, z: 1}
|
||||
rotation: {x: 0.33546987, y: 0.19818707, z: 0.7010963, w: -0.5971985}
|
||||
scale: {x: 1.0000006, y: 1.0000008, z: 0.9999999}
|
||||
- name: BBascileuseyebrow_L1
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.05304489, y: 0.14156985, z: 0.029083604}
|
||||
rotation: {x: -0.08682458, y: 0.08682419, z: -0.007596054, w: -0.9924038}
|
||||
scale: {x: 1.0000008, y: 1.000001, z: 1.0000012}
|
||||
rotation: {x: -0.08682459, y: 0.08682416, z: -0.007596027, w: -0.99240386}
|
||||
scale: {x: 1.0000008, y: 1.0000007, z: 1.0000012}
|
||||
- name: BBascileuseyebrow_L2
|
||||
parentName: BBascileuseyebrow_L1
|
||||
position: {x: -0.0033251953, y: -0.0008686447, z: 0.014851112}
|
||||
rotation: {x: -0.2053349, y: -0.7663205, z: -0.15755908, w: -0.5880183}
|
||||
scale: {x: 0.9999992, y: 0.9999998, z: 1.0000005}
|
||||
rotation: {x: -0.20533496, y: -0.7663206, z: -0.15755916, w: -0.5880183}
|
||||
scale: {x: 0.9999995, y: 1.0000004, z: 1.0000006}
|
||||
- name: BBascileuseyebrow_R1
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.051532898, y: 0.141069, z: -0.028726786}
|
||||
rotation: {x: 0.99050134, y: -0.028251061, z: -0.04324609, w: 0.12743157}
|
||||
scale: {x: 1.0000006, y: 1.0000004, z: 1.0000004}
|
||||
rotation: {x: 0.9905013, y: -0.028251199, z: -0.043246064, w: 0.12743159}
|
||||
scale: {x: 1.0000005, y: 1.0000001, z: 1.0000004}
|
||||
- name: BBascileuseyebrow_R2
|
||||
parentName: BBascileuseyebrow_R1
|
||||
position: {x: -0.0033253478, y: -0.0008686447, z: 0.014851117}
|
||||
rotation: {x: 0.20533502, y: -0.76632047, z: 0.157559, w: -0.58801836}
|
||||
scale: {x: 1.0000018, y: 1, z: 1.000001}
|
||||
rotation: {x: 0.20533478, y: -0.7663204, z: 0.15755914, w: -0.5880185}
|
||||
scale: {x: 1.0000011, y: 0.9999995, z: 1.0000004}
|
||||
- name: BBascileuseyelid_R_Up
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.044225004, y: 0.11170269, z: -0.032629766}
|
||||
rotation: {x: 0.030843157, y: 0.03084323, z: 0.7064339, w: -0.7064338}
|
||||
scale: {x: 1.0000006, y: 1.0000012, z: 1.0000007}
|
||||
rotation: {x: 0.030843155, y: 0.030843234, z: 0.70643383, w: -0.7064339}
|
||||
scale: {x: 1.0000002, y: 1.0000007, z: 1.0000007}
|
||||
- name: BBascileuseyelid_R_down
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.039771117, y: 0.11144672, z: -0.032629784}
|
||||
rotation: {x: 0.026553337, y: 0.034605145, z: 0.7925987, w: -0.6081815}
|
||||
scale: {x: 1.0000005, y: 1.0000007, z: 1.0000007}
|
||||
rotation: {x: 0.02655339, y: 0.034605186, z: 0.7925987, w: -0.6081815}
|
||||
scale: {x: 1.0000002, y: 1.000001, z: 1.0000006}
|
||||
- name: BBascileuseyelid_L_Up
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.044225156, y: 0.111702725, z: 0.033375215}
|
||||
rotation: {x: 0.030844035, y: 0.030843938, z: -0.70643383, w: 0.7064336}
|
||||
scale: {x: 1.0000008, y: 1.0000015, z: 1.0000007}
|
||||
rotation: {x: 0.030844076, y: 0.030843966, z: -0.70643383, w: 0.7064337}
|
||||
scale: {x: 1.0000001, y: 1.000001, z: 1.0000005}
|
||||
- name: BBascileuseyelid_L_down
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.03958496, y: 0.11143604, z: 0.033375215}
|
||||
rotation: {x: 0.026554277, y: 0.034605894, z: -0.7925987, w: 0.60818136}
|
||||
scale: {x: 1.0000004, y: 1.0000012, z: 1.0000006}
|
||||
rotation: {x: 0.026554279, y: 0.034605883, z: -0.7925987, w: 0.6081815}
|
||||
scale: {x: 1, y: 1.0000013, z: 1.0000007}
|
||||
- name: BBascileuscheek_L
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.016142273, y: 0.12464207, z: 0.026452588}
|
||||
rotation: {x: 0.18301314, y: 0.18301296, z: -0.6830125, w: 0.68301266}
|
||||
scale: {x: 1.0000005, y: 1.0000018, z: 1.0000011}
|
||||
rotation: {x: 0.18301311, y: 0.18301298, z: -0.6830125, w: 0.6830128}
|
||||
scale: {x: 1, y: 1.0000014, z: 1.0000008}
|
||||
- name: BBascileuscheek_R
|
||||
parentName: BBascileusHead
|
||||
position: {x: -0.01614212, y: 0.12464207, z: -0.02636901}
|
||||
rotation: {x: 0.18301219, y: 0.1830124, z: 0.68301284, w: -0.6830128}
|
||||
scale: {x: 1.0000004, y: 1.0000008, z: 1.0000006}
|
||||
rotation: {x: 0.18301222, y: 0.18301234, z: 0.6830128, w: -0.6830128}
|
||||
scale: {x: 1.0000001, y: 1.0000006, z: 1.0000005}
|
||||
- name: Point_Topor
|
||||
parentName: BBascileusSpine3
|
||||
position: {x: -0.10128876, y: -0.12754714, z: -0.07179916}
|
||||
@@ -1156,7 +1152,7 @@ ModelImporter:
|
||||
rotation: {x: 0.00000020861629, y: -0.00000001490117, z: -0.00000004097819,
|
||||
w: 1}
|
||||
scale: {x: 1, y: 1, z: 1}
|
||||
armTwist: 0.5
|
||||
armTwist: 0.506
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
@@ -1165,7 +1161,7 @@ ModelImporter:
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasTranslationDoF: 1
|
||||
hasExtraRoot: 1
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
@@ -1174,6 +1170,7 @@ ModelImporter:
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 1
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 0
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
|
||||
@@ -5284,7 +5284,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
stateInfos: []
|
||||
tags:
|
||||
- IsDashing
|
||||
- IsRolling
|
||||
- IgnoreIK
|
||||
--- !u!1101 &-53148242456154466
|
||||
AnimatorStateTransition:
|
||||
@@ -41265,7 +41265,7 @@ AnimatorStateMachine:
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 1102927989665312400}
|
||||
m_Position: {x: 276, y: 108, z: 0}
|
||||
m_Position: {x: 280, y: 110, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
|
||||
@@ -4922,6 +4922,7 @@ MonoBehaviour:
|
||||
ComsumableButton: {fileID: 0}
|
||||
ComsumableFaithButton: {fileID: 0}
|
||||
powerButtonsParent: {fileID: 0}
|
||||
DashButton: {fileID: 7850162334610095169}
|
||||
RunButton: {fileID: 0}
|
||||
TargetButton: {fileID: 0}
|
||||
JumpButton: {fileID: 0}
|
||||
@@ -5588,7 +5589,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: -320.2, y: 176.1}
|
||||
m_AnchoredPosition: {x: -320.2, y: 64}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7958827467458045345
|
||||
|
||||
@@ -18860,6 +18860,10 @@ PrefabInstance:
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 4967997804335029622, guid: 60b79e23a507e0c48a94b7e3d5138383,
|
||||
type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 5054440825960491160}
|
||||
- targetCorrespondingSourceObject: {fileID: 4943956416707116418, guid: 60b79e23a507e0c48a94b7e3d5138383,
|
||||
type: 3}
|
||||
insertIndex: -1
|
||||
@@ -18972,6 +18976,27 @@ GameObject:
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 1626258211112540709}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &5054440825960491160
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5935883485110830931}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b8fd6dab0eb7c40d59fd6631516b3b51, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
maxTargetingDistance: 5
|
||||
targetingInterval: 0.25
|
||||
targetingAngleThreshold: 90
|
||||
playerRotationSpeed: 10
|
||||
materialHighlightPropertyName: _FresnelColor
|
||||
highlightColor: {r: 10.680627, g: 0.19149402, b: 0, a: 2}
|
||||
deselectHighlightColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
highlightFadeDuration: 0.3
|
||||
preferSkinnedMeshRenderer: 1
|
||||
--- !u!4 &6425420852750441961 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5744920779938531276, guid: 60b79e23a507e0c48a94b7e3d5138383,
|
||||
@@ -25403,11 +25428,6 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: -335.10016
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3467769183097150057, guid: 38ca8b4bc26702b40a70a342950990ee,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 123
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3627601100436493190, guid: 38ca8b4bc26702b40a70a342950990ee,
|
||||
type: 3}
|
||||
propertyPath: m_Sprite
|
||||
@@ -25465,11 +25485,6 @@ PrefabInstance:
|
||||
propertyPath: m_StaticEditorFlags
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3676513720161467309, guid: 38ca8b4bc26702b40a70a342950990ee,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3676875097410960999, guid: 38ca8b4bc26702b40a70a342950990ee,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
377
Assets/Scripts/Characters/AutoTargetting.cs
Normal file
377
Assets/Scripts/Characters/AutoTargetting.cs
Normal file
@@ -0,0 +1,377 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Invector.vCharacterController.AI.FSMBehaviour; // For vFSMBehaviourController
|
||||
using Beyond; // For GameStateManager and Player (ensure Player.cs is in this namespace or adjust)
|
||||
using System; // For Action
|
||||
|
||||
public class AutoTargetting : MonoBehaviour
|
||||
{
|
||||
[Header("Targeting Parameters")]
|
||||
[Tooltip("Maximum distance AutoTargetting will consider an enemy for selection.")]
|
||||
public float maxTargetingDistance = 20f;
|
||||
[Tooltip("How often (in seconds) to re-evaluate for a new target during combat.")]
|
||||
public float targetingInterval = 0.25f;
|
||||
[Tooltip("Maximum angle (in degrees from player's forward) within which an enemy can be auto-targeted.")]
|
||||
public float targetingAngleThreshold = 90f;
|
||||
|
||||
[Header("Rotation Parameters")]
|
||||
[Tooltip("Speed at which the player rotates towards the current target when rotation is explicitly called.")]
|
||||
public float playerRotationSpeed = 10f;
|
||||
|
||||
[Header("Visuals")]
|
||||
[Tooltip("Name of the material color property to animate for Fresnel effect.")]
|
||||
public string materialHighlightPropertyName = "_FresnelColor";
|
||||
[Tooltip("HDR Color to use for Fresnel highlight when a target is selected (fade-in target).")]
|
||||
[ColorUsage(true, true)]
|
||||
public Color highlightColor = Color.white;
|
||||
[Tooltip("HDR Color to use for Fresnel when a target is deselected (fade-out target).")]
|
||||
[ColorUsage(true, true)]
|
||||
public Color deselectHighlightColor = Color.black;
|
||||
[Tooltip("Duration of the fade in/out animation for the highlight.")]
|
||||
public float highlightFadeDuration = 0.3f;
|
||||
[Tooltip("If true, will try to find a SkinnedMeshRenderer first, then MeshRenderer. If false, affects all renderers.")]
|
||||
public bool preferSkinnedMeshRenderer = true;
|
||||
|
||||
public vFSMBehaviourController CurrentTarget { get; private set; }
|
||||
public event Action<vFSMBehaviourController> OnTargetSelected;
|
||||
public event Action<vFSMBehaviourController> OnTargetDeselected;
|
||||
|
||||
private GameStateManager _gameStateManager;
|
||||
private Coroutine _targetingLoopCoroutine;
|
||||
private Dictionary<Material, Color> _originalMaterialColors = new Dictionary<Material, Color>();
|
||||
private Dictionary<Material, Coroutine> _materialToFadeCoroutineMap = new Dictionary<Material, Coroutine>();
|
||||
private Transform _playerTransform;
|
||||
|
||||
void Start()
|
||||
{
|
||||
if (Player.Instance == null) // Player.Instance should be set by its own Awake
|
||||
{
|
||||
Debug.LogError("AutoTargetting: Player.Instance is not available at Start! Ensure Player script with static Instance exists and runs before AutoTargetting.");
|
||||
enabled = false;
|
||||
return;
|
||||
}
|
||||
_playerTransform = Player.Instance.transform;
|
||||
|
||||
_gameStateManager = GameStateManager.Instance;
|
||||
if (_gameStateManager != null)
|
||||
{
|
||||
_gameStateManager.m_OnStateChanged.AddListener(HandleGameStateChanged);
|
||||
HandleGameStateChanged(_gameStateManager.CurrentState); // Initialize based on current state
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("AutoTargetting: GameStateManager.Instance not found! Disabling script.");
|
||||
enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
if (_gameStateManager != null)
|
||||
{
|
||||
_gameStateManager.m_OnStateChanged.RemoveListener(HandleGameStateChanged);
|
||||
}
|
||||
StopAndClearAllFadeCoroutines();
|
||||
if (_targetingLoopCoroutine != null)
|
||||
{
|
||||
StopCoroutine(_targetingLoopCoroutine);
|
||||
_targetingLoopCoroutine = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void StopAndClearAllFadeCoroutines()
|
||||
{
|
||||
foreach (var pair in _materialToFadeCoroutineMap)
|
||||
{
|
||||
if (pair.Value != null) StopCoroutine(pair.Value);
|
||||
}
|
||||
_materialToFadeCoroutineMap.Clear();
|
||||
}
|
||||
|
||||
private void HandleGameStateChanged(GameStateManager.State newState)
|
||||
{
|
||||
if (newState == GameStateManager.State.COMBAT)
|
||||
{
|
||||
if (_targetingLoopCoroutine == null)
|
||||
{
|
||||
_targetingLoopCoroutine = StartCoroutine(TargetingLoop());
|
||||
}
|
||||
}
|
||||
else // State is NORMAL or other non-combat
|
||||
{
|
||||
if (_targetingLoopCoroutine != null)
|
||||
{
|
||||
StopCoroutine(_targetingLoopCoroutine);
|
||||
_targetingLoopCoroutine = null;
|
||||
}
|
||||
if (CurrentTarget != null) // If there was a target, deselect it
|
||||
{
|
||||
vFSMBehaviourController oldTarget = CurrentTarget;
|
||||
SetNewTarget(null); // This will handle fade out and event
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerator TargetingLoop()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
if (_playerTransform == null && Player.Instance != null) // Defensive: re-cache if player was respawned or similar
|
||||
{
|
||||
_playerTransform = Player.Instance.transform;
|
||||
}
|
||||
|
||||
if (_playerTransform != null) // Only proceed if we have a valid player transform
|
||||
{
|
||||
UpdateTarget();
|
||||
}
|
||||
yield return new WaitForSeconds(targetingInterval);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the given AI target is within the specified angle from the source transform's forward direction.
|
||||
/// </summary>
|
||||
public bool IsTargetInAngle(Transform sourceTransform, vFSMBehaviourController targetAI, float angleThreshold)
|
||||
{
|
||||
if (targetAI == null || sourceTransform == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Vector3 directionToTarget = (targetAI.transform.position - sourceTransform.position);
|
||||
directionToTarget.y = 0; // Consider only horizontal angle
|
||||
|
||||
// If target is effectively at the same horizontal position, consider it in angle.
|
||||
if (directionToTarget.sqrMagnitude < 0.0001f) return true;
|
||||
|
||||
directionToTarget.Normalize();
|
||||
float angle = Vector3.Angle(sourceTransform.forward, directionToTarget);
|
||||
return angle <= angleThreshold;
|
||||
}
|
||||
|
||||
private void UpdateTarget()
|
||||
{
|
||||
if (_playerTransform == null || _gameStateManager == null) return;
|
||||
|
||||
vFSMBehaviourController bestCandidate = null;
|
||||
float minDistanceSqr = maxTargetingDistance * maxTargetingDistance;
|
||||
|
||||
HashSet<vFSMBehaviourController> combatControllers = _gameStateManager.GetActiveCombatcontrollers();
|
||||
|
||||
if (combatControllers == null || combatControllers.Count == 0)
|
||||
{
|
||||
if (CurrentTarget != null) SetNewTarget(null); // No enemies, clear current
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var controller in combatControllers)
|
||||
{
|
||||
if (controller == null || !controller.gameObject.activeInHierarchy || controller.aiController.currentHealth <= 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check 1: Is target within selection angle?
|
||||
if (!IsTargetInAngle(_playerTransform, controller, targetingAngleThreshold))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check 2: Is target within selection distance?
|
||||
float distSqr = (controller.transform.position - _playerTransform.position).sqrMagnitude;
|
||||
if (distSqr <= minDistanceSqr) // distSqr must also be <= maxTargetingDistance^2 due to minDistanceSqr initialization
|
||||
{
|
||||
// If multiple targets are at similar very close distances, this might pick the "last one" processed.
|
||||
// For more refined "closest", ensure this is strictly '<' for new candidates,
|
||||
// or add a secondary sort criterion if multiple are at exact same minDistanceSqr.
|
||||
// Current logic is fine for most cases.
|
||||
minDistanceSqr = distSqr;
|
||||
bestCandidate = controller;
|
||||
}
|
||||
}
|
||||
|
||||
if (CurrentTarget != bestCandidate)
|
||||
{
|
||||
SetNewTarget(bestCandidate);
|
||||
}
|
||||
else if (CurrentTarget != null && !IsTargetValid(CurrentTarget)) // Current target became invalid (e.g. died, moved out of range/angle)
|
||||
{
|
||||
SetNewTarget(null);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if a given target is still valid according to AutoTargetting's rules.
|
||||
/// </summary>
|
||||
private bool IsTargetValid(vFSMBehaviourController target)
|
||||
{
|
||||
if (target == null || !target.gameObject.activeInHierarchy || target.aiController.currentHealth <= 0)
|
||||
return false;
|
||||
|
||||
if (_playerTransform == null) return false; // Should not happen if script is active
|
||||
|
||||
// Check 1: Angle (using AutoTargetting's own targetingAngleThreshold)
|
||||
if (!IsTargetInAngle(_playerTransform, target, targetingAngleThreshold))
|
||||
return false;
|
||||
|
||||
// Check 2: Distance (using AutoTargetting's own maxTargetingDistance)
|
||||
float distSqr = (target.transform.position - _playerTransform.position).sqrMagnitude;
|
||||
return distSqr <= maxTargetingDistance * maxTargetingDistance;
|
||||
}
|
||||
|
||||
private void SetNewTarget(vFSMBehaviourController newTarget)
|
||||
{
|
||||
if (CurrentTarget == newTarget) return;
|
||||
|
||||
// Deselect previous target
|
||||
if (CurrentTarget != null)
|
||||
{
|
||||
ApplyHighlight(CurrentTarget, false); // Fade out
|
||||
OnTargetDeselected?.Invoke(CurrentTarget);
|
||||
}
|
||||
|
||||
CurrentTarget = newTarget;
|
||||
|
||||
// Select new target
|
||||
if (CurrentTarget != null)
|
||||
{
|
||||
ApplyHighlight(CurrentTarget, true); // Fade in
|
||||
OnTargetSelected?.Invoke(CurrentTarget);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Smoothly rotates the player character towards the CurrentTarget on the horizontal plane.
|
||||
/// </summary>
|
||||
public void ExecuteRotationTowardsCurrentTarget(float deltaTime)
|
||||
{
|
||||
if (CurrentTarget == null || _playerTransform == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Vector3 directionToTarget = CurrentTarget.transform.position - _playerTransform.position;
|
||||
directionToTarget.y = 0f;
|
||||
|
||||
if (directionToTarget.sqrMagnitude < 0.0001f) return; // Already at target or too close to get a direction
|
||||
|
||||
directionToTarget.Normalize();
|
||||
Quaternion targetRotation = Quaternion.LookRotation(directionToTarget);
|
||||
_playerTransform.rotation = Quaternion.Lerp(_playerTransform.rotation, targetRotation, deltaTime * playerRotationSpeed);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the health of the CurrentTarget.
|
||||
/// </summary>
|
||||
/// <returns>The health of the CurrentTarget, or -1f if no target or target has no health component.</returns>
|
||||
public float GetCurrentTargetHealth()
|
||||
{
|
||||
if (CurrentTarget != null && CurrentTarget.aiController != null)
|
||||
{
|
||||
return CurrentTarget.aiController.currentHealth;
|
||||
}
|
||||
return -1f;
|
||||
}
|
||||
|
||||
public void ClearTarget(bool findNewOneImmediately)
|
||||
{
|
||||
SetNewTarget(null);
|
||||
if (findNewOneImmediately && _gameStateManager != null && _gameStateManager.CurrentState == GameStateManager.State.COMBAT)
|
||||
{
|
||||
UpdateTarget(); // Attempt to find a new one if in combat
|
||||
}
|
||||
}
|
||||
|
||||
private Renderer[] GetTargetRenderers(vFSMBehaviourController targetController)
|
||||
{
|
||||
if (targetController == null) return new Renderer[0];
|
||||
|
||||
if (preferSkinnedMeshRenderer)
|
||||
{
|
||||
SkinnedMeshRenderer smr = targetController.GetComponentInChildren<SkinnedMeshRenderer>();
|
||||
if (smr != null) return new Renderer[] { smr };
|
||||
|
||||
MeshRenderer mr = targetController.GetComponentInChildren<MeshRenderer>();
|
||||
if (mr != null) return new Renderer[] { mr };
|
||||
}
|
||||
|
||||
return targetController.GetComponentsInChildren<Renderer>(true); // Include inactive renderers if any
|
||||
}
|
||||
|
||||
private void ApplyHighlight(vFSMBehaviourController targetController, bool fadeIn)
|
||||
{
|
||||
if (targetController == null || string.IsNullOrEmpty(materialHighlightPropertyName)) return;
|
||||
|
||||
Renderer[] renderers = GetTargetRenderers(targetController);
|
||||
|
||||
foreach (Renderer rend in renderers)
|
||||
{
|
||||
if (rend == null) continue;
|
||||
|
||||
// Use rend.materials to get instances for modification
|
||||
foreach (Material mat in rend.materials)
|
||||
{
|
||||
if (mat == null || !mat.HasProperty(materialHighlightPropertyName)) continue;
|
||||
|
||||
// Stop any existing fade coroutine for this specific material
|
||||
if (_materialToFadeCoroutineMap.TryGetValue(mat, out Coroutine existingCoroutine) && existingCoroutine != null)
|
||||
{
|
||||
StopCoroutine(existingCoroutine);
|
||||
}
|
||||
|
||||
Color currentColor = mat.GetColor(materialHighlightPropertyName);
|
||||
Color targetColor = fadeIn ? highlightColor : deselectHighlightColor;
|
||||
|
||||
// Smartly store original color only if not already a highlight/deselect color.
|
||||
if (fadeIn)
|
||||
{
|
||||
if (!_originalMaterialColors.ContainsKey(mat) ||
|
||||
(_originalMaterialColors[mat] != currentColor && currentColor != deselectHighlightColor && currentColor != highlightColor) )
|
||||
{
|
||||
_originalMaterialColors[mat] = currentColor;
|
||||
}
|
||||
}
|
||||
// When fading out, if an original was stored, we could potentially use it instead of always deselectHighlightColor.
|
||||
// However, for a consistent "off" state, deselectHighlightColor (e.g., black) is usually desired.
|
||||
// If fading out and original exists and isn't black:
|
||||
// else if (_originalMaterialColors.TryGetValue(mat, out Color original) && original != deselectHighlightColor)
|
||||
// {
|
||||
// targetColor = original; // Fade back to true original
|
||||
// }
|
||||
|
||||
|
||||
Coroutine newFadeCoroutine = StartCoroutine(FadeMaterialPropertyCoroutine(mat, currentColor, targetColor, highlightFadeDuration));
|
||||
_materialToFadeCoroutineMap[mat] = newFadeCoroutine;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerator FadeMaterialPropertyCoroutine(Material material, Color fromValue, Color toValue, float duration)
|
||||
{
|
||||
float timer = 0f;
|
||||
// yield return null; // Not strictly necessary here as StopCoroutine handles overlaps.
|
||||
|
||||
while (timer < duration)
|
||||
{
|
||||
if (material == null) yield break; // Material might have been destroyed
|
||||
|
||||
timer += Time.deltaTime;
|
||||
float progress = Mathf.Clamp01(timer / duration);
|
||||
material.SetColor(materialHighlightPropertyName, Color.Lerp(fromValue, toValue, progress));
|
||||
yield return null;
|
||||
}
|
||||
|
||||
if (material != null) // Final set
|
||||
{
|
||||
material.SetColor(materialHighlightPropertyName, toValue);
|
||||
}
|
||||
|
||||
// Optional: Remove from map if coroutine completed naturally and is still the one in the map.
|
||||
// if (_materialToFadeCoroutineMap.TryGetValue(material, out Coroutine currentMappedCoroutine) && currentMappedCoroutine == /*this specific instance, tricky to get*/)
|
||||
// {
|
||||
// _materialToFadeCoroutineMap.Remove(material);
|
||||
// }
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Characters/AutoTargetting.cs.meta
Normal file
2
Assets/Scripts/Characters/AutoTargetting.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b8fd6dab0eb7c40d59fd6631516b3b51
|
||||
@@ -159,6 +159,9 @@ namespace Beyond
|
||||
public float CurrentHealth => m_vController.currentHealth;
|
||||
public float MaxHealth => m_vController.MaxHealth;
|
||||
|
||||
public AutoTargetting AutoTarget { get; internal set; }
|
||||
private AutoTargetting m_autoTargetting;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (s_instance == null)
|
||||
@@ -182,6 +185,7 @@ namespace Beyond
|
||||
m_playerConfessionController = GetComponent<PlayerConfessionController>();
|
||||
m_meleeManager = GetComponent<vMeleeManager>();
|
||||
m_magicAttacks = GetComponent<MagicAttacks>();
|
||||
m_autoTargetting = GetComponent<AutoTargetting>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -260,7 +260,7 @@ namespace Beyond
|
||||
switch (state)
|
||||
{
|
||||
case State.COMBAT:
|
||||
SetRollInputOnJump();
|
||||
//SetRollInputOnJump();
|
||||
|
||||
if (m_autoDrawWeapon && m_weaponDraw != null)
|
||||
{
|
||||
@@ -269,7 +269,7 @@ namespace Beyond
|
||||
break;
|
||||
|
||||
case State.NORMAL:
|
||||
SetDefaultInputsForRollJump();
|
||||
//SetDefaultInputsForRollJump();
|
||||
|
||||
if (m_autoDrawWeapon && m_weaponDraw != null)
|
||||
{
|
||||
|
||||
@@ -17,6 +17,8 @@ namespace Beyond
|
||||
public GameObject ComsumableButton;
|
||||
public GameObject ComsumableFaithButton;
|
||||
public GameObject powerButtonsParent;
|
||||
|
||||
public Button DashButton;
|
||||
public Button RunButton;
|
||||
public Button TargetButton;
|
||||
public Button JumpButton;
|
||||
@@ -58,54 +60,55 @@ namespace Beyond
|
||||
private List<TriggerDescriptor> m_Triggers = new List<TriggerDescriptor>();
|
||||
|
||||
private GameStateManager.State m_prevGameState = GameStateManager.State.NORMAL;
|
||||
|
||||
/*
|
||||
private List<TriggerObject> m_triggers = new List<TriggerObject>();
|
||||
public enum TriggerType
|
||||
{
|
||||
Dialogue,
|
||||
Ladder,
|
||||
Generic,
|
||||
Collectable,
|
||||
COUNT
|
||||
};
|
||||
private List<TriggerObject> m_triggers = new List<TriggerObject>();
|
||||
public enum TriggerType
|
||||
{
|
||||
Dialogue,
|
||||
Ladder,
|
||||
Generic,
|
||||
Collectable,
|
||||
COUNT
|
||||
};
|
||||
|
||||
public struct TriggerObject : IComparable<TriggerObject>, IComparable
|
||||
{
|
||||
public GameObject obj;
|
||||
public TriggerType type;
|
||||
public struct TriggerObject : IComparable<TriggerObject>, IComparable
|
||||
{
|
||||
public GameObject obj;
|
||||
public TriggerType type;
|
||||
|
||||
public int CompareTo(TriggerObject other)
|
||||
{
|
||||
return type.CompareTo(other.type);
|
||||
}
|
||||
public int CompareTo(TriggerObject other)
|
||||
{
|
||||
return type.CompareTo(other.type);
|
||||
}
|
||||
|
||||
public int CompareTo(object obj)
|
||||
{
|
||||
if (ReferenceEquals(null, obj)) return 1;
|
||||
return obj is TriggerObject other ? CompareTo(other) : throw new ArgumentException($"Object must be of type {nameof(TriggerObject)}");
|
||||
}
|
||||
public int CompareTo(object obj)
|
||||
{
|
||||
if (ReferenceEquals(null, obj)) return 1;
|
||||
return obj is TriggerObject other ? CompareTo(other) : throw new ArgumentException($"Object must be of type {nameof(TriggerObject)}");
|
||||
}
|
||||
|
||||
public static bool operator <(TriggerObject left, TriggerObject right)
|
||||
{
|
||||
return left.CompareTo(right) < 0;
|
||||
}
|
||||
public static bool operator <(TriggerObject left, TriggerObject right)
|
||||
{
|
||||
return left.CompareTo(right) < 0;
|
||||
}
|
||||
|
||||
public static bool operator >(TriggerObject left, TriggerObject right)
|
||||
{
|
||||
return left.CompareTo(right) > 0;
|
||||
}
|
||||
public static bool operator >(TriggerObject left, TriggerObject right)
|
||||
{
|
||||
return left.CompareTo(right) > 0;
|
||||
}
|
||||
|
||||
public static bool operator <=(TriggerObject left, TriggerObject right)
|
||||
{
|
||||
return left.CompareTo(right) <= 0;
|
||||
}
|
||||
public static bool operator <=(TriggerObject left, TriggerObject right)
|
||||
{
|
||||
return left.CompareTo(right) <= 0;
|
||||
}
|
||||
|
||||
public static bool operator >=(TriggerObject left, TriggerObject right)
|
||||
{
|
||||
return left.CompareTo(right) >= 0;
|
||||
}
|
||||
}
|
||||
*/
|
||||
public static bool operator >=(TriggerObject left, TriggerObject right)
|
||||
{
|
||||
return left.CompareTo(right) >= 0;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
private void Initialize()
|
||||
{
|
||||
@@ -174,10 +177,12 @@ namespace Beyond
|
||||
// JumpButton.interactable = !activate;
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
private void Start()
|
||||
{
|
||||
ActionTriggerEnter += OnInvokeActionTriggerEnter;
|
||||
ActionTriggerExit += OnInvokeActionTriggerExit;
|
||||
GameStateManager.Instance.m_OnStateChanged.AddListener(OnGameStateChanged);
|
||||
|
||||
/*
|
||||
LadderTriggerEnter += OnInvokeLadderTriggerEnter;
|
||||
LadderTriggerExit += OnInvokeLadderTriggerExit;
|
||||
@@ -194,6 +199,8 @@ namespace Beyond
|
||||
{
|
||||
ActionTriggerEnter -= OnInvokeActionTriggerEnter;
|
||||
ActionTriggerExit -= OnInvokeActionTriggerExit;
|
||||
if (GameStateManager.Instance)
|
||||
GameStateManager.Instance.m_OnStateChanged.RemoveListener(OnGameStateChanged);
|
||||
/*
|
||||
LadderTriggerEnter -= OnInvokeLadderTriggerEnter;
|
||||
LadderTriggerExit -= OnInvokeLadderTriggerExit;
|
||||
@@ -204,6 +211,18 @@ namespace Beyond
|
||||
*/
|
||||
}
|
||||
|
||||
void OnGameStateChanged(GameStateManager.State state)
|
||||
{
|
||||
if (state == GameStateManager.State.COMBAT)
|
||||
{
|
||||
DashButton.gameObject.SetActive(true);
|
||||
}
|
||||
else if (state == GameStateManager.State.NORMAL)
|
||||
{
|
||||
DashButton.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void DebugLog(string text)
|
||||
{
|
||||
if (debugPrint)
|
||||
|
||||
@@ -233,13 +233,13 @@ namespace Beyond
|
||||
{
|
||||
return !isAttacking && base.JumpConditions();
|
||||
}
|
||||
|
||||
/*
|
||||
protected override bool RollConditions()
|
||||
{
|
||||
return base.RollConditions() && !isAttacking && !cc.animator.IsInTransition(cc.upperBodyLayer) &&
|
||||
!cc.animator.IsInTransition(cc.fullbodyLayer);
|
||||
}
|
||||
|
||||
*/
|
||||
#endregion Conditions
|
||||
|
||||
#region Update Animations
|
||||
@@ -355,20 +355,20 @@ namespace Beyond
|
||||
|
||||
protected override void RollInput()
|
||||
{
|
||||
if (rollInput.GetButtonDown())
|
||||
if (rollInput.GetButtonDown() && RollConditions())
|
||||
{
|
||||
if (horizontalInput.GetAxis() != 0f || verticallInput.GetAxis() != 0f)
|
||||
cc.Roll();
|
||||
/*
|
||||
if (horizontalInput.GetAxis() != 0f && verticallInput.GetAxis() != 0f)
|
||||
{
|
||||
if (RollConditions())
|
||||
{
|
||||
cc.Roll();
|
||||
}
|
||||
cc.Roll();
|
||||
}
|
||||
else
|
||||
{
|
||||
bThirdPersonController beyondController = (bThirdPersonController)cc;
|
||||
beyondController.Dash();
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -70,8 +70,8 @@ namespace Beyond
|
||||
|
||||
public virtual void Dash()
|
||||
{
|
||||
// OnRoll.Invoke();
|
||||
// isRolling = true;
|
||||
OnRoll.Invoke();
|
||||
isRolling = true;
|
||||
|
||||
animator.CrossFadeInFixedTime("Dash", rollTransition, baseLayer);
|
||||
ReduceStamina(rollStamina, false);
|
||||
|
||||
Reference in New Issue
Block a user