Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - WinSTOP

Страницы: [1] 2
1
Вопросы и ответы по Unity3D / 3d max
« : Октябрь 21, 2012, 13:23:54 pm »
вот я сделал стекло в 3max, можно ли вытащить эффект стекла из 3d max и перетащить его в unity? и возможно это? так же и с другими эффектами железо, пластмасса, стекло, дерево и т.д можно их вытащить?

2
Вопросы и ответы по Unity3D / Дырки, уроку 8
« : Октябрь 13, 2012, 16:27:17 pm »
Делаю всё по уроку
Вот код:
var impactPrefab : GameObject;
var dist : float = 1000.0f;

function Start()
{
Invoke("Dead", time);
}

function Dead()
{
Destroy(gameObject);
}

function OnCollisionEnter(col : Collision)
{
Instantiate(impactPrefab, col.transform.position, Quaternion.identity);
Dead();
}

function Update()
{
var hit : RaycastHit;

if(Physics.Raycast(transform.position, Vector3.forward,hit,dist)){
 
if(hit.transform.tag == "wall"){

Instantiate(impactPrefab, hit.point + (hit.normal * 0.0001));

}

}

}
Unity пишет ошибку:
Цитировать
Assets/Shooting/JS_Script/BulletDestructor.js(29,12): BCE0023: No appropriate version of 'UnityEngine.Object.Instantiate' for the argument list '(UnityEngine.GameObject, UnityEngine.Vector3)' was found.
Он пишет что юнити не подходящая, из за чего? я её не давно обновил вроде норм должно быть всё.

3
Вопросы и ответы по Unity3D / 3 max вопросец
« : Октябрь 07, 2012, 20:13:11 pm »
Вообщем проблема такова при сохранении модели из 3d max в формат FBX и при перетаскивании этой модели в Unity, у этой модели нет текстуры.. Мне нужен человек точнее руки от него =) я скачал прикольного чечика для cs перетащил его в Max и сохраняю а он падлаа сохраняется без текстур =( Кто подскажет как сохранить текстуры?

4
Вопросы и ответы по Unity3D / Рейкаст и физика
« : Октябрь 04, 2012, 18:43:05 pm »
1)Подскажите, что нужно вставить, что бы при попадании рейкаста, объекты отлетали не в сторону а прямо? 
  var forward = transform.TransformDirection(Vector3.forward);
  var direction = transform.TransformDirection(Vector3.forward); 
  Debug.DrawRay(transform.position, forward * 10, Color.green);
  if(Physics.Raycast(Camera.main.ScreenPointToRay(Vector2(Screen.width/2,Screen.height/2)),hit,100)){
  if (hit.rigidbody)
  {
  hit.rigidbody.AddForceAtPosition(PowerShots * direction, hit.point);
  }
  }
2) Вопрос который меня волнует больше всего (можно ли с помощью рейкаста делать дырки от пуль?) мне не нужен вопрос, как это сделать мне ток нужно (можно ли это сделать)??

5
Вопросы и ответы по Unity3D / Texture
« : Октябрь 03, 2012, 09:17:14 am »
Вот начал изучать GUI потихоньку... Хочу отобразить текстуру, но так и не нашёл информацию об этом..
Вот код который я нашёл в инете:
windowPosition.x = int.Parse(GUI.TextField(Rect (100, 10, 40, 20), ""+windowPosition.x, 3));Вот, что у меня получилось:
var TexD: Texture;

var windowPosition:Vector2=Vector2(200,200);
var windowSize:Vector2=Vector2(96.0,96.0);

function OnGUI()
{
  windowPosition.x = int.Parse(GUI.TextField(Rect (100, 10, 40, 20), ""+windowPosition.x, 3));
  windowPosition.y = int.Parse(GUI.TextField(Rect (100, 30, 40, 20), ""+windowPosition.y, 3));
  windowSize.x = int.Parse(GUI.TextField(Rect (100, 50, 40, 20), ""+windowSize.x, 3));
  windowSize.y = int.Parse(GUI.TextField(Rect (100, 70, 40, 20), ""+windowSize.y, 3));
 
  GUI.DrawTexture(Rect(windowPosition.x,windowPosition.y,windowSize.x,windowSize.y),TexD,ScaleMode.StretchToFill);

}
Всё как бы работает, но потом захотелось убрать отображаемые координаты на экране..
вот тут я и запутался, что нужно удалить, что бы не отображались на экране цифры позиции Texture?
или мож кто знает поменьше способ, отображения текстуры и изменения её позиции, размеры?

