Questions about Camera Collision and Object Transparency

Post » Tue May 17, 2011 6:41 am

Camera collision: How do I determine what objects interact with camera? In third person view, the camera will move and jump around as it "collides" with walls and various other objects so the line of sight isn't obstructed. What I need is walls and objects that only doesn't collide with camera but still has all the other properties, ie. collides with other objects, is shootable (ie. shots don't go through it) and obstructs view for player and AI (ok, that last one is an assumption: I don't actually know if objects in the game actually obstructs AI's view. Do they?)

Transparency: Is there way to set any object, static or dynamic, to be transparent and then back to normal again with a script, like you can do to actors with SetActorAlpha? What I need is to be able to change objects transparency on the go depending on the conditions I will define in my script.

I'll be most grateful if you could answer these.
User avatar
GRAEME
 
Posts: 3363
Joined: Sat May 19, 2007 2:48 am

Post » Tue May 17, 2011 12:12 am

I don't think this is possible. I'm no expert, but it is my understanding that you would have to remove the objects collision from it for the camera to clip through, but this would also make nothing else collide with it. I do not believe there is a separate camera only collision mesh you could remove.
User avatar
LijLuva
 
Posts: 3347
Joined: Wed Sep 20, 2006 1:59 am

Post » Tue May 17, 2011 12:51 am

Could anyone confirm that? If that is correct, can the camera itself be altered so it doesn't collide with anything? Or, is it possible to detect which object(s) the camera collides with?

And how about object transparency?
User avatar
Charlotte Buckley
 
Posts: 3532
Joined: Fri Oct 27, 2006 11:29 am

Post » Tue May 17, 2011 2:20 pm

BUMP. Have people migrated to somewhere else for modding discussions or is it just slow days for FNV GECK forum?
User avatar
Helen Quill
 
Posts: 3334
Joined: Fri Oct 13, 2006 1:12 pm

Post » Tue May 17, 2011 4:46 am

I think what you are asking is not possible; that may be why no second person has come along to comment. There is a FNV forum at newvegasnexus which gets more traffic; but I don't think that will change your answer.
User avatar
Georgine Lee
 
Posts: 3353
Joined: Wed Oct 04, 2006 11:50 am

Post » Tue May 17, 2011 11:10 am

In an object's model-selection menu you can apply the "NullTextureSet" to make areas that use this texture invisible (the object will still be solid, however, i.e. you can't move through.) Don't use this on any objects with attached markers though (e.g. chairs or beds), or the GECK will crash the next time you open that cell.


To make transparent objects (i.e. glass instead of air) you need to modify the model in Nifskope and activate alpha properties, then apply a texture set with a normal map where the alpha channel is in a shade of grey.

To make a certain object transparent by script you need to make it a pair of activators - when the time has come enable the transparent one and disable the opaque one.


The only way to control the camera in this engine is by moving around the player. This is why cutscenes are quite rare, even the FNV endgame is done by moving the player to a room where he stands in front of a big screen.


So as usual it depends on what you're trying to do. A classic cutscene with the antagonist revealing the plot to his underlings shouldn't be much of a problem. If need be, you can create additional rooms just for the purpose of serving as stage for the cutscenes.

A general engine update with more camera options or even stuff like infrared scopes that allow you to see trough random walls is impossible.
User avatar
Colton Idonthavealastna
 
Posts: 3337
Joined: Sun Sep 30, 2007 2:13 am

Post » Tue May 17, 2011 2:17 pm

Thank you. It's interesting and frustrating that there's a way to determine actor transparency but not of objects. However, controlling the camera isn't my concern. I have no interest in cutscenes but anyway. Perhaps I should bother NVSE author(s), maybe if it is doable, there might be a way to get IDs of the objects the camera collides with.
User avatar
carrie roche
 
Posts: 3527
Joined: Mon Jul 17, 2006 7:18 pm

Post » Tue May 17, 2011 3:10 am

What is it exactly that you *are* trying to do? Perhaps we can suggest another approach. This series of games like Oblivion, FO3, FNV mostly assumes a first person camera. I find this a lot easier because in third person views, the camera often gets pushed to an awkward angle by scenery. If this is what you are trying to solve, I *highly* doubt that this can be improved by a mod. It is fundamental to the internals of the game engine.
User avatar
Alex [AK]
 
