Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

GL.MultiTexCoord2

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public static function MultiTexCoord2(unit: int, x: float, y: float): void;
public static void MultiTexCoord2(int unit, float x, float y);

Параметры

Описание

Устанавливает текстурные координаты (x,y) текстурному блоку unit.

В OpenGL это соответствует glMultiTexCoord для данного текстурного блока, если мультитекстурирование доступно. В других графических API эта функциональность эмулируется.

Эта функция может вызываться только между функциями GL.Begin и GL.End.

	// Changes between two textures assigned to a material
	// When pressed space
	var mat : Material;
	private var flagTex : boolean = true;
	function Update() {
		if (Input.GetKeyDown(KeyCode.Space)) {
			if(flagTex) {
				flagTex = false;
			} else {
				flagTex = true;
			}
		}
	}

function OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(1); GL.LoadOrtho(); GL.Begin(GL.QUADS); if (flagTex) { GL.MultiTexCoord2(0,0,0); // main texture } else { GL.MultiTexCoord2(1,0,0); // second texture } GL.Vertex3(0.25,0.25,0); if (flagTex) { GL.MultiTexCoord2(0,0,1); } else { GL.MultiTexCoord2(1,0,1); } GL.Vertex3(0.25,0.75,0); if (flagTex) { GL.MultiTexCoord2(0,1,1); } else { GL.MultiTexCoord2(1,1,1); } GL.Vertex3(0.75,0.75,0); if (flagTex) { GL.MultiTexCoord2(0,1,0); } else { GL.MultiTexCoord2(1,1,0); } GL.Vertex3(0.75,0.25,0); GL.End(); GL.PopMatrix(); }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Material mat; private bool flagTex = true; void Update() { if (Input.GetKeyDown(KeyCode.Space)) if (flagTex) flagTex = false; else flagTex = true; } void OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(1); GL.LoadOrtho(); GL.Begin(GL.QUADS); if (flagTex) GL.MultiTexCoord2(0, 0, 0); else GL.MultiTexCoord2(1, 0, 0); GL.Vertex3(0.25F, 0.25F, 0); if (flagTex) GL.MultiTexCoord2(0, 0, 1); else GL.MultiTexCoord2(1, 0, 1); GL.Vertex3(0.25F, 0.75F, 0); if (flagTex) GL.MultiTexCoord2(0, 1, 1); else GL.MultiTexCoord2(1, 1, 1); GL.Vertex3(0.75F, 0.75F, 0); if (flagTex) GL.MultiTexCoord2(0, 1, 0); else GL.MultiTexCoord2(1, 1, 0); GL.Vertex3(0.75F, 0.25F, 0); GL.End(); GL.PopMatrix(); } }