6
Вопросы и ответы по Unity3D / Отключения скрипта
« : Октябрь 01, 2012, 17:11:17 pm »
Подскажите как отключить скрипт, через код? Возможно ли это?
Допустим Mouse Look..

7
Вопросы и ответы по Unity3D / Вращение камеры
« : Сентябрь 23, 2012, 16:13:27 pm »
Привет.. Я вас уже наверно достал) У меня два вопроса за которые я могу заплатить этому сайту, не очень много, но хотя бы)
1) Как вращать камеру при помощи кнопок?
2) Как сделать движение персонажа вперёд назад?
Эти два кода, как бы между собой должны переплетаться тоесть ходит человек (WS) а вращение камеры (AD)...

8
Вопросы и ответы по Unity3D / два управления
« : Сентябрь 22, 2012, 12:39:10 pm »
хочу по прикалываться с братом погонять двоём в гоночки)) нашёл код в инете гоночек..
одной машиной можно управлять и стрелочками и w s a d, помогите выявить где в этом коде спрятоно управление? уже замучался искать
#pragma strict

//maximal corner and braking acceleration capabilities
var maxCornerAccel=10.0;
var maxBrakeAccel=10.0;

//center of gravity height - effects tilting in corners
var cogY = 0.0;

//engine powerband
var minRPM = 700;
var maxRPM = 6000;

//maximum Engine Torque
var maxTorque = 400;

//automatic transmission shift points
var shiftDownRPM = 2500;
var shiftUpRPM = 5500;

//gear ratios
var gearRatios = [-2.66, 2.66, 1.78, 1.30, 1.00];
var finalDriveRatio = 3.4;

//a basic handling modifier:
//1.0 understeer
//0.0 oversteer
var handlingTendency = 0.7;

//graphical wheel objects
var wheelFR : Transform;
var wheelFL : Transform;
var wheelBR : Transform;
var wheelBL : Transform;

//suspension setup
var suspensionDistance = 0.3;
var springs = 1000;
var dampers = 200;
var wheelRadius = 0.45;

//particle effect for ground dust
var groundDustEffect : Transform;

private var queryUserInput = true;
private var engineRPM : float;
private var steerVelo = 0.0;
private var brake = 0.0;
private var handbrake = 0.0;
private var steer = 0.0;
private var motor = 0.0;
private var skidTime = 0.0;
private var onGround = false;
private var cornerSlip = 0.0;
private var driveSlip = 0.0;
private var wheelRPM : float;
private var gear = 1;
private var skidmarks : Skidmarks;
private var wheels : WheelData[];
private var wheelY = 0.0;
private var rev = 0.0;

//Functions to be used by external scripts
//controlling the car if required
//===================================================================
 
//return a status string for the vehicle
function GetStatus(gui : GUIText) {
gui.text="v="+(rigidbody.velocity.magnitude * 3.6).ToString("f1") + " km/h\ngear= "+gear+"\nrpm= "+engineRPM.ToString("f0");
}

//return an information string for the vehicle
function GetControlString(gui : GUIText) {
gui.text="Use arrow keys to control the jeep,\nspace for handbrake.";
}

//Enable or disable user controls
function SetEnableUserInput(enableInput: boolean)
{
queryUserInput=enableInput;
}

//Car physics
//===================================================================

//some whee calculation data
class WheelData{
var rotation = 0.0;
var coll : WheelCollider;
var graphic : Transform;
var maxSteerAngle = 0.0;
var lastSkidMark = -1;
var powered = false;
var handbraked = false;
var originalRotation : Quaternion;
};

