本文整理汇总了C#中Vector3.ConvertToJVector方法的典型用法代码示例。如果您正苦于以下问题:C# Vector3.ConvertToJVector方法的具体用法?C# Vector3.ConvertToJVector怎么用?C# Vector3.ConvertToJVector使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vector3
的用法示例。
在下文中一共展示了Vector3.ConvertToJVector方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OverlapMesh
public static JRigidbody[] OverlapMesh(Shape shape, Vector3 position, Quaternion rotation)
{
var list = new List<JRigidbody>();
JMatrix orientation = rotation.ConvertToJMatrix(), otherOrientation;
JVector pos = position.ConvertToJVector(),otherPosition, point, normal;
float penetration;
foreach (var body in Bodies)
{
if (body.Key.Shape is Multishape) continue;
otherPosition = body.Key.Position;
otherOrientation = body.Key.Orientation;
bool collide = XenoCollide.Detect(shape, body.Key.Shape, ref orientation, ref otherOrientation,
ref pos, ref otherPosition, out point, out normal,
out penetration);
if(collide) list.Add(body.Value);
}
return list.ToArray();
}
示例2: Raycast
//TODO make this threadsafe. Dangerous code
public static bool Raycast(Vector3 origin, Vector3 direction, out JRigidbody body, out Vector3 normal, out float distance)
{
body = null;
normal = Vector3.zero;
distance = 0;
if (IsInstance)
{
RigidBody b;
JVector n;
var v = Instance.World.CollisionSystem.Raycast(origin.ConvertToJVector(), direction.ConvertToJVector(),
null, out b, out n, out distance);
if (b != null && Bodies.ContainsKey(b))
{
body = Bodies[b];
if (body != null)
{
normal = n;
return v;
}
}
return false;
}
return false;
}