я вопрос с переходом по этажам решил так: отключаю коллайдеры пола, ставлю на +1000.у и включаю обратно. Это меня устраивает.
НО! не могу решить, казалось бы элементарную задачку: читать пиксели GrayScale-текстуры и там где черная точка - ставить кубик.
Пример из справки неработает
Code
var heightmap : Texture2D; var size = Vector3 (100, 10, 100); function Update () { var x : int = transform.position.x / size.x * heightmap.width; var z : int = transform.position.z / size.z * heightmap.height; transform.position.y = heightmap.GetPixel(x, z).grayscale * size.y; }
я изменил его под себя:
Code
public var col1:float=128; public var col2:float=128; public var xr:float=1.2; public var zr:float=1.2; public var yi:float=1.8; public static var icm: Transform; var prefab : Transform; var t2d:Texture2D; function Start () { var colo:Color=Color(0,0,0,0);
var xp = prefab.position.x; var zp = prefab.position.z;
for (var j : int = 0; j < col1; j++) { for (var i : int = 0; i < col2; i++) { colo=t2d.GetPixel(j, i);
if (colo.r<0.5) { icm=Instantiate (prefab, Vector3(xp-i*xr,prefab.position.y, zp-j*zr), Quaternion.identity); icm.name="icu"+i+j; }
} } prefab.transform.renderer.enabled=false; }
а он пишет свое: Texture 'nametexture' is not readable, the texture memory can not be accesse from scripts. You make the texture readable in the TextureImport Settings.
- Что за бред?? ... я не собираюсь её менять, мне надо прочитать пиксель по координатам (x,y) я же не SetPixel делаю... а найти TextureImport Settings я не смог. Где это? Моя страничка по дизайну GameDev//Design//3D Ютубчик
я даже не думал что с этим возникнут сложности. НО...
вот задача: камера находится в некой точке и можно смотреть по сторонам, видны активные точки ткнув на которые мы должны плавно перенять коортдинаты той точки, т.е переместится плавно и повернутся на такой же угол. Как только мы выбрали цель - он меняет свойства (цвет, размер, текстуру) и ждет нашего прибытия. - ЭТО решено. Встав на нужное место м ы опять переходим в режим MouseLook - можем опять глядеть по сторонам.
Я нагуглил кучу вариантов и просто запутался.
проблема в том что при перемещении игнорируются коллайдеры, иногда я вообще сквозь пол проваливаюсь.
Вот мой код:
Code
function LateUpdate () { if (target) { if (smooth) { var rotation = Quaternion.LookRotation(target.position - transform.position);
RipDev, для такой простой задачи качать iTween? да там же элементарщина: от точки к точке... 10 - 20 строк JS-кода. просто я чего-то у себя не учел вот и глючит Моя страничка по дизайну GameDev//Design//3D Ютубчик
а я опять с своим вопросом: Как сделать плавное передвижение по WayPoints? Я убрав вообще все коллайдеры получаю тот же результат - камера тормозит не долетев до цели
Code
function Update () { var rotation = Quaternion.LookRotation(target.position - transform.position); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * damping);
задача такая: есть множество тестур-изображений, но все они должны показываться в кружочках, для этого я в ФШопе им делаю маску круглую и в PNG сохраняю.
Но я думаю что существует такой шейдер, чтоб я GrayScale-картинку с изображением накладывал (multiply) на основное изображение, и потом такая трансформация типа GrayScale-to-Alpha - и получалось изображение с альфой.
Я умею так делать во флеше на AS2. В Blitz3D тоже делал, но как работать с шейдерами НЕзнаю.
все что смог понять - это как менять цвет material.SetColor('color',Color(RGBA))
M1ghtMortal, НЕ ТО! нужно как-бы обмануть Unity, например у объекта написаны свои обработчики на нажатие клавиш, а я хочу продублировать клавиши визуальной клавиатурой, на которую можно тыкать мышей, и чтоб при нажатии на ее кнопки (GUI-элементы) объект думал что это нажимается на клавиатуре.
Я подобные фокусы делал еще давно в Delphi посредством WinAPI. я мог делать даже передавая это другим окнам Windows по их идентификатору.
Но в Unity никакого WinAPI нет, а SendMessage - выполняет совсем другую операцию
Добавлено (21.12.2011, 12:02) --------------------------------------------- зачем мне это надо:
я измучился со всякими LERPами, SLERPами, и TRANSLATE.
Все что мне надо:
есть перс :: стандартный FPS Input Controller у которого отключено CanContol=false;
а я могу только вертеть головой, выбирая цель. Найдя нужную цель - тыкаем по ней, происходит LookAt(<цель>) и плавное движение к нему Tarnslate.forward.
добравшись до объект и столкнувшись с его триггером происходит у у моего перса <цель>=null;
Code
function OnTriggerEnter(hit:Collider) {
if (hit.gameObject.tag=="Player") { gameObject.Find("fpcr").GetComponent("SmoothLookAt").target=null; transform.localScale=Vector3(0.1,0.1,0.1); } }
function OnTriggerExit(hit:Collider) { transform.localScale=Vector3(1,1,1); }
и я опять могу вертеться выбирая новую цель.
некоторые цели включают у моего перса CanContol=true. - чтоб я мог побегать
НО!
весь косяк в том, что при движении любым методом (Lerp, Slerp, Translate.forward) наткнувшись на объект с коллайдером движение прекращается (пробовал Update, LateUpdate, FixedUpdate) недобравшись до цели (которая при уже поменяла свойства при OnMouseDown на нее и ждет столкновения с персом. А я застрял не добравшийся...
либо я пролетаю сквозь цель, а если цель близка к полу то я могу запросто провалится сквозь него в бездну.
а сам FPS Input control работает корректно. я пробовал разобраться - но там какие-то velocity, CharacterMotor... - мне сложно понять
Есть такой инструмент как Awesomium который как я понял предоставляет WEB-браузерное окно как текстуру, ЭТОТ инструмент встроен в NeoAxis
а можно ли как-то такое сделать в UNITY. т.е. просто мне нужно показывать миниатюру сайта, как в ОПЕРЕ например. Чтоб можно было как текстуру это изображение использовать.
Юбилей компании на днях, видеопрезентация готова, а музыки нет...
должно быть что-то типа как Unreal Tournament старых версий, что-то типа торжественного марша но осовременено электроникой (т.к. наша компания занимается компами и разработкой софта) я просто даже не знаю на какую тему гуглить.
поначалу, когда я только скачал Unity я ошибочно думал, что он такой крутой, что читает все популярные форматы, но расстроился когда пытался воткнуть модель из 2009, в то время как на компе 2008 MAX.
после этого стал все через FBX делать.
как и HORAX пользуюсь 3d MAX5. для LOW-poly хватает сполна.
Косяки бывают с анимациями, когда много связей через Dummy
а разные модификаторы - накачал в свое время разных плагинов, так что он круче любого нового MAXa...
как думаете, если я например создал ремейк когда-то знаменитой игры или объединил персонажей из 2 или 3 популярных в прошлом игр, но при этом покажу обязательно их логотипы, и скажу что игра создана по мотивам <nameGame> ЭТО будет считаться преступлением?
например: давно как-то начал делать игру DooM vs Quake в 2D на флеше 8 (as2)
я отрендерил движения монстров в виде сбоку и загнал спрайты. показывал друзьям - так просто, чтоб поржать...
а недавно подумал о том чтоб все привести в приличный вид и куда-нибудь выложить.
а не приедет ли потом ко мне Джон Кармак, чтоб мне голову оторвать за такие шуточки?