function Start () {
//setup wheels
wheels=new WheelData[4];
for(var i=0;i<4;i++)
wheels[i] = new WheelData();

wheels[0].graphic = wheelFL;
wheels[1].graphic = wheelFR;
wheels[2].graphic = wheelBL;
wheels[3].graphic = wheelBR;

wheels[0].maxSteerAngle=30.0;
wheels[1].maxSteerAngle=30.0;
wheels[2].powered=true;
wheels[3].powered=true;
wheels[2].handbraked=true;
wheels[3].handbraked=true;

for(w in wheels)
{
if(w.graphic==null)
Debug.Log("You need to assign all four wheels for the car script!");
if(!w.graphic.transform.IsChildOf(transform))
Debug.Log("Wheels need to be children of the Object with the car script");

w.originalRotation = w.graphic.localRotation;

//create collider
var colliderObject = new GameObject("WheelCollider");
colliderObject.transform.parent = transform;
colliderObject.transform.position = w.graphic.position;
w.coll = colliderObject.AddComponent(WheelCollider);
w.coll.suspensionDistance = suspensionDistance;
w.coll.suspensionSpring.spring = springs;
w.coll.suspensionSpring.damper = dampers;
//no grip, as we simulate handling ourselves
w.coll.forwardFriction.stiffness = 0;
w.coll.sidewaysFriction.stiffness = 0;
w.coll.radius = wheelRadius;
}

//get wheel height (height forces are applied on)
wheelY=wheels[0].graphic.localPosition.y;

//setup center of gravity
rigidbody.centerOfMass.y = cogY;

//find skidmark object
skidmarks = FindObjectOfType(typeof(Skidmarks));

//shift to first
gear=1;
}

//update wheel status
function UpdateWheels()
{
//calculate handbrake slip for traction gfx
  var handbrakeSlip=handbrake*rigidbody.velocity.magnitude*0.1;
if(handbrakeSlip>1)
handbrakeSlip=1;

var totalSlip=0.0;
onGround=false;
for(w in wheels)
{
//rotate wheel
w.rotation += wheelRPM / 60.0 * -rev * 360.0 * Time.fixedDeltaTime;
w.rotation = Mathf.Repeat(w.rotation, 360.0);
w.graphic.localRotation= Quaternion.Euler( w.rotation, w.maxSteerAngle*steer, 0.0 ) * w.originalRotation;

//check if wheel is on ground
if(w.coll.isGrounded)
onGround=true;

var slip = cornerSlip+(w.powered?driveSlip:0.0)+(w.handbraked?handbrakeSlip:0.0);
totalSlip += slip;

var hit : WheelHit;
var c : WheelCollider;
c = w.coll;
if(c.GetGroundHit(hit))
{
//if the wheel touches the ground, adjust graphical wheel position to reflect springs
w.graphic.localPosition.y-=Vector3.Dot(w.graphic.position-hit.point,transform.up)-w.coll.radius;

//create dust on ground if appropiate
if(slip>0.5 && hit.collider.tag=="Dusty")
{
groundDustEffect.position=hit.point;
groundDustEffect.particleEmitter.worldVelocity=rigidbody.velocity*0.5;
groundDustEffect.particleEmitter.minEmission=(slip-0.5)*3;
groundDustEffect.particleEmitter.maxEmission=(slip-0.5)*3;
groundDustEffect.particleEmitter.Emit();
}

//and skid marks
if(slip>0.75 && skidmarks != null)
w.lastSkidMark=skidmarks.AddSkidMark(hit.point,hit.normal,(slip-0.75)*2,w.lastSkidMark);
else
w.lastSkidMark=-1;
}
else w.lastSkidMark=-1;
}
totalSlip/=wheels.length;
}

//Automatically shift gears
function AutomaticTransmission()
{
if(gear>0)
{
if(engineRPM>shiftUpRPM&&gear<gearRatios.length-1)
gear++;
if(engineRPM<shiftDownRPM&&gear>1)
gear--;
}
}

//Calculate engine acceleration force for current RPM and trottle
function CalcEngine() : float
{
//no engine when braking
if(brake+handbrake>0.1)
motor=0.0;

//if car is airborne, just rev engine
if(!onGround)
{
engineRPM += (motor-0.3)*25000.0*Time.deltaTime;
engineRPM = Mathf.Clamp(engineRPM,minRPM,maxRPM);
return 0.0;
}
else
{
AutomaticTransmission();
engineRPM=wheelRPM*gearRatios[gear]*finalDriveRatio;
if(engineRPM<minRPM)
engineRPM=minRPM;
if(engineRPM<maxRPM)
{
//fake a basic torque curve
var x = (2*(engineRPM/maxRPM)-1);
var torqueCurve = 0.5*(-x*x+2);
var torqueToForceRatio = gearRatios[gear]*finalDriveRatio/wheelRadius;
return motor*maxTorque*torqueCurve*torqueToForceRatio;
}
else
//rpm delimiter
return 0.0;
}
}

