0
我一直在试图让我的头部围绕我的相机移动解决方案。这些都需要通过工作参数和一些想法我曾尝试:RTS触摸相机机芯
- 相机运动/没有世界第一运动
- 光线投射到沿地形
- 触摸移动的工作方式是“抓”的地形准确地移动相机对你或者“推”它拿走
- 屏幕空间到世界空间不会因为相机
所以我的想法有领导的角度的工作,我设计一个解决方案,抢的Vector3指向光线落在fingerDown下的手指下的地面,然后将相机移动到与原点和移动点之间的真实世界距离相反的方向。如果那有意义的话。
我很困惑这个问题,因此可能有人确认或否认我的想法,并给出了明确的方式=)
我使用的是被称为LeanTouch(辉煌一块免费的脚本资产)的触摸输入,这是只要我的大脑想要去(笑)
var finger = Lean.LeanTouch.Fingers [Lean.LeanTouch.Fingers.Count - 1];
var ray = finger.GetRay();
int layerMask = (1 << 8);
Physics.Raycast (ray, out hit, Mathf.Infinity, layerMask);
InitialHit = hit.transform.position;
顺便说一下我在Unity我工作和C#
你对此感到困惑吗?你的解决方案对我来说看起来很标准:)(顺便说一下,尝试猜测光线投射的最大距离 - 距离越小,光线投射就会越快--Mathf.Infinity将工作得最慢) – JinJi
你的想法是走的路。只需计算您的触摸的三角洲位置,并将其应用于相机的每个帧的X和Z位置。相机的Y位置将等于height + hit.position(在执行Raycast(Camera.position,Vector3.down等)后) – Utamaru
即使附加了碰撞器,raycast似乎也不会撞到地形。我阅读了其他一些帖子,并尝试'如果(Terrain.activeTerrain.collider.Raycast(ray,out hit,1000f))''但没有运气。它没有看到地形.. – 4t0m1c