如何在运行时将 GameObject(或 Transform ->object.transform)添加到父约束组件? https://docs.unity3d.com/ScriptReference/Animations.ParentConstraint.html
在检查器中,Unity 显示父控件组件采用变换作为源,如下图所示。在代码中,ParentConstraint.AddSource
需要一个 ConstraintSource 对象。但尝试在代码中执行此操作时,它会提示constraintSource不能是Transform
! https://drive.google.com/open?id=1YOdCQj6MWKgZkgfkaw0DDV5SlI_Apd35
ConstraintSource mySource = m_RealObjOnPlane.transform;//error - can't convert Transform to Animations.ConstraintSource
Xaxis.GetComponent<ParentConstraint>().AddSource(mySource);//AddSource only takes a ConstraintSource
期望我可以在运行时更改父控件的来源
最佳答案
ConstraintSource constraintSource;
void Start()
{
var go = new GameObject("Source");
var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
var parentConstraint = cube.AddComponent<ParentConstraint>();
constraintSource.sourceTransform = go.transform;
parentConstraint.AddSource(constraintSource);
}
所以在你的情况下,应该是这样的
mySource.sourceTransform = m_RealObjOnPlane.transform;
关于c# - Unity - 如何将运行时源添加到 ParentConstraint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56039340/