//Car physics
//The physics of this car are really a trial-and-error based extension of
//basic "Asteriods" physics -- so you will get a pretty arcade-like feel.
//This may or may not be what you want, for a more physical approach research
//the wheel colliders
function HandlePhysics () {
var velo=rigidbody.velocity;
wheelRPM=velo.magnitude*60.0*0.5;

rigidbody.angularVelocity=new Vector3(rigidbody.angularVelocity.x,0.0,rigidbody.angularVelocity.z);
var dir=transform.TransformDirection(Vector3.forward);
var flatDir=Vector3.Normalize(new Vector3(dir.x,0,dir.z));
var flatVelo=new Vector3(velo.x,0,velo.z);
rev=Mathf.Sign(Vector3.Dot(flatVelo,flatDir));
//when moving backwards or standing and brake is pressed, switch to reverse
if((rev<0||flatVelo.sqrMagnitude<0.5)&&brake>0.1)
gear=0;
if(gear==0)
{
//when in reverse, flip brake and gas
var tmp=brake;
brake=motor;
motor=tmp;

//when moving forward or standing and gas is pressed, switch to drive
if((rev>0||flatVelo.sqrMagnitude<0.5)&&brake>0.1)
gear=1;
}
var engineForce=flatDir*CalcEngine();
var totalbrake=brake+handbrake*0.5;
if(totalbrake>1.0)totalbrake=1.0;
var brakeForce=-flatVelo.normalized*totalbrake*rigidbody.mass*maxBrakeAccel;

flatDir*=flatVelo.magnitude;
flatDir=Quaternion.AngleAxis(steer*30.0,Vector3.up)*flatDir;
flatDir*=rev;
var diff=(flatVelo-flatDir).magnitude;
var cornerAccel=maxCornerAccel;
if(cornerAccel>diff)cornerAccel=diff;
var cornerForce=-(flatVelo-flatDir).normalized*cornerAccel*rigidbody.mass;
cornerSlip=Mathf.Pow(cornerAccel/maxCornerAccel,3);

rigidbody.AddForceAtPosition(brakeForce+engineForce+cornerForce,transform.position+transform.up*wheelY);

var handbrakeFactor=1+handbrake*4;
if(rev<0)
handbrakeFactor=1;
var veloSteer=((15/(2*velo.magnitude+1))+1)*handbrakeFactor;
var steerGrip=(1-handlingTendency*cornerSlip);
if(rev*steer*steerVelo<0)
steerGrip=1;
var maxRotSteer=2*Time.fixedDeltaTime*handbrakeFactor*steerGrip;
var fVelo=velo.magnitude;
var veloFactor=fVelo<1.0?fVelo:Mathf.Pow(velo.magnitude,0.3);
var steerVeloInput=rev*steer*veloFactor*0.5*Time.fixedDeltaTime*handbrakeFactor;
if(velo.magnitude<0.1)
steerVeloInput=0;
if(steerVeloInput>steerVelo)
{
steerVelo+=0.02*Time.fixedDeltaTime*veloSteer;
if(steerVeloInput<steerVelo)
steerVelo=steerVeloInput;
}
else
{
steerVelo-=0.02*Time.fixedDeltaTime*veloSteer;
if(steerVeloInput>steerVelo)
steerVelo=steerVeloInput;
}
steerVelo=Mathf.Clamp(steerVelo,-maxRotSteer,maxRotSteer);
transform.Rotate(Vector3.up*steerVelo*57.295788);
}

function FixedUpdate () {
//query input axes if necessarry
if(queryUserInput)
{
brake = Mathf.Clamp01(-Input.GetAxis("Vertical"));
handbrake = Input.GetButton("Jump")?1.0:0.0;
steer = Input.GetAxis("Horizontal");
motor = Mathf.Clamp01(Input.GetAxis("Vertical"));
  }
else
{
motor = 0;
steer = 0;
brake = 0;
handbrake = 0;
}


//if car is on ground calculate handling, otherwise just rev the engine
  if(onGround)
HandlePhysics();
else
CalcEngine();

//wheel GFX
UpdateWheels();

//engine sounds
audio.pitch=0.5+0.2*motor+0.8*engineRPM/maxRPM;
audio.volume=0.5+0.8*motor+0.2*engineRPM/maxRPM;
}

//Called by DamageReceiver if boat destroyed
function Detonate()
{
//destroy wheels
for( w in wheels )
w.coll.gameObject.active=false;

//no more car physics
enabled=false;
}

