【发布时间】:2017-06-19 20:38:06
【问题描述】:
我正在施法,我正在通过LookAt 设置它的方向。问题是LookAt 将我的拼写动画设置为游戏对象。我从中获取位置的对象具有比例(3、3、3)、网格渲染器、球体对撞机和刚体。 (其他对撞机在子对象上)。这是我用于施法的代码:
public void castSpell(GameObject caster, Transform otherTransform, float duration)
{
if(animationEnabled)
{
foreach(var a in animator)
{
foreach(var b in a.bools)
{
a.animator.SetBool(b.parameterName, b.parameterValue);
}
foreach(var i in a.ints)
{
a.animator.SetInteger(i.parameterName, i.parameterValue);
}
foreach(var f in a.floats)
{
a.animator.SetFloat(f.parameterName, f.parameterValue);
}
}
}
GameObject Temporary_Spell_Handler;
Temporary_Spell_Handler = Instantiate(_Spell, Spell_Emitter.transform.position, Spell_Emitter.transform.rotation) as GameObject;
ParticleSystemRenderer pr = Temporary_Spell_Handler.GetComponent<ParticleSystemRenderer>();
float dist = Vector3.Distance(caster.transform.position, otherTransform.position);
//Add Spell Script to the casted spell so it handes damage and everything about spells.
Spell tempSpell = Temporary_Spell_Handler.GetComponent<Spell>();
tempSpell.caster = caster;
if(b_lenghtScale)
{
pr.lengthScale = -lenghtScale;
}
if(lookAtEnemy)
{
Temporary_Spell_Handler.transform.LookAt(otherTransform);
}
Destroy(Temporary_Spell_Handler, duration);
}
下面是图片的样子:
我发现了问题。我的ball 被缩放到 (3, 3, 3),所以它向上并且对象的枢轴保持向下。那么我该如何克服这个问题呢?
【问题讨论】:
-
我不确定是什么问题。您能否添加您预期会发生的情况的屏幕截图?
-
您会看到闪电击中地面,而不是击中球(谈论雷的中心)。所以我想以某种方式改变角度。
-
这完全取决于那里的对象的设置和性质。如果闪电的图形与游戏对象的轴不对齐,则需要修复图形。如果预制平面未与轴对齐,则需要修复。如果预制轴没有指向您希望它指向的位置,那么这完全是一个不同的问题。我无法从您发布的图片中判断它是哪一个。
-
你能告诉我我还应该为你打印什么屏幕以便我一次发布所有图像
-
这更像是一个过程:当闪电出现时暂停场景并检查对象以查看父对象(克隆的预制件)是否指向正确的方向。如果它指向正确的方向,则检查每个孩子,直到找到哪个孩子的方向不正确。