最近、キャラクター選択インターフェースをモデルを直接配置するかテクスチャを使用するか考えていたのですが、カメラでレンダリングしたテクスチャを使用してカンカンに貼り付けることを考えました。具体的な手順: RenderTexture を取得し
、それをモデル レンダリング専用のカメラ レンダリングに割り当ててから、ui の rawImage に割り当てるだけです:
コードは非常に単純です:
public Camera camera;
public RawImage rwimg;
public GameObject player;
RenderTexture rentex;
// Start is called before the first frame update
void Start()
{
//创建一张纹理
rentex = new RenderTexture(Screen.width, Screen.height, 0);
//清除背景颜色
camera.clearFlags = CameraClearFlags.SolidColor;
//将临时纹理赋给渲染模型的摄像机
camera.targetTexture = rentex;
//渲染纹理
camera.Render();
//将纹理赋值给rawimage,(ui)
rwimg.texture = rentex;
}
private float mox;
private void Update()
{
if (Input.GetMouseButton(0))
{
mox -= Input.GetAxis("Mouse X");
player.transform.rotation = Quaternion.AngleAxis(mox * 10, player.transform.up);
}
}
カメラ処理:
UI関連:
背景用に画像を撮ったのですが、上がRawmageです:
得られた効果:
最後に、できれば「いいね」をお願いします(いいねしてくれる人を見るたびに身も心も幸せな気持ちになります+α)達成感)
ps: 外観を追加します 問題:
携帯電話でのモデルのレンダリング深度に問題が発生します: 結果:
RenderTexture 深度を変更する必要があります: (混乱を明確にしてくれた上司に感謝します)
rentex.depth = 16;//或者24