@script RequireComponent (Rigidbody)
@script RequireComponent (AudioSource)
мне нужно что у одной машины было одно управление а в другой другое))

9
Вопросы и ответы по Unity3D / FPS
« : Сентябрь 16, 2012, 19:36:06 pm »
Подскажите максимальное FPS?
у меня на данный момент 735.8
когда игры начинают лагать?? просто интересно)) и чем потом снижать FPS?

[вложение удалено ]

10
Вопросы и ответы по Unity3D / Animation
« : Сентябрь 14, 2012, 19:28:34 pm »
Извините за часто задаваемые вопросы, но мне нужна помощь...
как сделать проверку, что бы действие не выполнялось если анимация перезарядки работает..
пример:
Начинаю перезаряжаться и нажимаю 2 переключается оружие номер 2 а надо, что бы сначала перезарядился а потом можно переключать.. 
вот нашёл код, но он не действует))
!animation.IsPlaying("Part")Part - переменная с анимацией перезарядки..
что не правильно??

11
Вопросы и ответы по Unity3D / String
« : Сентябрь 14, 2012, 14:43:27 pm »
Делаю имя оружию и столкнулся с проблемой.
пишу
var GunName = String;

а в gui
GUI.Label(new Rect(28,623,250,30), gunName + ":" + patronGUI + " / " + zaradGUI);

всё это из уроков, так вот как написать имя оружию? где-то я же должен написать как оружие называется)

12
Вопросы и ответы по Unity3D / Рендриит!!
« : Сентябрь 10, 2012, 17:45:30 pm »
Уже замучился с этими камерами, пытаюсь сделать прицел по уроку 3, всё получилось, но внизу пишет -> There are 2 audio listeners in the scene. Please ensure there is always exactly one audio listener in the scene.  я знаю, что это но не знаю как избавиться =( всё сделал по уроку 1 не помогает.. см скриншот..
к стати заметил, что у меня не пишет в строчке Culling Mask   (Player)...

[вложение удалено ]

13
Вопросы и ответы по Unity3D / Bullet
« : Сентябрь 08, 2012, 11:01:47 am »
привет у меня почему-то патрон пролетает сквозь стены еслив у него большая скорость. как можно исправить?
вот скрипт стрельбы
using UnityEngine;

using System.Collections;

public class Shoot : MonoBehaviour {

       public Transform _thePrefab;

   public int forceSpeed = 10000;

void Update () {

  if(Input.GetMouseButtonDown(0))

   {

Transform prefabInstance = (Transform)Instantiate(_thePrefab, GameObject.Find("SpawnPoint").transform.position,

                                                  Quaternion.identity);

prefabInstance.rigidbody.AddForce(transform.forward * forceSpeed);

}

}

}

он должен отбивать физические объекты а он через них пролетает, редко когда объекты отлетают...

14
Привет.Помогите пожалуйста разобраться
вот скрипт стрельбы:

public var bulletImpulse = 300;
public var shootSpeed = 1;
public var bullet : GameObject;
function Update () {
if (Input.GetKeyDown(KeyCode.Mouse0)) {
var bull_clone : GameObject;
bull_clone = Instantiate(bullet, transform.position, transform.rotation);
Physics.IgnoreCollision(bull_clone.collider, collider);
bull_clone.rigidbody.AddForce(transform.forward*bulletImpulse, ForceMode.Impulse);
}
}
как сделать, что бы патрон летел в прицел а лучше как во всех норм играх куда целишься туда и летит патрон..
у меня летит туда куда смотрит дуло. помогите пожалуйста...
к стати у оружия на конце есть маленький объект (SpawnPoint) из него и вылетают патроны))

Желательно на js а то потом на c# фиг чё найдёшь (перезарядку и т.п)

15
Вопросы и ответы по Unity3D / Анимация
« : Август 24, 2012, 19:08:46 pm »
Привет. Вот у меня такая картина см.рис... Тут изображена типо дверь и кнопка у обоих есть анимация. Как можно сделать так еслив прицел наведён на кнопку и player находится рядом с ней и нажал ЛКМ проигрывалась один раз анимация у обоих объектов? анимация типо дверь отодвигается и кнопка тож
Помогите пожалуйста.
Код я думаю должен выполнятся так
еслив нажата лкм и курсор мыши направлен на кнопку то проиграть один раз такую-то анимацию. 

[вложение удалено ]

Страницы: [1] 2