Posts: 3436
Joined: Fri Jun 15, 2007 10:01 pm

Post » Tue May 17, 2011 8:34 am

Thank you. It's interesting and frustrating that there's a way to determine actor transparency but not of objects. However, controlling the camera isn't my concern. I have no interest in cutscenes but anyway. Perhaps I should bother NVSE author(s), maybe if it is doable, there might be a way to get IDs of the objects the camera collides with.


And what are you going to do then? It is possible to get the reference of the object you're looking at with NVSE et al. This code could be expanded to include statics if it doesn't already. But the camera itself is no object following you, it's just the base-point for the rendering engine. We have no control of the camera itself, we cannot move it, and we certainly cannot determine which objects cause the camera to change its angle. That's too deep within the engine.

It *is* possible too hook into the rendering engine and take control from there and then handle this control over a script extender. If it can't be programmed, it can be done by soldering. But that's goes far beyond your standard Toolset-Mod or even script-interpreter expansion. And I doubt the handful of people with the talent (and the required knowledge about DirectX and the Gamebrio engine) are willing to get started without you telling them first what you're actually planning to do,

That said, there are camera-control options in the Gamesettings (just filter for camera) maybe you'll find something helpful there.
User avatar
Kelvin Diaz
 
Posts: 3214
Joined: Mon May 14, 2007 5:16 pm

Post » Tue May 17, 2011 2:51 am

Assuming we are all using the same English, I still think my original description is clear enough:

"How do I determine what objects interact with camera? ... What I need is walls and objects that only doesn't collide with camera but still has all the other properties, ie. collides with other objects, is shootable (ie. shots don't go through it) and obstructs view for player and AI"

and

"Is there way to set any object, static or dynamic, to be transparent and then back to normal again with a script, like you can do to actors with SetActorAlpha?"

I appreciate the help, that's why I made the thread to begin with but I don't see where the subject of cutscenes and controlling the camera came from. At all.

in third person views, the camera often gets pushed to an awkward angle by scenery.


Yes, this is what I'm trying to find a workaround for.

How about shooting projectiles in the opposite direction of player ie. "towards the camera"? If I remember correctly, it was possible to get the IDs of objects your arrows hit in MW or OB with their respective script extender utilities. I remember at least one mod for either game that partly depended on this functionality. If the same is true with projectiles in NV / NVSE and you can shoot a projectile backwards, it should be possible to get the object reference of whatever is behind the camera to temporarily disable / enable it, if setting transparency is not possible. Yeah, that's a lot of ifs.

