我在球体表面移动一个刚体(字符),就像描述的这里一样。
我面临着一个我很难解决的问题:在移动角色之后,它开始在它的Y轴附近稍微旋转。
顺便提一句,我使用的是Ammo.js,它是项目2.82的javascript/we决策层端口,但这对问题没有影响。
要将玩家(具有圆柱形的动态刚体)“粘贴”到球体(带有球体形状的静态刚体),下面是在每个游戏循环迭代中调用的代码:
function applyAttraction() {
let sphereOrigin = this.body.getWorldTransform().getOrigin();
let characterOrigin
我正在建立一个非常简单的汽车驾驶游戏在团结。
我有一个播放器对象,看起来如下:
📷
正如您所看到的,我有一个Rigidbody2d组件附加到这个对象,以及一个名为"PlayerScript“的脚本。
下面是这个脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerScript : MonoBehaviour
{
Rigidbody2D carRigidbody;
Vector3 turnVector;
Vecto
其目标是在SceneKit中模拟摄像机,并让用户通过平移屏幕来平移摄像机的视角。
下面的代码模拟了摄像机在水平方向上的摇摄,但是如何解释垂直方向上的同时平移呢?
你会不会只是连接另一个旋转,但改变X轴和基于平移.y(使数量用户垂直平移)?还是有更好的方法?
func doPan(sender: UIPanGestureRecognizer) {
// Get horizonal pan distance & convert to radians
let translation = sender.translationInView(sender.view!)
va
我正在尝试重新创建一个“GTA风格”的第三人相机在团结。我创建了代码,使播放器按照摄像机指向的方向旋转。然而,相机是播放器的一个子级,所以当我旋转播放器时,我也会旋转相机。所以我必须重新设置相机的Y旋转。在的“转弯”中,有一两个画面会让摄像机朝不同的方向看。
剧本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ThirdPersonCamera : MonoBehaviour
{
public float rotationSpeed = 2f;
摄像机跟随Rigidbody2D抖动每几秒钟与背景(非刚体)物体(障碍)。剖面仪中的FPS很好,接近100。内插也很好。使用统一2017.4.12 (LTS)
GIF
摄像机跟随脚本
public class CameraFollow : MonoBehaviour {
public float followRange = 0.5f;
public float cameraZ;
public Transform Player;
public Vector3 newPos;
void Start () {
所以我被困在球员的移动总共15个小时。我的玩家在它移动的时候会紧张不安。我注意到,如果:( A)我将CamPos代码放在与PlayerMovement代码B相同的lateUpdate()函数中,那么如果我在项目设置中降低了固定的时间步长(使抖动不那么明显),我想要使它不让玩家使用正确的方法抖动。我的球员失去了isKinematic,因为它使他通过墙壁。我使用刚体movePosition移动,因为我不知道如何使用rb.velocity使播放器朝着与摄像机相同的方向移动。
我用相机拍摄第三人,用刚体做动作。下面是我在播放器PlayerMovement上的当前代码:
using System.Col
我使用unity 2018.3.5f1,所以这个问题的一些解决方案不起作用。
从Roll-A-Ball演示项目开始,我想扩展相机脚本以跟踪玩家,同时跟踪移动的方向。例如:如果球开始向一侧移动,我需要摄像机绕球员的轴旋转到他后面的位置,然后开始跟踪他。
我试着让相机成为我试图控制的球的孩子,我试着写一个脚本,但它不能正确地跟随球,它一直在旋转相机和球(我正在使用这段代码,并试图修改它,因为它是唯一有效的)。
下面是我目前掌握的代码:
using UnityEngine;
using System.Collections;
public class CompleteCameraControlle