2016-06-12 4 views
0

Я пытаюсь создать простую игру, в которой вы прыгаете с веревкой, привязанной к летающим островам. Я хочу, чтобы острова просто плавали, и когда он крюкает сам на этот остров, он начинает тянуть его к себе, но он также способен качаться на нем. После того, как он освободит острова веревки, он замедляется и останавливается (но, я думаю, это делается с помощью жесткого сопротивления). Можете ли вы рассказать мне, как этот скрипт мог работать, потому что у меня нет хорошей идеи сделать это.Сценарий плавающей жесткости в Unity

ответ

1

Вы должны отключить гравитацию для жесткого тела островов, в первую очередь. Таким образом, они будут плавать, но такие вещи, как инерция, будут применяться.

Если вы хотите, чтобы ваш персонаж тянуть острова к себе, когда захватывая их с помощью веревки, вы можете использовать Rigidbody.AddForce(Vector3 vec3) и передать вектор, противоположный направлению веревка направлена ​​на в качестве параметра (вы должны использовать Vector3.Reflect(), чтобы сделать это .)

Это поможет вам начать работу, но есть еще несколько способов улучшить эффект, например, при постепенном замедлении островов после их вытягивания. В таком случае я бы предложил умножить скорость острова на часть 1, но есть другие способы сделать это.

Смежные вопросы