Or a less sound workaround might be an invisible and mute NPC that is figuratively "stuck" to the player and always aimed "towards the camera" (we can still get player's angles, right?) and fired non-stop a weapon made for this purpose but that would likely be very resource-hungry.
User avatar
Silencio
 
Posts: 3442
Joined: Sun Mar 18, 2007 11:30 pm

Post » Tue May 17, 2011 12:07 am

I don't see where the subject of cutscenes and controlling the camera came from. At all.

Thank you for explaining further. Many times when I write a post, it is clear in my head, but readers do not get the idea from the first couple of sentences.

Basically you want to find objects which are blocking the camera view, prevent the camera from sliding out of the way, and make the object transparent instead. If you don't think of this as controlling the camera, that's fine. Multiple people have the opinion what you describe is not possible for a FNV modder, and nobody has suggested any leads.
User avatar
maddison
 
Posts: 3498
Joined: Sat Mar 10, 2007 9:22 pm

Post » Tue May 17, 2011 6:03 am

Assuming we are all using the same English, I still think my original description is clear enough:

"How do I determine what objects interact with camera? ... What I need is walls and objects that only doesn't collide with camera but still has all the other properties, ie. collides with other objects, is shootable (ie. shots don't go through it) and obstructs view for player and AI"

and

"Is there way to set any object, static or dynamic, to be transparent and then back to normal again with a script, like you can do to actors with SetActorAlpha?"

I appreciate the help, that's why I made the thread to begin with but I don't see where the subject of cutscenes and controlling the camera came from. At all.


Controlling meant examining & monitoring as well as operating & regulating last time I checked, you can watch something and do nothing, but you can't properly direct something without feedback information.

You ask for a functionality that clearly falls unter the category controlling the camera. No matter how you wish to call it, taking the control of the camera away from the engine (even if you're just interested in the feedback-part) and transfering it to the script interpreter is not possible without massive engine modding.


I think we all understood what kind of functionality you are looking for, it's still unclear for what purpose you need it. If you want to buy "a gun", and you're asked for what you need it, answering "to shoot bullets" won't really persuade folks to help you in choosing the proper calibre for your game of choice.

There are several ways to create objects that don't interact with the camera, but they only work in cells you specifically made for that purpose or by modifying thousands of original objects.

You can disable certain objects when you know where the camera is supposed to be (cutscene) or, based from the player's current position and angle, you may be able to calculate the point where the camera currently is, broadcast this position in global variables and have all objects close to that point disable themselves. Of course all objects with that capabilty need to be activators, and a whole cell running these scripts will be so laggy, that it won't be playable for at least a decade.

If you want to make a mod with a tunnel so narrow that you can't properly pass trough in 3rd person, then there might be a solution for you.

If you want to make some kind of patch to make the camera move smoother in the whole game, forget it. This can't (currently) be done with GECK modding, or it would have been done already for Morrowind, Oblivion or Fallout 3. To create that functionality you'd need to hook into the engine, and at this point, instead of transfering the required data to your scripts, it would be much more efficient to solve the problem directly on engine level.
User avatar
I love YOu
 
Posts: 3505
Joined: Wed Aug 09, 2006 12:05 pm

Post » Tue May 17, 2011 1:25 am

That's a bit of a stretch of a definition of control but ok, if you say so. I want the camera to maintain it's position and distance without interference from game objects and become either transparent or disabled so the player can still see his or her character. Hopefully, this will be the ultimately sufficient explanation of my purpose.

Now that you mentioned calculating camera's position, well it might work I guess but can we get the camera distance through scripts? Is it stored in a global? And camera's position would need to be calculated every frame so wouldn't the math calulations be very taxing?

Interestingly enough, I found a few objects that seem to block AI's line of sight, can be shot with a weapon, physically collides with in-game objects AND lets the camera go right through. Thus replacing thousands (though I very much doubt that amount) of objects wouldn't be such a bad trade-off, assuming I could write a parser to automate the process. Disabling and enabling the objects would be a breeze after that.
User avatar
Ashley Tamen
 
Posts: 3477
Joined: Sun Apr 08, 2007 6:17 am

Post » Tue May 17, 2011 8:36 am

I want the camera to maintain it's position and distance without interference from game objects and become either transparent or disabled so the player can still see his or her character. Hopefully, this will be the ultimately sufficient explanation of my purpose.

No it isn't. We figured that out from your very first posting. Obviously we really don't speak the same english.

http://www.oxforddictionaries.com/definition/purpose
the reason for which something is done or created or for which something exists


The reason for needing a camera that doesn't interact with world objects cannot be "to make a camera that doesn't interact with world objects"; the only proper reasons that come to my mind are:
  • A cutscene where objects would get in the way.
  • A narrow cell that isn't properly navigable with the default camera behavior
  • General discontent with the current camera behavior and a desire to change it for the whole game.


1+2 can be realized with clever cell design.

3. is impossible without splitting all tiles into separate wall, floor and ceiling tiles, replacing all original tiles with activators made out of those new tiles, and running scripts on each of them, or maintaining a huge lookup list of references variables.

And camera's position would need to be calculated every frame so wouldn't the math calulations be very taxing?


Yes, but as I wrote, in a decade it should be playable (provided FNV still runs on Windows 13).
User avatar
Kelly Osbourne Kelly
 
Posts: 3426
Joined: Sun Nov 05, 2006 6:56 pm

Post » Tue May 17, 2011 8:20 am

Oh-kay. Whatever you say.
User avatar
Rach B
 
Posts: 3419
Joined: Thu Mar 08, 2007 11:30 am


Return to Fallout: New Vegas