Cocos2d iphone 旋转关节狭窄

Cocos2d iphone 旋转关节狭窄,cocos2d-iphone,box2d,Cocos2d Iphone,Box2d,我的游戏中的主要玩家是一个使用旋转关节链接在一起的两足动物。这在大多数情况下都很有效,因为我可以限制每个关节的旋转,从而生成一个稍微逼真的biped。但是,当对两足动物施加大量的力时,两足动物的各个部分都会拉伸,看起来很可笑。有没有办法限制关节的弹性?另一个问题是,每个关节都不能完全限制旋转。这最终导致腿部摆动几乎360度。有没有办法确定这个接头有多严格?我曾考虑使用b2DistanceJoint,但这不允许我限制旋转。在Box2D中,计算移动两个连接实体的脉冲,以满足关节约束(例如,对于旋转关

我的游戏中的主要玩家是一个使用旋转关节链接在一起的两足动物。这在大多数情况下都很有效,因为我可以限制每个关节的旋转,从而生成一个稍微逼真的biped。但是,当对两足动物施加大量的力时,两足动物的各个部分都会拉伸,看起来很可笑。有没有办法限制关节的弹性?另一个问题是,每个关节都不能完全限制旋转。这最终导致腿部摆动几乎360度。有没有办法确定这个接头有多严格?我曾考虑使用b2DistanceJoint,但这不允许我限制旋转。

在Box2D中,计算移动两个连接实体的脉冲,以满足关节约束(例如,对于旋转关节,约束是锚定点和角度限制)。这些脉冲在两个物体之间共享,以便考虑它们质量的影响

两个质量相等的实体将同时移动以更正关节约束。当物体有不同的质量时,较轻的物体倾向于“服从”较重的物体,并且比较重的物体更容易移动以纠正约束,就好像它们之间存在某种“啄食顺序”。当一个较轻的物体连接到两个较重的物体时,会出现问题,并且两个物体都被“啄”了,这几乎不会导致两个关节的约束同时得到满足

避免这种情况的一种方法是确保这种啄食顺序只有一种方式,例如,biped的躯干是最重的身体,所有连接的身体都会随着距离躯干越远而变得越轻。这一过程一直持续到他在手臂末端抓住比身体更重的东西,此时啄食顺序变得冲突


我猜你是想让两足动物抓住一些重的东西然后被拉,而不是被拉开?你可以用一个绳接头将重物连接在一起,这样可以设置两点之间的最大距离。例如,如果他发现自己处于某种可怕的境地,比如一只手挂在悬崖边上,另一只手抓住悬挂在他下面的宠物大象,你可以用一个绳子接头将悬崖和大象连接在一起,绳子接头的长度与他双手之间的最大距离一样长。这将使他看起来超级强壮(他必须首先尝试这样做),因为啄食顺序直接从悬崖到大象,并完全跳过他。

在Box2D中,计算了移动两个连接体的脉冲,以满足关节约束(例如,对于旋转关节,约束是锚定点和角度限制)。这些脉冲在两个物体之间共享,以便考虑其质量的影响

两个质量相等的物体都会均等地移动以纠正关节约束。当两个物体的质量不同时,较轻的物体倾向于“服从”较重的物体,并且比较重的物体移动更多以纠正约束,就好像它们之间存在某种“啄食顺序”。当较轻的物体连接到两个h两个关节都会受到“啄”,这几乎不会导致同时满足两个关节的约束

避免这种情况的一种方法是确保这种啄食顺序只有一种方式,例如,两足动物的躯干是最重的身体,所有相连的身体都会随着离躯干的距离越来越远而变得更轻。这种方法一直有效,直到他在手臂末端抓住比身体重的东西,此时啄食顺序就会发生冲突


我的猜测是,你试图让两足动物抓住重物并被拉,但却没有被拉开?你可以通过一个绳接头将重物连接在一起来实现这一点,绳接头设置了两点可以分开的最大距离。例如,如果他发现自己处于某种可怕的境地,比如用绳子挂在悬崖边上一只手,用另一只手抓住悬挂在他下面的宠物大象,你可以用一个绳子接头将悬崖和大象连接在一起,绳子接头的长度与他两手之间的最大距离一样长。这将使他看起来超级强壮(他甚至必须首先尝试这样做)因为啄食顺序直接从悬崖上跳到大象身上,完全跳过了大象。

谢谢。这解决了问题。也谢谢你关于绳接头的想法。谢谢。这解决了问题。也谢谢你关于绳接头的想法。