gpt4 book ai didi

c# - 可从 Inspector 编辑的转换列表

转载 作者:行者123 更新时间:2023-11-30 21:53:40 27 4
gpt4 key购买 nike

我正在使用 Unity 5,我需要创建一个变换列表,以便在检查器中修改它们(位置和旋转)以模拟不同的相机。此模拟用于演示,就像在演示期间自行移动的相机。

我目前有一个转换列表,但我不知道如何使它们在检查器中可修改并在运行时更改它们的位置?

编辑:2015 年 11 月 18 日

这是解决方案,如果在我 friend 的帮助下找到更了解团结真正作用的东西,希望它能对您有所帮助,再次感谢您的所有回复,它对我帮助很大 :D :

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class MoveCamera : MonoBehaviourSingleton<MoveCamera>
{
public List<Transform> cameraPositions = new List<Transform>();

private Transform m_Target;
private float m_Speed;
private bool m_Translate;
private bool m_Rotate;

public void SwitchToNext(int index, float speed)
{
m_Target = cameraPositions[index];
m_Translate = true;
m_Rotate = true;
}

public void Update()
{
if (m_Target != null && (m_Translate || m_Rotate))
{
float ratio = Time.deltaTime * m_Speed;
transform.position = Vector3.Lerp(transform.position, m_Target.position, ratio);
transform.rotation = Quaternion.Slerp(transform.rotation, m_Target.rotation, ratio);

if (Vector3.Distance(transform.position, m_Target.position) < 0.001f)
{
transform.position = m_Target.position;
m_Translate = false;
}
if (Quaternion.Angle(transform.rotation, m_Target.rotation) < 0.001f)
{
transform.rotation = m_Target.rotation;
m_Rotate = false;
}
}
}
}

最佳答案

好的,让我们看看这是否对您有帮助。(假设您想要这个,我会编写我的代码)您的场景中有 x 个游戏对象。

您将需要一个游戏对象列表。比方说你通过做得到它们

public List<GameObject> myObjectList = new List<GameObject>();
public List<Transform> myTransformList = new List<Transform>();
myObjectList = GameObject.FindGameObjectsWithTag("YourCustomTagHere");

foreach(Gameobject g in myObjectList)
{
myTransformList.Add(g.transform);
}

我不知道这段代码是否有效,我现在无法测试它,但我认为逻辑就在那里。继续尝试一些事情,无论您是否成功,都请提供一些反馈。

关于c# - 可从 Inspector 编辑的转换列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33733138/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com