forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Уроки (http://forum.boolean.name/forumdisplay.php?f=145)
-   -   Осваиваем Unity3d. Урок #1 (http://forum.boolean.name/showthread.php?t=12657)

SBJoker 18.06.2010 13:15

Ответ: Осваиваем Unity3d
 
Чистка темы завершена, аппеляции подавать в установленом порядке.

pax 18.06.2010 13:21

Ответ: Осваиваем Unity3d
 
Цитата:

Сообщение от Nuprahtor (Сообщение 150534)
Для новичков больше подходит JavaScript, к нему и справка отличная есть, и туториалы все с использованием JS.

А зачем потом переучиваться на C#, если сразу можно ему учится?

Но если будет желание, то можешь конвертировать мой код потом на JS, я не против ;)

Neodrop 18.06.2010 23:09

Ответ: Осваиваем Unity3d
 
Sergion на нашем форуме сегодня выложил свой IDE со всеми плюшками как для C# так и для JavaScript
Для начинающих, это хороший инструмент. Особенно потому, что позволяет удобно работать с обоими языками.
http://unity3d.ru/distribution/viewt...hp?f=84&t=2084

jfkkk 23.06.2010 01:34

Re: Осваиваем Unity3d
 
В качестве эксперимента скачал Xors, реализовал обозначенную мной выше задачу без особых трудностей. Охота сравнить с методом решения оной задачки в Unity.

Zer0n 24.06.2010 09:34

Ответ: Осваиваем Unity3d. Урок #1
 
pax, а у тебя какая версия Unity?

pax 24.06.2010 10:31

Ответ: Осваиваем Unity3d. Урок #1
 
Цитата:

Сообщение от jfkkk (Сообщение 150946)
В качестве эксперимента скачал Xors, реализовал обозначенную мной выше задачу без особых трудностей. Охота сравнить с методом решения оной задачки в Unity.

Хочется узнать мнение о сравнении решений...

Цитата:

Сообщение от SlavyanOOs (Сообщение 151162)
pax, а у тебя какая версия Unity?

2.6.1f3

Nex 24.06.2010 11:02

Ответ: Осваиваем Unity3d. Урок #1
 
Вопросы не по теме, но хз где спросить.
1) У меня при добавлении теней в Unity появляются черные линии кругов на объектах под источником света с тенями, версия такая же как в посте выше и эти круги в версиях с кряком и без (бесплатная). Как убрать эти круги? :)
2) Что делает "Vector3" (JScripts)? :)
з.ы. справка на английском поэтому не особо понятно и в справке много всяких ссылок по "Vector3".

pax 24.06.2010 15:37

Ответ: Осваиваем Unity3d. Урок #1
 
1) возможно используется точечный источник света с большим радиусом, тени от него получаются так себе. Попробуй уменьшить размер источника света или изменить качество теней установив его в настройках (Edit->Project Settings->Quality). Можно попробоавть поменять тип источника света на направленный.

2) Vector3 - это структура (вектор) определяющая положение или направление чего-либо в 3D пространстве. Описывается тремя составляющими координатами - X, Y и Z. Для работы с векторами надо изучить векторную алгебру (сложение, вычтание, умножение на число, произведения - скалярное и векторное).

jfkkk 29.06.2010 01:38

Re: Ответ: Осваиваем Unity3d. Урок #1
 
Цитата:

Сообщение от pax (Сообщение 151167)
Хочется узнать мнение о сравнении решений...

На первый взгляд не сложно. Но очевидно, что слезши с Блитца на Юнити сразу не пересядешь. Обладая навыками юзера Basic, на Юнити ничего не сделаешь, нужно изучать С, причем ab ovo ( " с самых яиц", как говорили латиняне). Пока повременю с изучением С#, все же уменя хобби - геймдев, а не программирование. Мне нужен более высокоуровневый двиг.
Ну вообщем, я изначально преполагал такой результат.
Мой код решения этой задачи на Xorse (с аццкими переборами)
Код:

; Include header file
Include "xors3d.bb"

; setup maximum supported AntiAlias Type
xSetAntiAliasType xGetMaxAntiAlias()

; set application window caption
xAppTitle "Simple_AI sample"

; initialize graphics mode
xGraphics3D 800, 600, 32, 0,0;False, True
xCreateDSS 1024, 1024
; set texture filtring
xSetTextureFiltering TF_ANISOTROPICX16

; hide mouse pointer
;xHidePointer()

; enable antialiasing
xAntiAlias True

; create camera
Global camera = xCreateCamera()
xCameraRange camera, 0.1, 1000
; position camera
xPositionEntity camera, 0, 5, -10
xCameraEnableShadows camera
xCameraProjMode(camera, 1)

;land
land= xCreateCube()
xScaleEntity land,1000,0.1,1000
xEntityColor land,50,100,20



; for mouse look
xMoveMouse xGraphicsWidth() / 2, xGraphicsHeight() / 2
mousespeed#      = 0.5
camerasmoothness# = 4.5

; create light
 light = xCreateLight(2)
xLightRange light,150
;xRotateEntity light, 45, 0, 0
xPositionEntity light, 0, 55, -2
;xLightColor light, 125, 255, 0

; shadows
xInitShadows(1024, 0, 1024)
; set shadows params
xLightEnableShadows light,True
xSetShadowParams 4, 0.85, True, 300
xLightShadowEpsilons light, 0.01, 0.0

Type player
Field ent,model
Field id$
Field old_Z#,old_X#,dist#,x#,z#
Field run_flag
End Type

