animator.MatchTarget(target.position,taget.rotation,AvatarTarget.RightHand,new MatchTargetWeightMask(Vector3.one,1),0,0)
target.position 目标的位置
target.rotation 与目标的旋转保持一致
animator.MatchTarget(target.position,taget.rotation,AvatarTarget.RightHand,new MatchTargetWeightMask(Vector3.one,1),0,0)
target.position 目标的位置
target.rotation 与目标的旋转保持一致
animator.MatchTarget
第一个参数:
匹配位置,胸口
第二个参数
匹配物体的旋转角度。匹配胸口的旋转是否一致
第三个参数
匹配的部分
屏蔽几个相同类型的动画根运动
animator.GetCurrentAnimatorStateInfo(0).IsTag("NeedMove")
在动画状态的Tag打上自己的tag
启用根运动:
1.Animator组件的Apply Root Motion打勾
2.对应动画的Animator设置不要打勾
移动跳跃不适用根运动
bug1:
子对象进行根运动时,只会作用在子对象自己身上。父对象不受影响
修改方法:
将父对象的位置加上animator产生的位移
private void OnAnimatorMove()
{
cbc.transform.position+=animator.deltaPosition;
cbc.transform.rotation*=animator.deltaPosition;
}
其中cbc是该物体的父物体的引用
其中旋转是*=,不是+=
我对教学品质感到非常质疑,因为出现了极差的示范教学,老师在教学过程中边嚼食物的情况。我认为这严重影响了课程的品质。在一个优质的教育环境中,示范教学应该是高水平的,能够清晰地传达知识和技能给学生。同时,老师应该展现出专业和尊重,包括在课堂上不应该同时吃东西,以确保学生能够专注和受到正确的榜样启发。这些因素都是课程品质的重要组成部分,如果被忽视或不合格地执行,将会影响学生的学习体验和教育质量。
这到底在在教什么东西....
老师确实可以 把知识点讲解的很清楚哈
停止协程的方法
不仅知道怎么去用,还要去知道怎么合理使用他。一定要结合项目去学一个技术。
甜甜甜甜甜
TMP_Text如果标签没效果可能是字体问题
算错了 -35
据我分析,此方法是用碰撞体的线替代了射线的点
先图层再排序
解决切枪bug不够完善,
假定枪械数量>3。
0,1,2,3
拾取0,2后鼠标滑轮依旧无法完成切枪。
目前知识滴优化思路:
1.自动切枪逻辑不变
2.将武器ID列表按照从小到大的顺序排序,并转化为一个数组。手动切枪时根据curIndex和%运算符实现循环切枪。
public void ChangeCurWeapon(bool autoChange = false)
{
//todo 拾取武器的id不连续时无法切枪bug √
if (autoChange)
{
//第一次拾取时,切换最新拾取武器
ChangeWeapon(weaponDict.Keys.Last());
}
else
{
var weaponIDs = weaponDict.Keys.OrderBy(id => id).ToArray();//将key小大排序形成数组
var curIndex = Array.IndexOf(weaponIDs, curWeaponID);
if (Input.GetAxis("Mouse ScrollWheel") > 0)//向上滑
{
curIndex = (curIndex + 1) % weaponIDs.Length;
ChangeWeapon(weaponIDs[curIndex]);
}
else if (Input.GetAxis("Mouse ScrollWheel") < 0)//向下滑
{
curIndex = (curIndex + weaponIDs.Length - 1) % weaponIDs.Length;
ChangeWeapon(weaponIDs[curIndex]);
}
}
}
计算当前不精确度,确定射击夹角(不精确度越大,射击夹角越大,越不准)。
公式为:当前不精确度 = 最小不精确度 + 当前不稳定性。
注:
站立切走动时(不稳定性变大时),瞬间赋值;
走动切站立时(不稳定性变小时),慢慢递减赋值直到相等。
为什么我用这个工具,然后跟老师的提示词一样,但是生成的时候有问题,总感觉多了csharp文字,复制过英文的就可以直接生成代码
父类有带参数的构造方法,子类也必须提供带参数的构造方法
Ctrl+F可以方便得替换