(1)ベルトが動いているように見せるギミック
(スクリプト)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovingWalkway : MonoBehaviour
{
private MeshRenderer mesh;
void Start()
{
mesh = GetComponent<MeshRenderer>();
}
void Update()
{
float offset = Time.time * 0.5f;
mesh.material.SetTextureOffset("_MainTex", new Vector2(0, offset));
}
}
(実行結果)
- 模様が前方向に動いているように『見えれ』ば成功です。
(2)ベルトコンベアに乗せた物体を移動させる。
(スクリプト)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovingWalkway : MonoBehaviour
{
private MeshRenderer mesh;
void Start()
{
mesh = GetComponent<meshrenderer>();
}
void Update()
{
float offset = Time.time * 0.5f;
mesh.material.SetTextureOffset("_MainTex", new Vector2(0, offset));
}
// ★追加(物体を移動させる)
private void OnTriggerStay(Collider other)
{
other.transform.Translate(transform.forward * 1.3f * Time.deltaTime);
}
}
(実行結果)
- 物体には「Rigidbody」を追加
- 物体がベルトコンベアの上d運ばれているように見えれば成功