首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
代写program、代做C++程序设计
项目预算:
开发周期:
发布时间:
要求地区:
Installation steps for your laptop:
Install visual studio (2022 community edition is fine)
Latest visual studio is fine
When installing, choose
* Desktop development with C++
* Game development with C++
You don't need to install any other windows SDKs
If you want to use the directx texture tool you can install the old directx sdk from jun 2010:
old DirectX SDK has some good tools that we will use. (when installing, it might give you some
warnings, you can ignore those)
You will be running premake to generate visual studio solutions. They will be for older visual
studio (vs2015) but you can open them in 2022 version just fine.
Install cygwin
For cygwin, just install latest cygwin, default installation
Run cygwin once, it will create the user folder. In cygwin user folder, in .bashrc file (in my case
C:\cygwin\home\Artem\.bashrc) , append these lines to make cygwin handle files with windows
line endings properly(more info):
export SHELLOPTS
set -o igncr
make sure to use notepad++ or something that has good handling of line endings. Don't use
Notepad. Once lines are added, restart cygwin so it reloads with the new file.
Install Autodesk Maya
(use autodesk and free student license)
Note, at the moment the Maya tools for PrimeEngine wont work because of latest maya
versions using Python 3. I am fixing them.
Export PEWorkspace for a fairly shallow folder, like C:\projects. Don't install into a deep folder
and don't have spaces in the path
和一个PrimeEngine的文件包A1
[Task 1] Soldier #1 - Choose Between Waypoints
Add ability to specify more than one next waypoint (up to 3) in waypoint script. Then in code
choose one randomly whenever soldier chooses next waypoint. This should make Soldier #1
have a more randomized movement instead of circling the car.
Task 1 alternative: because we don’t have Maya working yet, what you can do is instead use
existing level and randomly choose either next waypoint specified , or waypoint specified after
next waypoint, effectively skipping one waypoint. This will still give a randomized choice of
where soldier goes next.
[Task 2] Soldier #2 - Tracking New Object
Create a new object type called Target (similar to what is done in first two tutorials). Add ability
to SoldierNPC to turn to the target and play shooting animation
(SoldierNPCAnimationSM::STAND_SHOOT). Trigger this ability on the soldier that goes into idle
(not the soldier that keeps running around the car). Note, it is acceptable to just repurpose
solider object as a target, by adding some parameters so that on code side you could use imrod
mesh instead of solider skinned mesh.
The target should be moving close to soldier. Doesn't really matter what movement pattern it is
(can be circling around soldier) as long as it moves and the soldier keeps turning towards it. Use
imrod mesh for the Target object.
Task 2 Alternative: we have sample code to create imrod mesh straight from code, you can use
that instead of going through process of creating new object through Maya. So you would just
hardcode creating of new object. You can also create SoldierNPC from code directly, if you
want. Creating a simple mesh object and give it some motion is much easier than creating a
soldier npc and changing which mesh it issues. We will discuss in class.
So end result will look like this:
The soldier moves to the point, stops, starts shooting at the target object .
For A2, when creating a target, it is enough to just debug draw a locator.
Just like we draw waypoints you can just debug draw text that says “target” and moves
around.Then the solider needs to aim at that.
Your submission will be a video recording of the results working and text file/commentary on
what was done.A2
In this homework you are going to concentrate on math and optimization. Currently all
renderable objects (s.a. meshes, skinned meshes) are always submitted to graphics pipeline for
rendering. This is quite inefficient considering that objects could be outside of camera view and
could be completely ignored.For this assignment, you will create bounding volumes for objects
and perform a culling test with camera view frustum. So if you have a bounding volume around
a mesh, and it does not intersect with camera frustum, it can be completely ignored. You will do
it for static meshes that are loaded from files.
1) Creating bounding volumes
You will create Axis Aligned Bounding Box around meshes. Note, AABB is axis aligned in local
mesh space, but can take any orientation when mesh is moved around in the world based on
orientation of SceneNode. You need to find where the mesh point information is stored and
analyze all the points to generate AABB
2) Showing bounding volumes
You will need to add helper functions to render a box and in debug renderer, similar to how
transforms are already being rendered for soldiers. This way, we will be able to see how well the
volumes have been generated. You might need to increase static limits of number of lines that
the renderer can handle.
3) Creating Frustum Plane Equations
You will need to create plane equations for camera frustum based on where camera is and
camera's field of view. I suggest having code that can generates plane equations for planes that
are a little closer than they should be, so you could see objects pop off the screen before they
are out of render camera view. This way it will be easy to test if your code is working.
4) Testing bounding volumes
Finally, you will need to use bounding volumes to test with camera view frustum and dismiss the
mesh instances that are not intersecting with camera view frustum.
5) Testing your code
I added code to spawn 100 imrods in ClientCharacterControlGame::initGame(), look for
spawnALotOfMeshes and set it to true to enable.Rendering all of them causes framerate drop. However with bounding volume check, framerate
goes higher. In case you have a monster machine that does not take performance hit rendering
100 imrods, make it a thousand imrods. So if your code works framerate should be almost the
same as running game without ever spawning imrods.
The final version of the assignment in your video should have the planes generated with a little
smaller fov so that we can see objects popping off before they are fully off the screen.
Your submission will be a video with description of how everything is working. Keep a copy of
your workspace with the solution in case we ask to upload it to perforce. Make sure to generate
planes with a smaller fov so we can see objects popping off.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代做ceng0013 design of a pro...
2024-11-13
代做mech4880 refrigeration a...
2024-11-13
代做mcd1350: media studies a...
2024-11-13
代写fint b338f (autumn 2024)...
2024-11-13
代做engd3000 design of tunab...
2024-11-13
代做n1611 financial economet...
2024-11-13
代做econ 2331: economic and ...
2024-11-13
代做cs770/870 assignment 8代...
2024-11-13
代写amath 481/581 autumn qua...
2024-11-13
代做ccc8013 the process of s...
2024-11-13
代写csit040 – modern comput...
2024-11-13
代写econ 2070: introduc2on t...
2024-11-13
代写cct260, project 2 person...
2024-11-13
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!