Function create_player(x#,y#,z#,id)
p.player= New player
p\ent=xCreatePivot()
p\model=xCreateCube()
xEntityColor p\model, 255,25,25
xPositionEntity p\model, x#,y#,z#
xEntityType p\model,1
p\id$="player"+id

End Function

Function AI_player()
For p.player=Each player

    For b.bot=Each bot
      If xEntityDistance (p\model,b\model)<=5  Or xEntityCollided(p\model,bot)
        p\old_Z#=xEntityZ_#(p\model,1)
        p\old_X#=xEntityX_#(p\model,1)
        xTurnEntity( p\model, 0,(( -xDeltaYaw# ( b\model,p\model )*.5))+Rnd(90), 0 )
      EndIf
  Next

  ;run and checck distance between old position and new position
    p\x# = p\old_X# - xEntityX_#(p\model,1)
    p\z# = p\old_Z# - xEntityZ_#(p\model,1)
    p\dist# = Sqr(p\x#*p\x# + p\z#*p\z#)
    If p\dist#<10 xMoveEntity  p\model,0,0,.7
 

Next


End Function

For i=1 To 5
 create_player(Rnd(50),1,Rnd(50),i)
Next


Type bot
Field ent,model
Field id$,current_enemy$,nm
End Type


Function create_bot(x#,y#,z#,id,current_enemy$)
 b.bot= New bot
 b\ent=xCreatePivot()
 b\model=xCreateCube()
 xEntityColor b\model, 200,150,0
 xPositionEntity b\model, x#,y#,z#
 xEntityPickMode b\ent,1
 xEntityType b\model,1
 ;xNameEntity(b\model, Handle(b))
 ;b\nm=xEntityName
 b\id$="bot"+id
 b\current_enemy$=current_enemy$

End Function

For i=1 To 15
  create_bot(Rnd(250),1,Rnd(250),i,"player"+Rand(1,5))
Next


Function AI_bots()
For b.bot=Each bot
  For p.player=Each player
      If p\id$=b\current_enemy$
        xTurnEntity( b\model, 0,( xDeltaYaw# ( b\model,p\model )*.1), 0 )
        xMoveEntity  b\model,0,0,.1 
      EndIf
      ;check new enemy
      If p\id$<>b\current_enemy$
        If xEntityDistance (b\model,p\model)<5
            b\current_enemy$=p\id$
        EndIf
      EndIf
  Next
 
Next

End Function


Function info_bots()
For b.bot=Each bot
  xCameraProject camera,xEntityX_#(b\model,1),xEntityY_#(b\model,1),xEntityZ_#(b\model,1)
  xText xProjectedX#(), xProjectedY#(), "bot_id  "+b\id$
  xText xProjectedX#(), xProjectedY#()+15, "current_enemy  "+b\current_enemy$
Next
End Function


;set collisions
Const bot=1
xCollisions bot,bot,1,2

; main program loop
While Not xKeyDown(KEY_ESCAPE)

    ; camera control
    If xKeyDown(KEY_W) Then xMoveEntity camera,  0,  0,  1
    If xKeyDown(KEY_S) Then xMoveEntity camera,  0,  0, -1
    If xKeyDown(KEY_A) Then xMoveEntity camera, -1,  0,  0
    If xKeyDown(KEY_D) Then xMoveEntity camera,  1,  0,  0
    mxs# = CurveValue(xMouseXSpeed() * mousespeed, mxs, camerasmoothness)
    mys# = CurveValue(xMouseYSpeed() * mousespeed, mys, camerasmoothness)
    camxa# = camxa - mxs Mod 360
    camya# = camya + mys
    If camya < -89 Then camya = -89
    If camya >  89 Then camya =  89
    xMoveMouse xGraphicsWidth() / 2, xGraphicsHeight() / 2
    xRotateEntity camera, camya, camxa, 0.0

    AI_bots()
    AI_player()
   
    ; update animations
    xUpdateWorld()
   
    ; render scene
    xRenderWorld(1,True)
   
    If xKeyHit(23) info_enable=1-info_enable
    If info_enable info_bots()

    ; switch back buffer
    xFlip()
   
Wend

; for camera mouse look
Function CurveValue#(newvalue#, oldvalue#, increments)
    If increments >  1 Then oldvalue# = oldvalue# - (oldvalue# - newvalue#) / increments
    If increments <= 1 Then oldvalue# = newvalue#
    Return oldvalue#
End Function


Zer0n 07.07.2010 10:41

Ответ: Осваиваем Unity3d. Урок #1
 
Насчет Visual Studio: Express версии Unity не тянет, а Pro - да. 2010 Pro тянет также, проверял!

Maksim 20.07.2011 17:17

Ответ: Осваиваем Unity3d. Урок #1
 
Ребята, а как поставить сеточку плоскости 0XZ? только не смейтесь!

Lestar 20.07.2011 19:40

Ответ: Осваиваем Unity3d. Урок #1
 
Вложений: 1
Примерно так :

RegIon 12.11.2011 15:59

Ответ: Осваиваем Unity3d. Урок #1
 
решил перелезть на юнити...насчет редактора,почему нелбзя обойтись обычным??2.6 версия пойдёт

pax 12.11.2011 16:12

Ответ: Осваиваем Unity3d. Урок #1
 
Вот эта подойдет:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 1 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

RegIon 12.11.2011 16:31

Ответ: Осваиваем Unity3d. Урок #1
 
Цитата:

Сообщение от pax (Сообщение 209376)
Вот эта подойдет:
*** скрытый текст ***

спасибо,но я уже там-же нашёл чуууть постарей


Часовой пояс GMT +4, время: 08:40.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot