Unity C#/混合器型号旋转不正确
所以我在搅拌机里创建了一个旋转模型,导入unity,一切都很好,我为我的hub场景准备了一个旋转脚本,旋转效果很好 现在进入代码,试图旋转枪管看向敌人,看起来不太好 这里有一个简短的游戏视频来演示这个问题 turrent的桶面对的是一个完全不同的地方,然后是敌人我更愿意用代码解决这个问题,而不是从头开始重建模型,所以这就是我目前正在做的(那不起作用)Unity C#/混合器型号旋转不正确,c#,unity3d,rotation,blender,C#,Unity3d,Rotation,Blender,所以我在搅拌机里创建了一个旋转模型,导入unity,一切都很好,我为我的hub场景准备了一个旋转脚本,旋转效果很好 现在进入代码,试图旋转枪管看向敌人,看起来不太好 这里有一个简短的游戏视频来演示这个问题 turrent的桶面对的是一个完全不同的地方,然后是敌人我更愿意用代码解决这个问题,而不是从头开始重建模型,所以这就是我目前正在做的(那不起作用) private void Update(){ FlameForgedTime.UpdateTime(); 如果(isInGame){ 重新生成h
private void Update(){
FlameForgedTime.UpdateTime();
如果(isInGame){
重新生成hitpoint();
//寻敌
if(FlameForgedTime.Time-lastAttack>StatsHelper.Instance.GetStatValue(Stat.Speed)){
Collider[]col=Physics.OverlapSphere(transform.position,statHelper.Instance.GetStatValue(Stat.Range),LayerMask.GetMask(“敌人”);
如果(列长度!=0){
//找到最近的敌人
int closestinex=0;
float dist=Vector3.SqrMagnitude(col[closestIndex].transform.position-transform.position);
for(int i=1;i
因此,在我的turrent(父游戏对象)上,我有一个标签“Player”,因为turrent是在预加载场景中加载的,公共游戏对象字段无法访问
由于某种原因,Y轴是旋转轴
无论如何,我会找到离塔楼最近的敌人,然后进行观察,试图让炮塔观察敌人,然后向敌人射击。但是,正如您在视频中看到的那样,这并不能正常工作。模型上的“前进”轴(即枪管指向的方向)不符合Unity所说的前进轴
Unity中的“前进”沿正Z方向,因此您的模型与其变换的局部前进不一致(这是使用LookAt()
时指向事物的方向)。看起来您的模型是沿正X轴向前对齐的
有三种方法可以解决此问题:
LookAt()
后,按脚本旋转90度(不推荐)LookAt()
时指向事物的方向)。看起来您的模型是沿正X轴向前对齐的
有三种方法可以解决此问题:
LookAt()
后,按脚本旋转90度(不推荐)这里有一个简短的游戏视频来演示问题“视频在哪里?有一个链接说“演示”这是我单击视频链接时该视频链接不起作用的。它现在起作用了。这里有一个简短的游戏视频来演示问题“视频在哪里?有一个链接说“演示”这就是我点击视频链接时,它不工作的原因。它现在工作了。在搅拌机里旋转,你的意思是我需要做90度的旋转吗?还是我需要从头开始重建它?@FlamingGenius只需在搅拌器中旋转90度并保存它。在搅拌器中旋转是指我只需旋转90度?还是我需要从头开始重建它?@FlamingGenius只需在搅拌器中将它旋转90度,然后保存它。