推进同化RScript

This commit is contained in:
2025-11-24 18:02:57 +08:00
parent fc8f48bc7e
commit 2e0d16db49
17 changed files with 400 additions and 864 deletions

View File

@@ -30,11 +30,6 @@ namespace Demo.Game
VirtualCamera = GetComponent<CinemachineVirtualCamera>();
}
public override IEnumerator LoadScript(string script)
{
yield return base.LoadScript(script);
}
public override IEnumerator UnloadScript()
{
yield return base.UnloadScript();
@@ -44,89 +39,73 @@ namespace Demo.Game
/// <summary>
/// 设置是否为正交相机
/// </summary>
/// <param name="arg"></param>
[Convention.RScript.Variable.Attr.Method]
public void SetOrthographic(string arg)
public void SetOrthographic(bool orthographic)
{
MainCamera.orthographic = ConvertValue<bool>(arg);
MainCamera.orthographic = orthographic;
}
/// <summary>
/// 设置相机视野角度
/// </summary>
/// <param name="arg"></param>
[Convention.RScript.Variable.Attr.Method]
public void SetFieldOfView(string arg)
public void SetFieldOfView(float fieldOfView)
{
MainCamera.fieldOfView = Parse(arg);
MainCamera.fieldOfView = fieldOfView;
}
/// <summary>
/// 设置正交相机的尺寸
/// </summary>
/// <param name="arg"></param>
[Convention.RScript.Variable.Attr.Method]
public void SetOrthographicSize(string arg)
public void SetOrthographicSize(float orthographicSize)
{
MainCamera.orthographicSize = Parse(arg);
MainCamera.orthographicSize = orthographicSize;
}
/// <summary>
/// 设置近裁剪面距离
/// </summary>
/// <param name="arg"></param>
[Convention.RScript.Variable.Attr.Method]
public void SetNearClipPlane(string arg)
public void SetNearClipPlane(float nearClipPlane)
{
MainCamera.nearClipPlane = Parse(arg);
MainCamera.nearClipPlane = nearClipPlane;
}
/// <summary>
/// 设置远裁剪面距离
/// </summary>
/// <param name="arg"></param>
[Convention.RScript.Variable.Attr.Method]
public void SetFarClipPlane(string arg)
public void SetFarClipPlane(float farClipPlane)
{
MainCamera.farClipPlane = Parse(arg);
MainCamera.farClipPlane = farClipPlane;
}
/// <summary>
/// 设置相机深度
/// </summary>
/// <param name="arg"></param>
[Convention.RScript.Variable.Attr.Method]
public void SetDepth(string arg)
public void SetDepth(float depth)
{
MainCamera.depth = Parse(arg);
MainCamera.depth = depth;
}
/// <summary>
/// 设置虚拟相机跟随目标
/// </summary>
/// <param name="targetName">对象相对路径</param>
[Convention.RScript.Variable.Attr.Method]
public void SetVirtualCameraFollow(string targetName)
public void SetVirtualCameraFollow(ScriptableObject target)
{
var target = FindWithPath(targetName, false);
if (target != null)
{
VirtualCamera.Follow = target.transform;
}
VirtualCamera.Follow = target.transform;
}
/// <summary>
/// 设置虚拟相机观察目标
/// </summary>
/// <param name="targetName">对象相对路径</param>
[Convention.RScript.Variable.Attr.Method]
public void SetVirtualCameraLookAt(string targetName)
public void SetVirtualCameraLookAt(ScriptableObject target)
{
var target = FindWithPath(targetName, false);
if (target != null)
{
VirtualCamera.LookAt = target.transform;
}
VirtualCamera.LookAt = target.transform;
}
/// <summary>
@@ -136,16 +115,12 @@ namespace Demo.Game
/// <param name="y">Y轴偏移</param>
/// <param name="z">Z轴偏移</param>
[Convention.RScript.Variable.Attr.Method]
public void SetVirtualCameraFollowOffset(string x, string y, string z)
public void SetVirtualCameraFollowOffset(float x, float y, float z)
{
var body = VirtualCamera.GetCinemachineComponent<Cinemachine.CinemachineTransposer>();
if (body != null)
{
body.m_FollowOffset = new Vector3(
Parse(x),
Parse(y),
Parse(z)
);
body.m_FollowOffset = new Vector3(x, y, z);
}
}
@@ -156,14 +131,14 @@ namespace Demo.Game
/// <param name="y">Y轴阻尼</param>
/// <param name="z">Z轴阻尼</param>
[Convention.RScript.Variable.Attr.Method]
public void SetVirtualCameraFollowDamping(string x, string y, string z)
public void SetVirtualCameraFollowDamping(float x, float y, float z)
{
var body = VirtualCamera.GetCinemachineComponent<Cinemachine.CinemachineTransposer>();
if (body != null)
{
body.m_XDamping = Parse(x);
body.m_YDamping = Parse(y);
body.m_ZDamping = Parse(z);
body.m_XDamping = x;
body.m_YDamping = y;
body.m_ZDamping = z;
}
}
@@ -174,13 +149,13 @@ namespace Demo.Game
/// <param name="y">Y轴阻尼</param>
/// <param name="z">Z轴阻尼</param>
[Convention.RScript.Variable.Attr.Method]
public void SetVirtualCameraLookAtDamping(string x, string y, string z)
public void SetVirtualCameraLookAtDamping(float x, float y, float z)
{
var aim = VirtualCamera.GetCinemachineComponent<Cinemachine.CinemachineComposer>();
if (aim != null)
{
aim.m_HorizontalDamping = Parse(x);
aim.m_VerticalDamping = Parse(y);
aim.m_HorizontalDamping = x;
aim.m_VerticalDamping = y;
}
}
}